Thứ Ba, 24 tháng 4, 2012

Tạo thumb cho bài đăng phổ biến

" Ức chế quá với cái thumb, bé tý xíu thế này, xấu thật... "

Đã bao giờ bạn phải thốt lên như thế này chưa. Định dạng mặc định của ảnh trong Blog  và PopularPosts là 72x72. Nhiều bạn không thích với định dạng này nhưng vẫn phải cố sử dụng như một sự ép buôc. Nhưng nếu dân tình kêu ca nhiều thì chắc Google cũng phải nghĩ đến giải pháp cho một cái biến ảnh ban đầu. Chờ thì hơi sốt ruột.



Mình đã tìm ra một quy luật rất hay muồn chia sẻ cùng các bạn, nếu các bạn để ý link thumb này sẽ có định dạnh như sau.

VD : https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4VAlJX8Yh0cUjXofpB49T_1VGFnjDsvQeiim4nhcoXLdcZvG1fkvoLrhpCfsylyy8bznLFFQWl3j1s0y3l2AmdmqU_PZHReem14aOeSWuWN5QtOPYlgrbYAblIF9tpZxCuhEyTt1RbJg/s72-c/xem-phim-Giay+thuy+tinh-maphim.net.JPG

Hãy chú ý đến phần mình bôi đỏ, đó chính là định dạng mà Google quy định. Nếu bạn thay thử các con số khác vào số 72 ta sẽ được các hình ảnh tương ứng với kích cỡ đó. Và nó là hình vuông.

Kích thước tối đa là 2000px.

Từ đó mình viết lên một hàm convertThumb có chức năng tương ứng createSummaryAndThumb, sử dụng thì chắc không khó. Áp dụng với cả 2 widget mà Blogspot đã cho. Mình nghĩ ưu điểm của hàm này so với hàm của các Blogger nước ngoài sẽ nhanh và tốt hơn.


Hàm convert :


function converthumb(img,s,w,h,url,tit){
if(Number(s) > 2000){s = 2000;}
img = img.replace(/s72/gi,"s"+s+"");
if(url != "" || tit != ""){
data = '<img alt="'+tit+'" src="'+img+'" width="'+w+'" height="'+h+'"/>';
}else{
data = '<a href="'+url+'" rel="'+tit+'"><img alt="'+tit+'" src="'+img+'" width="'+w+'" height="'+h+'"/></a>';
}
document.write(data);
}


Các biến truyền vào :
- img là link của các biến sau : data:post.thumbnailUrl (Blog), data:post.thumbnail (PopularPosts)
- s : kích thước bạn muốn convert từ 72 sang.
- w : chiều rộng của ảnh được hiển thị.
- h : chiều cao của ảnh được hiển thị.
- url : là link truyền vào data:post.href (PopularPosts), data:post.url (Blog)
- tit : tiêu đề truyền vào data:post.title (cả 2)

Sử dụng

 - Đầu tiên bạn copy và save với định dạng file convert.js sau đó up lên host nào đó.

1. Blog


VD: mình muốn lấy ảnh 800, rộng 300, cao 250


<b:if cond='data:post.thumbnailUrl'>
       <script>
        converthumb("<data:post.thumbnailUrl/>","800","300","250","","<data:post.title/>");
     </script>
<b:else/>
       <img src="http://megafun.vn/dataimages/201203/original/images682717_thienthan3.jpg" width="300" height="250"/> <!-- nếu không có thumb sẽ hiển thị ảnh này -->
</b:if>


2. PopularPosts

Tương tự:


<b:if cond='data:post.thumbnail'>
     <script>
        converthumb("<data:post.thumbnail />","800","300","250","","<data:post.title/>");
     </script>
 <b:else/>
<a  class='poster' expr:rel="data:post.title" expr:href='data:post.href'>
<img expr:alt="data:post.title" border='' height='250px' src='http://megafun.vn/dataimages/201203/original/images682717_thienthan3.jpg' width='300px'/>
      </a>
 </b:if>

Theo yêu cầu của netdohoa.com

Chúc các bạn thành công !

Chủ Nhật, 22 tháng 4, 2012

Tạo lại header cho chuẩn Seo

Như các bạn đã biết BlogSpot giờ không thua kém các người anh em cùng họ. Phần mô tả đã cung cấp đầy đủ đến tận các bài viết con (item).. Nhưng nhiều bạn chưa biết cách vận dụng hết các chức năng đó. Trong phần đầu tiên này mình sẽ giới thiệu về phần "Mô tả", có thể coi đây là tóm tắt nội dung của bài viết, giúp cho các rotbot có thể tìm kiêm dễ dàng.



Đầu tiên, các bạn vào phần  Cài đặt >> Tuỳ chọn tìm kiếm >>


- Bật phần mô tả lên, nội dung mà bạn gõ vào chính là phần mô tả ở trang home.

- Để hiện phần mô tả cho trang con thì làm như thế nào.


- Bạn copy một đoạn trong bài viết và dán vào dây.

Bạn có thể viewsource trang sau để thấy rõ :


Nhưng câu hỏi đặt ra như sau, nhiều khi bạn quên không copy, hay với data 1k bài viết có sẵn của bạn phải làm sao để có 1k mô tả. Bạn phải đi copy cho từng bài :((..Phát ốm luôn. !

Mình sẽ chỉ các bạn các fix sau đây.

Copy và thay thế đoạn code bạn đang có nằm giữa <head> và <b:skin>

<b:include data='blog' name='all-head-content'/>
<!-- title, keyword -->
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<title><data:blog.pageTitle/></title>
<meta content=' nhập các từ khoá của bạn ' name='keywords'/>
<b:else/>
<b:if cond='data:blog.pageType == "item"'>
<title>Thủ thuật <data:blog.pageName/> | 24h online </title>
<b:else/>
<title><data:blog.pageName/> - Teteit </title>
</b:if>
<meta name="keywords" expr:content="data:blog.pageName + &quot; nhập các từ khoá của bạn &quot;" />
</b:if>
<!-- meta -->
<meta name="robots" content="index, follow" />
<meta content="index, follow" name="GOOGLEBOT" />
<meta content="index, follow" name="yahooBOT" />
<meta name="author" content="suzuki_aka"/>
<!-- mota -->
<b:if cond='data:blog.metaDescription == &quot;&quot;'>
<b:if cond='data:blog.url != data:blog.homepageUrl'>
<meta name="description" expr:content="data:blog.pageName + &quot; nhập các mô tả chung, hoặc từ khoá &quot;" />
</b:if>
</b:if>

Các từ khoá màu đỏ là phần bạn sẽ thay. 

= > Cho dù bạn có quên copy thì bạn vẫn có một mô tả, nhưng để có 1 mô tả đẹp thì bạn nên copy một đoạn nhỏ vào mô tả tìm kiếm. Và giờ có 1k bài viết bạn cũng chả lo ngại gì.

Thêm một lưu ý rằng dòng lệnh :

<b:include data='blog' name='all-head-content'/>


rất quan trọng với blogspot, nếu có trót lỡ bỏ thì bạn hay thêm nó vào, nếu không bạn sẽ mất một vài index đấy ;)) . Nó bao gồm cả biến : data:blog.metaDescription (mình hay dùng nó thay cho data:post.snippet).

Bài viết sau chắc mình sẽ giới thiệu một số page 404 độc độc, nghịch nghịch một chút. Giờ cũng muộn rồi nên ngừng gõ ở đây.

Chúc các bạn thành công !