Thủ thuật Blogspot

Đây là chuyên mục về thủ thuật blogspot, trong chuyên mục này các bạn có thể tìm thấy các bài viết hướng dẫn thêm mới hoặc xóa bớt một số thành phần trong blogspot, tự làm một trang blogspot theo ý mình ...

Hi vọng các bạn sẽ thích các bạn viết tự code blogspot của mình!

Sau đây là các bài viết về thủ thuật Blogspot:

Tạo menu phụ cố định cho web trên giao diện mobile

Chào các bạn, hiện nay trải nghiệm người dùng đang được những người làm website quan tâm. Mỗi người đều có những ý kiến khác nhau về trải nghiệm người dùng. Tuy nhiên, quan trọng nhất vẫn là sở thích của mỗi người. Ngày hôm nay mình sẽ hướng dẫn các bạn cách tạo menu phụ cố định cho web trên giao diện mobile.

Tạo menu phụ cố định cho web trên giao diện mobile
Tạo menu phụ cố định cho web trên giao diện mobile

Ý tưởng

Chả là có người xem web thường xuyên thấy khó chịu về việc không tìm thấy menu nó ở chỗ mô. Rồi thì là và mà tại sao không làm cho cái menu nó fix luôn ở trên đi bla bla bla. Vấn đề là làm vậy nó sẽ che mất một ít nội dung và nhìn cũng không đẹp lắm. Tuy nhiên có người lại thích như vậy nên mình sẽ hướng dẫn các bạn một cách làm cực kỳ đơn giản. Các bạn có thể dùng để hiển thị menu hay thông tin liên hệ đều được. Đặc biệt, cách này có thể áp dụng cho blogspot hay wordpress đều ok và rất nhẹ nhàng không làm web bị năng khi tải trang.

Code tạo menu phụ cố định cho web trên giao diện mobile

Code HTML

<div class="fixmenu">
<input type="button" id="btn1" value="Menu" style="width: 25%; height: 50px;"/>
<div id="menudichvu" class="an">
<a class="dichvu" href="#">Dịch vụ 1</a>
<a class="dichvu" href="#">Dịch vụ 2</a>
<a class="dichvu" href="#">Dịch vụ 3</a>
<a class="dichvu" href="#">Dịch vụ 4</a>
<a class="dichvu" href="#">Dịch vụ 5</a>
<a class="dichvu" href="#">Dịch vụ 6</a>
</div>
        <script language="javascript">
var x = document.getElementById("menudichvu");
            document.getElementById("btn1").onclick = function () {
if (x.className === "an") {
                document.getElementById("menudichvu").style.display = 'block';
x.className ="hien";
} else {
document.getElementById("menudichvu").style.display = 'none';
x.className ="an";
}
            };
        </script>
</div>

Code CSS

#menudichvu {display:none;}
a.dichvu {display:block; background:#dedbdb;color: black;margin-bottom:2px;text-align:center;padding: 15px 5px 15px 5px;text-decoration:none}
a:hover.dichvu {background:#a3a3a3;color:white;}
#menudichvu {background-color:#63687a;min-height: 180px;}
.fixmenu {display:none;position: fixed;top: 15px;left: 0;width: 100%;z-index: 1000;}
#btn1 {margin-left: 79%;}
@media only screen and (max-width:800px) {
.fixmenu {display:block;}
}
Các bạn paste đoạn html vào trước thẻ </body>. Còn đoạn CSS các bạn chèn vào trong trước </b:skim> (đối với blogspot) hoặc chèn vào trong file style.css (đối với wordpress).

Chỉ vậy thôi là xong, có thể với các giao diện khác nhau nó sẽ bị xô lệch đi chút ít, các bạn sửa một chút kích thước trong CSS là được. Các bạn có thể chỉnh CSS cho đẹp hơn hoặc sử dụng nó như môt tiện ích khác trên website chứ không nhất thiết là phải dùng làm menu nhé. Đây là kết quả của mình:
Tạo menu phụ cố định cho web trên giao diện mobile
Tạo menu phụ cố định cho web trên giao diện mobile

Tạo nút cuộn trang cho Blogspot bằng CSS cực đơn giản

Thủ thuật Blogger - Trong một bài viết, nếu ngắn thì các bạn chỉ cần thao tác cuộn một lần là có thể cuộn từ đầu trang tới cuối trang và ngược lại. Nhưng với những bài viết dài, việc cuộn từ cuối trang lên đôi khi lại trở nên rắc rối với nhiều người (không biết nút Home hay hỏng cuộn ở chuột). Vì thế có một nút lên đầu trang trong web đôi lúc rất cần thiết. Hôm nay chúng ta cùng tạo nút cuộn trang cho Blogspot bằng CSS cực đơn giản nhé.

Tạo nút cuộn trang cho Blogspot bằng CSS cực đơn giản
Tạo nút cuộn trang cho Blogspot bằng CSS cực đơn giản
Lý do lựa chọn dùng CSS thay vì Javascrip hay Jquery: như trong những bài trước mình đã nói, khi làm một website yêu cầu cần phải load nhanh. Để làm được điều này cần hạn chế tối đa các hiệu ứng trên blog và tối ưu hóa hình ảnh. Do vậy, dù có rất nhiều cách làm nút cuộn trang cho blog nhưng mình sẽ dùng CSS để web có thể load tốt, nhẹ và nhanh nhất có thể.

Hướng dẫn tạo nút cuộn trang cho Blogspot bằng CSS cực đơn giản

Đầu tiên các bạn cần có một nút cuộn trang cho riêng mình. Để làm một nút cuộn trang các bạn hãy dùng các phần mềm như photoshop hoặc coreldraw nhé. Một cách nữa là các bạn có thể lên google tìm một số hình icon cuộn trang đẹp và tải về. Ví dụ mình tìm được một cái ảnh có đuôi .PNG như dưới đây.


Sau khi tải về máy mình tải ảnh đó lên trang này và lấy được link ảnh như sau:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhOq_0h-7xrUtXDE230kcShFnwGLymdtwAx4X6lqlXkED5YC98q6myXmRR4NP3ViApZVF8FgmsJNNwEceNBFxTZdbR09M5cCsg7kjy7IPCba-OrfTPT-pDHcpO4A3V3GAw1685JY-Pz9Q/s1600/Top.png
Tiếp theo, các bạn vào Bố cục -> Thêm tiện ích (thêm ở đâu cũng được) --> HTML/Javascript

Phần tiêu đề: bỏ trống

Phần nội dung: Paste đoạn sau vào phần nội dung:
<a style="display:scroll;position:fixed;bottom:5px;right:5px;z-index:1000;" href="#" title="Back to Top">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhOq_0h-7xrUtXDE230kcShFnwGLymdtwAx4X6lqlXkED5YC98q6myXmRR4NP3ViApZVF8FgmsJNNwEceNBFxTZdbR09M5cCsg7kjy7IPCba-OrfTPT-pDHcpO4A3V3GAw1685JY-Pz9Q/s1600/Top.png" alt="nút cuộn đầu trang"/>
</a>
Phần màu đỏ các bạn thay bằng link ảnh mà các bạn có nhé. Nếu không có ảnh thì cứ để nguyên như của mình cũng được. Trang của mình hiện đang dùng code này nên các bạn có thể xem demo trên trang này luôn.


Chúc các bạn thành công, nếu có vấn đề gì để lại comment mình sẽ giải đáp nhé.

Tối ưu giao diện để blogspot chuẩn SEO

Tự học Blogspot - Hiện nay có nhiều người SEO và mỗi người có một cách tối ưu khác nhau. Với blogspot, mình sẽ tối ưu giao diện để blogspot chuẩn SEO theo cách của mình, ai muốn làm khác thì cứ làm nhé, miễn sao SEO lên top là được chứ không quan trọng lắm đâu. 


Mục lục seri các bài viết hướng dẫn tự thiết kế blogspot:

  1. Xây dựng một trang blogspot như trang blogvuicuoilen (giới thiệu)
  2. Hướng dẫn tạo một trang blogspot (blogger)
  3. Tự thiết kế giao diện cho blogspot (dành cho người không biết code)
  4. Sắp xếp bố cục trong blogspot và thêm tiện ích cho các layout
  5. Thiết kế phần header cho blogspot
  6. Thiết kế menu cho blogspot
  7. Tùy chỉnh phần hiển thị nội dung của blogspot
  8. Tùy chỉnh sidebar cho blogspot
  9. Tùy chỉnh footer cho blogspot
  10. Thêm nút Share mạng xã hội cho blog của bạn
  11. Xây dựng giao diện mobile cho blogspot
  12. Thiết kế menu cho giao diện mobile
  13. Thêm nút cuộn trang bằng CSS cho Blogspot
  14. Tối ưu giao diện để blogspot chuẩn SEO
Tối ưu giao diện để blogspot chuẩn SEO
Tối ưu giao diện để blogspot chuẩn SEO

Tối ưu giao diện để blogspot chuẩn SEO - các tiêu chuẩn để web chuẩn SEO:

  • Toàn trang phải có 1 thẻ H1, có thể không cần H2 nhưng nếu có H3 thì nên có H2.
  • Nên có thanh điều hướng breadcrumbs
  • Trang chủ, chuyên mục, bài viết cần có title và meta description
  • Blog càng load nhanh càng tốt.
  • Trang càng nhiều text càng tốt.
Một số add-on cần cài đặt để hỗ trợ: Web Developer, Seoquake. Xem hướng dẫn cài đặt tại đây

1. Tối ưu thẻ thẻ heading <h1> <h2>

Tối ưu thẻ heading cho trang chủ

Sau khi kiểm tra trang chủ chúng ta sẽ thấy trên trang chủ không có H1, giờ ta sẽ dùng chính logo làm H1 và thêm H2 vào nhìn cho nuột nhé.

Vào Chỉnh sửa HTML --> Search "<a expr:href='data:blog.homepageUrl' style='display: block'>"

Thêm thẻ <h1> trước đoạn đó:
Nó sẽ thành như thế này:
<h1><a expr:href='data:blog.homepageUrl' style='display: block'>
<img expr:alt='data:title' expr:height='data:height' expr:id='data:widget.instanceId + &quot;_headerimg&quot;' expr:src='data:sourceUrl' expr:width='data:width' style='display: block'/>
</a></h1>
Vậy là logo đã trở thành H1 của trang rồi đó, không tin kiểm tra lại đi thì biết. Xong cái H1 của toàn trang.

Tiếp đến là thẻ H2 trong trang chủ, để có một thẻ H2 cũng rất đơn giản thôi, các bạn chỉ cần vào Bố cục --> Thân web trái --> Thêm tiện ích --> HTML/Javascript

Giờ viết một đoạn hoặc cứ thế cho thêm một cái H2 là ok. Ví dụ nhé:

<h2 style="color: black; background:none; border:none; font-size:20px;">Các bài đăng mới nhất:</h2>
<hr/>

Và nó sẽ thành như thế này:
Tối ưu giao diện để blogspot chuẩn SEO - tối ưu trang chủ
Thế nhưng cái đoạn Các bài đăng mới nhất: nó lại hiện cả ở label với bài viết, mà mình chỉ muốn nó hiện ở trang chủ thôi. Thế nên phải làm như thế này nữa:

Vào Chủ đề --> Chỉnh sửa HTML --> Tìm "Các bài đăng mới nhất:"

Ta sẽ tìm thấy đoạn này:
<b:widget-setting name='content'>&lt;h2 style=&quot;color: black; background:none; border:none; font-size:20px;&quot;&gt;Các bài đăng mới nhất:&lt;/h2&gt;
&lt;hr/&gt;</b:widget-setting>
</b:widget-settings>
<b:includable id='main'>...</b:includable>
Nhấn vào chỗ ... ở  <b:includable id='main'>...</b:includable> nó sẽ ra một đoạn như sau:
<b:includable id='main'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != &quot;&quot;'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:includable>
Thêm đoạn Code sau vào sau thẻ <b:includable id='main'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
Thêm </b:if> vào sau thẻ <b:include name='quickedit'/>. Cuối cùng đoạn đó sẽ thành như này:
<b:includable id='main'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != &quot;&quot;'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:if>
</b:includable>
Lưu mẫu và xem kết quả, giờ widget Các bài đăng mới nhất: nó sẽ chỉ hiện thị ở trang chủ thôi. 

Để cho trang chủ nó đệp 1 tý mình cho thêm một cái hình ảnh vào ở trên <h2> và cũng để cho nó chỉ hiển thị ở trang chủ thôi. Kết quả là đây:
tối ưu trang chủ
Code của widget thêm vào sẽ là như này nhé:
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpoFMNqHBLNdKKdK1-mEhivSgTphrnJPKUOSnM9vz8QkCjoRo-qri8mVkuuuoFvxZv6Wl8DNwySbwVzIUMITdoVP6oGZzy7oiM3gTWLwmxdXHwFpdQf0WMOlh8fGEoNCyBYknAHeXhw4U/s1600/banner-vui-cuoi-len.png" alt="Banner Vui cười lên" width="100%" style="margin-top: -15px;"/>
<h2 style="color: black; background:none; border:none; font-size:20px;">Các bài đăng mới nhất:</h2>
<hr/>
Vậy là trang chủ đã có thẻ H1, H2 và rất nhiều thẻ H3. Vậy là cấu trúc trang chủ đã tương đối chuẩn SEO rồi đó. Giờ chúng ta sẽ tối ưu bài viết nhé.

Tối ưu thẻ heading cho bài viết: 

Bài viết trên trang sẽ hiển thị toàn bộ bên trong phần Thân web trái, do vậy chúng ta sẽ tối ưu những gì hiển thị trong phần Thân web trái để có được một bài viết chuẩn SEO nhé.
Tối ưu thẻ H1: Thẻ H1 tất nhiên sẽ là tiêu đề bài viết rồi nhỉ, nhưng mà khi kiểm tra thì tiêu đề bài viết đang là thẻ H3 cơ. Giờ chỉnh nó thành H1 nhé.
Đầu tiên, vào Bố cục --> Chỉnh sửa HTML --> Tìm đến thẻ <b:includable id='post' var='post'>
Các bạn sẽ thấy một chỗ hiển thị như này:
<b:includable id='post' var='post'>...</b:includable>
Click vào chỗ ba chấm ... nó sẽ xổ ra một đoạn code 
Các bạn tìm đoạn code như sau trong chỗ nó xổ ra =_=
<b:if cond=’data:post.title’><h3 class=’post-title’><b:if cond=’data:post.link’><a expr:href=’data:post.link’ expr:title=’data:post.title’><data:post.title/></a><b:else/><b:if cond=’data:blog.pageType != “item”‘><a expr:href=’data:post.url’ expr:title=’data:post.title’><data:post.title/></a><b:else/><data:post.title/></b:if></b:if></h3></b:if>
Thay thế đoạn trên bằng đoạn code sau:
<b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:blog.pageType != "static_page"'>
<b:if cond='data:post.title'>
<h3 class='post-title'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link' expr:title='data:post.title'><data:post.title/></a>
<b:else/>
<b:if cond='data:post.url'>
<a expr:href='data:post.url' expr:title='data:post.title'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if></b:if></h3>
</b:if><b:else/>
<h1 class='post-title'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link' expr:title='data:post.title'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</h1>
</b:if>
<b:else/>
<h1 class='post-title'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link' expr:title='data:post.title'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</h1>
</b:if>
Lưu mẫu
Giờ khi chúng ta xem một bài viết thì tiêu đề bài viết đó sẽ là <h1> và ở những chỗ khác tiêu đề của nó sẽ là thẻ <h3>. F5 lại trình duyệt sau đó các bạn có thể dùng các công cụ hỗ trợ để kiểm tra thử xem ok chưa nhé.

Giờ thêm tý CSS để tiêu đề nhìn gọn hơn (để bình thường chữ hơi to):
.post h1 {
font-size: 22px;
margin-bottom: 15px;
}
Còn về thẻ H2, H3 thì khi viết bài các bạn hãy tối ưu trong bài viết nhé. Vậy là đã xong phần tối ưu cấu trúc blog cho bài viết. Tiếp đến sẽ là tối ưu cho label hay nhiều bạn gọi là chuyên mục nhé.

Tối ưu thẻ heading cho chuyên mục (label):

Khi vào label các bạn sẽ thấy chuyên mục có danh sách các bài viết ngoài ra chẳng hiện thị thêm gì cả. Khi kiểm tra các thẻ heading thì thấy ngoài H1 ở logo ra thì các bài viết là H3, phần Thân web phải thì có H2. Vậy giờ chúng ta sẽ phải thêm H1 và H2 cho label để chuẩn SEO nhé. Cách làm thì như đối với trang chủ thôi, tạo một HTML/Javascript sau đó viết một đoạn để có thẻ H1, H2 rồi chỉ cho nó hiển thị ở chuyên mục đó là ok.

Vào Bố cục --> Thân web trái --> Thêm tiện ích --> HTML/Javascript

Tiêu đề: bỏ trống

Nội dung: thêm đoạn code sau:
<h1>Thủ thuật Blogspot</h1>
<p>Đây là chuyên mục về thủ thuật blogspot, trong chuyên mục này các bạn có thể tìm thấy các bài viết hướng dẫn thêm mới hoặc xóa bớt một số thành phần trong blogspot, tự làm một trang blogspot theo ý mình ...</p>
<p>Hi vọng các bạn sẽ thích các bạn viết tự code blogspot của mình!</p>
<h2 style="color:black; background: none; border: none;">Sau đây là các bài viết về thủ thuật Blogspot:</h2>
Lưu lại 

Vào Chủ đề --> Chỉnh sửa HTML --> Tìm "Thủ thuật blogspot"
Làm tương tự như khi thêm widget ở trang chủ nhé.
Tìm đến dòng <b:includable id='main'>...</b:includable> click vào chỗ ...

Thêm code sau vào dưới thẻ <b:includable id='main'>
<b:if cond='data:blog.url == "https://blogvuicuoilen.blogspot.com/search/label/Blogspot"'>
Thêm </b:if> vào sau thẻ <b:include name='quickedit'/>. 

--> Lưu chủ đề

Như vậy là ta đã có thẻ H1 và H2 trong label Blogspot rồi. Nếu các bạn muốn nhiều text hơn các bạn có thể thêm text vào nhé. Đối với các label khác làm tương tự để label chuẩn SEO. 
Ra ngoài web và hưởng thành quả!
Chú ý: có những bạn làm y chang thấy ok nhưng lúc sau lại thấy nó không hiện ở trong label nữa mà cũng chẳng hiện ở chỗ khác. Lý do là đường dẫn của blog bị thay đổi từ https sang http. Để khắc phục, các bạn vào phần cài đặt (dưới Chủ đề) --> Cơ bản --> Chuyển hướng HTTPS --> Chuyển thành  

2. Thêm breadcrumbs cho trang:

Breadcrumbs là thanh điều hướng trong trang, theo như nhiều người thì nó cũng là một yếu tố giúp trang của bạn chuẩn SEO. Cái này mình thấy thực ra cũng khá tiện khi người khác theo dõi trang của bạn. Do vậy mình cũng đưa vào các yếu tố chuẩn SEO của mình. Giờ chúng ta sẽ thêm thanh breadcrumbs cho trang nhé.

Vào Chủ đề --> Chỉnh sửa HTML --> Tìm thẻ <b:include data='top' name='status-message'/>
Thêm code sau dưới thẻ vừa tìm
<b:include data='posts' name='breadcrumb'/>
Tìm thẻ <b:includable id='main' var='top'>

Thêm code sau trên thẻ <b:includable id='main' var='top'>:
<b:includable id='breadcrumb' var='posts'><b:if cond='data:blog.homepageUrl != data:blog.url'><b:if cond='data:blog.pageType == "static_page"'><div class='breadcrumbs'><span><a expr:href='data:blog.homepageUrl' rel='tag'>Trang chủ</a></span> » <span><data:blog.pageName/></span></div><b:else/><b:if cond='data:blog.pageType == "item"'><!-- breadcrumb for the post page --><b:loop values='data:posts' var='post'><b:if cond='data:post.labels'><div class='breadcrumbs' xmlns:v="http://rdf.data-vocabulary.org/#"><span typeof="v:Breadcrumb"><a expr:href='data:blog.homepageUrl' rel="v:url" property="v:title">Trang chủ</a></span><b:loop values='data:post.labels' var='label'><b:if cond='data:label.isLast == "true"'>» <span typeof="v:Breadcrumb"><a expr:href='data:label.url' rel="v:url" property="v:title"><data:label.name/></a></span></b:if></b:loop>» <span><data:post.title/></span></div><b:else/><div class='breadcrumbs'><span><a expr:href='data:blog.homepageUrl' rel='tag'>Trang chủ</a></span> » <span>Unlabelled</span> » <span><data:post.title/></span></div></b:if></b:loop><b:else/><b:if cond='data:blog.pageType == "archive"'><!-- breadcrumb for the label archive page and search pages.. --><div class='breadcrumbs'><span><a expr:href='data:blog.homepageUrl'>Trang chủ</a></span> » <span>Archives for <data:blog.pageName/></span></div><b:else/><b:if cond='data:blog.pageType == "index"'><div class='breadcrumbs'><b:if cond='data:blog.pageName == ""'><span><a expr:href='data:blog.homepageUrl'>Trang chủ</a></span> » <span>All posts</span><b:else/><span><a expr:href='data:blog.homepageUrl'>Trang chủ</a></span> » <span>Chuyên mục <data:blog.pageName/></span></b:if></div></b:if></b:if></b:if></b:if></b:if></b:includable>
Thêm CSS cho breadcrumbs đẹp hơn xíu nhé (CSS thêm vào chỗ nào các bạn biết rồi đấy):
.breadcrumbs {
padding:5px 5px 5px 0px;
margin: 0px 0px 15px 0px;
line-height: 1.4em;
border-bottom:1px solid gray;
}
.breadcrumbs a {
text-decoration: none;
}
Giờ các bạn hãy vào lại bài viết hay chuyên mục (label) các bạn sẽ thấy có chút khác lạ đấy.

Chú ý: 
Một số trường hợp các bạn không thấy thẻ <b:include data='top' name='status-message'/> các bạn tìm thẻ <b:includable id='main' var='top'>...<
Click vào chỗ ... rồi tìm thẻ <div class='blog-posts hfeed'>
Thêm <b:include data='posts' name='breadcrumb'/> vào sau thẻ <div class='blog-posts hfeed'> là OK.
Nguyên nhân bị mất thẻ <b:include data='top' name='status-message'/> là do các bạn xóa nó đi để bỏ phần hiển thị Hiển thị các bài đăng có nhãn xxxx trong Label.

3. Chỉnh sửa Tiêu dề, meta description cho Trang chủ, chuyên mục và bài viết.

Trong SEO, tiêu đề và meta description khá quan trọng. Nó giúp các công cụ tìm kiếm hiểu hơn về nội dung trong bài viết và hiển thị giúp người đọc chú ý hơn tới các bạn. Trong Blogspot, tiêu đề và meta description cho trang chủ, bài viết, label được quy định bằng cặp thẻ <title> .. </title> và <meta content='...' name='description'/>
Giờ chúng ta sẽ phải thiết lập sao cho trang chủ thì hiện tiêu đề và description khác mà label và bài viết thì cũng vậy. Cách làm đó là chúng ta sẽ đặt điều kiện, đối với trang chủ thì cho hiện tiêu đề và meta description nào, label thì cho hiện cái nào và bài viết thì hiện cái nào. Ok, giải thích vậy thôi chứ làm thì dễ ợt ấy mà.

Bỏ đoạn <title> .. </title> trong đoạn <head> đi, thay bằng đoạn code sau:
<!-- Thiết lập Tiêu đề seo và meta description cho trang chủ, chuyên mục và bài viết -->
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<title>Vui cười lên</title>
<meta content='Vui cười lên - Ngoài nghĩa là vui cười lên nhiều người còn gọi là VCL' name='description'/>
</b:if>
<b:if cond='data:blog.url == "https://blogvuicuoilen.blogspot.com/search/label/SEO"'>
<title>SEO - Content, backlink, MXH, thủ thuật</title>
<meta content='SEO - Content, backlink, MXH, thủ thuật SEO' name='description'/>
</b:if>
<b:if cond='data:blog.url == "https://blogvuicuoilen.blogspot.com/search/label/Blogspot"'>
<title>Thủ thuật Blogspot - Tổng hợp thủ thuật Blogger</title>
<meta content='Thủ thuật Blogspot - Tổng hợp thủ thuật Blogger để các bạn có thể làm được một trang như trang Vui Cười Lên' name='description'/>
</b:if>
<b:if cond='data:blog.pageType == "item"'>
 <title><data:blog.pageName/> | <data:blog.title/></title>
</b:if>
Đoạn code này sẽ phân biệt hiển thị riêng title và phần mô tả cho Trang chủ, chuyên mục và bài viết. Các bạn có bao nhiêu chuyên mục thì thêm vào ngần ấy cái nhé. Nếu chưa hiểu comment mình giải thích cho.

Sửa Lỗi share mạng xã hội:

Phần này mình thêm vào nhé vì nhiều người gặp rùi. Khi share bài viết trên blogspot lên mạng xã hội, đôi khi nó sẽ không hiển thị ảnh Thumb chính xác hoặc không có ảnh thumb luôn. Để sửa lỗi này các bạn làm như sau:


Tìm đến thẻ <head>
Thêm đoạn code sau vào sau thẻ <head> là ok
<b:include data='blog' name='all-head-content'/>
<b:if cond='data:blog.postImageUrl'>
<meta expr:content='data:blog.postImageUrl' property='og:image'/>
<b:else/>
<meta content='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPGqMf9pJl3r518A8gsdHFE94c67sUl2nQbO_waxRWagY5SawD6ZY_V30evpkVKpqrWfe8UHooRW-d1G-TabSn2J5MxE0BLq3GNsPb6CVFSj9h8DjORFHEWPIeAhwH_XFACpI6g5rWTBM/s1600/Vui+cuoi+len+300+x+300.png' property='og:image'/>
</b:if>
Trong một số trường hợp, ảnh thumb này blogger sẽ lấy ảnh đầu tiên của bài viết là ảnh có kích thước lớn. Nếu bạn có một ảnh khác kích thước đủ lớn không ở trong bài viết nhưng lại ở trên ảnh trong bài viết thì cũng có thể bị nhận nhầm.

Phân trang cho label

Hiện giờ có nhiều code phân trang nhưng mình thấy nó không tối ưu SEO lắm hơn nữa trong blogspot cũng có sẵn mục phân trang rồi nên mình nghĩ cũng không cần. Vì thế nên mình khuyên mọi người nên dùng luôn cái (Bài đăng mới hơn  Bài đăng cũ hơn) trong blogspot để phân trang nhé.

Sửa lại CSS cho nó cái bài đăng cũ hơn - bài đăng mới hơn đẹp một chút:
#blog-pager-newer-link a {
color:white;
text-decoration: none;
}
#blog-pager-older-link a {
color:white;
text-decoration: none;
}
#blog-pager-newer-link, #blog-pager-older-link {
padding: 10px;
background:red;
border: 1px solid black;
border-radius: 4px;
}
Tiếp đến ta sẽ cho bài đăng cũ - bài đăng mới chỉ hiển thị trong label thôi (làm tương tự như tối ưu label và trang chủ ý):
Vào Chủ đề --> Chỉnh sửa HTML --> Tìm <b:includable id='nextprev'>(chỉ có 1 chỗ có cái này thôi)
Thêm <b:if cond='data:blog.searchLabel'> vào ngay dưới <b:includable id='nextprev'>
Thêm </b:if> vào trước thẻ đóng </b:includable>

Đoạn đó nó sẽ thành thế này (các bạn nhìn kỹ không có paste nhầm nhé):
<b:includable id='nextprev'>
<b:if cond='data:blog.searchLabel'><div class='blog-pager' id='blog-pager'>
<b:if cond='data:newerPageUrl'>
<span id='blog-pager-newer-link'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'><data:newerPageTitle/></a>
</span>
</b:if>
<b:if cond='data:olderPageUrl'>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'><data:olderPageTitle/></a>
</span>
</b:if>
<b:if cond='data:mobileLinkUrl'>
<div class='blog-mobile-link'>
<a expr:href='data:mobileLinkUrl'><data:mobileLinkMsg/></a>
</div>
</b:if>
</div>
<div class='clear'/>
</b:if></b:includable>

Vậy là đã xong phần phân trang cho label. Thực ra phân trang không quan trọng lắm nhưng nó giúp người dùng nhìn thuận mắt hơn và dễ sử dụng hơn nên việc có phân trang vẫn hơn là không có phân trang phải không nào.

Tổng kết

Về phần giao diện trên cơ bản là ok rồi. Có thể nói là tương đối chuẩn SEO. Bài viết này là bài cuối cùng trong seri tự code blogspot. Hi vọng sau khi tự làm xong một trang blog các bạn đã hiểu được về cấu trúc blog, cách sửa code, cách tối ưu blog sao cho chuẩn seo và làm thế nào để giao diện blog lung linh hơn. 
Hi vọng các bạn thích seri bài viết này của mình, thời gian tới mình sẽ có seri bài viết về SEO, cách tối ưu để bài viết chuẩn SEO, làm sao để viết được dài, làm sao để viết được nhiều bài, làm sao để đi được nhiều backlink hay làm sao để lên top google bền vững. Hẹn gặp lại các bạn!

Xây dựng giao diện mobile cho blogspot

Tự làm Blogspot - Nhiều bạn nghĩ rằng giao diện mobile cho blogspot rất khó nhằn vì nó có vẻ khó. Thật sự thì sao? Giờ mình sẽ hướng dẫn các bạn xây dựng giao diện mobile cho blogspot xem thực sự thì khó hay dễ nhé.

Bước đầu xây dựng giao diện mobile cho blogspot

Có thể nhiều bạn nghĩ làm giao diện cho mobile ta sẽ phải tự thiết kế một giao diện khác rồi làm nhiều thứ nữa và rất mất công. Thực ra để blog hay website của bạn có giao diện thân thiện với người dùng trên điện thoại không như những gì các bạn nghĩ đâu.
Theo mình biết thì có 2 cách để xây dựng giao diện cho blog và website (thực ra là còn 1 số cách khác nữa). Hai cách đó như sau:

  • Cách 1: khi vào bằng mobile, website sẽ chuyển sang hẳn một giao diện mới được thiết kế riêng. Các bạn có thể nhận thấy một số trang áp dụng cách này bằng chữ "m". Ví dụ các bạn vào blog bằng PC theo đường dẫn là: https://blogvuicuoilen.blogspot.com nhưng khi vào bằng mobile cũng đường dẫn trên nó sẽ tự động chuyển hướng về m.blogvuicuoilen.blogspot.com.
  • Cách 2: Vẫn là giao diện trên web nhưng khi vào bằng điện thoại web sẽ co lại cho vừa với màn hình điện thoại và không cần phải thiết kế thêm một giao diện khác. 

Cách thứ nhất hơi phức tạp và có nhiều bất cập, mình sẽ hướng dẫn các bạn làm theo cách thứ 2 nhé. Cách thứ hai này vừa dễ làm hơn mà cũng không hề phức tạp như các bạn nghĩ. Quan trọng là các bạn phải hiểu được ý tưởng và cách thực hiện.

Ý tưởng xây dựng giao diện mobile cho blogspot

Ý tưởng của chúng ta đó là sẽ fix CSS cho màn hình điện thoại riêng và cho màn hình PC riêng. Khi kích thước màn hình lớn từ mức nào tới mức nào thì sẽ hiển thị CSS cho PC, khi độ rộng màn hình từ khoảng nào đến khoảng nào thì sẽ hiển thị CSS cho máy tính bảng hay điện thoại.
Về bố cục: các bạn hãy tưởng tượng bố cục của web sẽ co lại cho vừa với màn hình. Ví dụ với trang blogvuicuoilen nhé: 
  1. Logo và khung seach sẽ vẫn ở trên nhưng độ dài của khung seach sẽ co lại cho vừa với màn hình điện thoại. 
  2. Menu cũng sẽ co lại và ẩn đi các thành phần khác chỉ hiển thị trang chủ. 
  3. Phần Thân web trái (nội dung chính) sẽ rộng toàn màn hình để nội dung dễ đọc nhất. 
  4. Phần Thân web phải sẽ hiển thị bên dưới phần Thân web trái và cũng rộng toàn màn hình.
  5. Chân trang hiển thị cuối cùng và cũng rộng toàn màn hình luôn.

Cách thực hiện xây dựng giao diện mobile cho blogspot

Với ý tưởng như trên, trong CSS có code dùng để fix CSS theo độ rộng màn hình. Đoạn code này sẽ đặt phía cuối CSS trong trang. Tức là đoạn đó sẽ đặt ngay trước ]]></b:skin> 
Mình sẽ giải thích kỹ về nguyên lý của đoạn CSS này cho các bạn hiểu vì nếu không hiểu khi làm sẽ gặp nhiều lỗi và các bạn sẽ không biết phải sửa thế nào (phải hiểu bản chất của vấn đề). Trước tiên nói về nguyên lý load CSS lên blog, load CSS sẽ load từ trên xuống dưới và ưu tiên nhận giá trị ở dưới.
Ví dụ ta có một đoạn CSS
.vi-du {
margin: 10px;
color: red:
margin: 5px;
}
Với đoạn CSS này có 2 margin đều được gán giá trị. Theo nguyên tắc margin: 5px; sẽ được lấy để hiển thị trên web chứ không phải là cái 10px. Đoạn này dễ hiểu mà nhỉ.
Tương tự với nguyên lý đó, khi các bạn đặt đoạn fix giao diện mobile cuối cùng tức là nếu đoạn CSS đó được thực thi thì giá trị đó sẽ được lấy để hiển thị trên web chứ không phải là CSS bên trên. Tức là giá trị nào ta cần thay đổi thì thêm vào phần fix CSS chứ không cần thay đổi hết toàn bộ CSS, nếu cần thêm CSS mới thì thêm vào bình thường. Ok, giờ đi vào thực hiện.

Xây dựng giao diện mobile cho blogspot

Để khai báo tính năng responsiove cho blog, đầu tiên cần thêm thẻ <meta> dưới đây vào trong cặp thẻ <head></head>
<meta content='width=device-width, initial-scale=1, maximum-scale=1' name='viewport'/>
Tiếp theo vào phần Chủ đề Click theo ảnh:
Vào phần chỉnh sửa giao diện, tích chọn Không. Hiển thị chủ đề dành cho máy tính để bàn trên thiết bị di động. --> Lưu lại.
Bước này để cho blogspot sẽ hiển thị giao diện PC trên thiết bị di động chứ không hiển thị giao diện mặc định của blogspot nữa.

Tiếp đến, vào Chỉnh sửa HTML, tìm ]]></b:skin> copy-paste đoạn mã responsive sau vào trước ]]></b:skin>.
/* Dành cho điện thoại */
@media only screen and (min-width: 320px)
{Code CSS}
/* Dành cho máy tính bảng chiều dọc */
@media only screen and (min-width: 480px)
{Code CSS}
/* Dành cho màn hình chiều rộng tối thiểu 600px */
@media only screen and (min-width: 600px)
{Code CSS}
/* Dành cho màn hình chiều rộng tối thiểu 800px (máy tính bảng để ngang, smart phone, ...) */
@media only screen and (min-width: 768px)
{Code CSS}
/* Dành cho màn hình chiều rộng tối thiểu 800px (máy tính bảng để ngang, smart phone, ...) */
@media only screen and (min-width: 768px)
{Code CSS}
/* Dành cho màn hình chiều rộng tối thiểu 1280px (desktop) */
@media only screen and (min-width: 1280px)
{Code CSS} 
Xong phần khai báo, các bạn chỉ cần hiểu là với mỗi kiểu màn hình các bạn có thể tùy chỉnh CSS khác nhau tức là có thể tùy biến giao diện trên mobile rồi.

Tiếp tục lấy ví dụ nhé: @media only screen and (min-width: 320px) {Code CSS}
Đoạn code này tức là với màn hình hiển thị có độ rộng nhỏ nhất là 320 thì CSS trong đoạn này sẽ có hiệu lực, còn nếu màn hình hiển thị nhỏ hơn 320px thì CSS này sẽ không có hiệu lực.
Ta thử viết vài dòng code trong này xem nhé
@media only screen and (min-width: 320px) {
.than-web {
width:98%;
}
#than-web-trai, #than-web-phai {
float:none;
width: 100%
}
}
Lưu mẫu lại và xem thử kết quả xem sao nhé.



Khi các bạn xem bài viết sẽ thấy ảnh trên giao diện mobile bị lệch về bên phải như này:

Sửa lỗi này các bạn thêm đoạn CSS sau vào trong giao diện dành cho di động là được:
.post img {
margin: 0;
width:100%;
float:left;
}
Giờ ảnh nó sẽ ở giữa, rộng vừa màn hình. Và đây là toàn bộ code CSS fix giao diện mobile của mình:

/* Dành cho màn hình chiều rộng 320 - 600px (máy tính bảng để ngang, smart phone, ...) */
@media only screen and (max-width: 600px) and (min-width: 320px)
{
.than-web {
width:98%;
}
#than-web-trai {
float:none;
width: 100%
}
#than-web-phai {
display:none;
}
.logo-dau-trang {
padding-left:5px;
}
#dau-trang-phai {
}
#searchbox {
padding-right: 5px;
}
form#searchform #s{padding:10px;width:110px;}
form#searchform #sbutton {height:40px;width:42px;}
.post img {
margin: 0;
width:100%;
float:left;
}
}
/* Dành cho màn hình chiều rộng 600 - 1028px (máy tính bảng để ngang, smart phone để ngang, ...) */
@media only screen and (min-width: 600px) and (max-width: 1028px)
{
form#searchform #s{padding:10px;width:250px;}
form#searchform #sbutton {height:40px;width:42px;}
}
Tất cả chỉ có nhiêu đó thôi là đủ để trang blogvuicuoilen load ngon lành trên giao diện mobile rồi

Chú ý: có thể bạn thắc mắc tại sao cái menu của mình nó hiển thị đẹp vậy trong khi mình không fix gì hết. Lý do là trong bài Thiết kế menu cho Blogspot đoạn code đó đã bao gồm cả fix giao diện cho mobile rồi.

Xây dựng giao diện mobile cho blogspot tuy không dài nhưng có lẽ là phần khó hiểu nhất, vì thế mà mình giải thích hơi nhiều. Hi vọng các bạn hiểu được nguyên lý và có thể tự fix được giao diện trên mobile cho blog của mình nhé.
Câu nói muôn thủa, thắc mắc thì comment mình giải đáp. Okie!

Thêm nút Share mạng xã hội cho blogspot của bạn

Việc có một blog rất đơn giản nhưng nếu các bạn muốn quảng bá blog của mình thì không thể thiếu nút share mạng xã hội được. Để tạo nút share mạng xã hội hiện ở bên trái màn hình như trang blogvuicuoilen rất đơn giản. Chỉ cần vài bước là các bạn có thể thêm nút share mạng xã hội cho blogspot của bạn, đơn giản mà đẹp.

Thêm nút Share mạng xã hội cho blogspot của bạn

Đầu tiên, đăng nhập vào trang web sau :

https://www.addthis.com

Chọn 1 hình thức đăng nhập (mình chọn đăng nhập với Email).

Đăng nhập xong sẽ hiện ra giao diện như sau: chọn Share button

Các bạn chọn Share Buttons nhé

Kế tiếp là các mục lựa chọn, tùy theo sở thích để các bạn lựa chọn hiển thi theo ý muốn. Như mình chọn như sau:

Sharing bottom: Chọn kiểu hiện thị đầu tiên (kiểu hiện bên trái)

Floating: Các bạn để mặc định cũng được 

Nếu không muốn mặc định các bạn có thể tùy chọn hiển thị một số mạng xã hội để share bằng cách bỏ chọn dòng Automatic (Recommented) tích vào Select your own. Mình chọn 5 mục hiển thị là facebook, google+, twitter, Pinterest và Linkedin

--> Save and Continue

Sau khi chỉnh xong cấu hình và nhận Save and Continue nó sẽ có một đoạn code cho các bạn:
<!-- Go to www.addthis.com/dashboard to customize your tools --> <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-59f5fdab55e49e42"></script> 
Giờ các bạn đăng nhập lại vào Blogger, vào phần Chủ đề, Chỉnh sửa HTML, tìm </body>
Hãy copy đoạn code trên paste vào trước thẻ </body> rồi Lưu mẫu lại và hưởng thụ thành quả nhé. Phần này không có ảnh demo nữa, các bạn nhìn blog của mình là thấy liền ah.

Nếu các bạn muốn thay đổi kiểu hiển thị hay gì đó hãy vào lại trang addthis và sửa lại các tùy chọn rồi lưu lại là ok (không cần phải thay đổi gì trên blogspot nữa đâu nhé, nó sẽ tự kết nối và hiển thị theo thông tin bạn mới update)

Phần này quá dễ rồi chắc không ai hỏi gì nữa đâu nhỉ?

Bouns

Nếu các bạn không thích dùng script hay các trang ứng dụng như addthis vì nhiều lý do (sẽ nói lúc khác) thì bạn có thể sử dụng code sau:
<a expr:href='&quot;https://www.facebook.com/sharer/sharer.php?u=&quot; + data:post.url' rel='nofollow' target='_blank'><img src='http://traumvietnam.com/wp-content/uploads/2018/03/fb.png'/></a>
<a expr:href='&quot;https://plus.google.com/share?url=&quot; + data:post.url' rel='nofollow' target='_blank'><img src='http://traumvietnam.com/wp-content/uploads/2018/03/gplus.png'/></a>
<a expr:href='&quot;https://twitter.com/share?text=&quot; + data:blog.pageName + &quot;&amp;amp;url=&quot; + data:post.url' rel='nofollow' target='_blank'><img src='http://traumvietnam.com/wp-content/uploads/2018/03/tw.png'/></a>
<a expr:href='&quot;https://www.pinterest.com/pin/create/button/?url=&quot; + data:post.url' rel='nofollow' target='_blank'><img src='http://traumvietnam.com/wp-content/uploads/2018/03/pin.png'/></a>
<a expr:href='&quot;http://www.linkedin.com/shareArticle?mini=true&amp;amp;url=&quot; + data:post.url' rel='nofollow' target='_blank'><img src='http://traumvietnam.com/wp-content/uploads/2018/03/ln.png'/>
Có 2 cách, 1 là bạn chèn vào sau bài viết, hai là các bạn chèn vào rồi fix vị trí giống như là nút cuộn trang là ok. Trong code trên các bạn có thể thay các dường dẫn màu vàng bằng các hình ảnh nút share khác nếu các bạn muốn 

Tùy chỉnh footer cho blogspot (Chân trang)

Tự học code Blogspot - Footer hay còn gọi là chân trang trong blogspot các bạn có thể tùy chỉnh với nhiều mục đích. Riêng mình thì không có nhu cầu lắm vì mình muốn mọi thứ hiển thị trong bài viêt luôn. Do vậy chân trang của mình sẽ thật đơn giản thôi. Cùng xem footer đơn giản là như thế nào nhé.

Tùy chỉnh footer cho blogspot (Chân trang)

Chân trang của mình sẽ gồm 2 phần: phần nội dung và copyright.
Ý tưởng của mình sẽ là thêm vào 2 tiện ích HTML/Javascript sau đó viết nội dung vào là ok.

Đầu tiên sửa lại CSS của Chân trang
.chan-trang {
width:100%;
background: red;
margin-top: 5px;
}
Thêm một tiện ích vào Chân trang: các bạn vào Bố cục --> Chân trang --> Thêm tiện ích --> HTLM/Javascript

Tiêu đề: bỏ trống
Nội dung: thêm đoạn code HTML sau:
<div id='noi-dung-chan-trang'><p>Vui Cười Lên - Blog cá nhân của 2LAN</p>
<p>Mọi thông tin trên blog đều được giữ bản quyền bởi 2LAN. Các bạn nếu muốn lấy thông tin từ blog vui lòng ghi rõ nguồn Blogvuicuoilen.blogspot.com (2LAN)</p>
<p>Email: truongtienlam1988@gmail.com</p>
</div>
Tương tự, thêm một HTML/Javascript khác để làm copyright:

Tiêu đề: bỏ trống
Nội dung: thêm đoạn code sau:
<div id='copyright'>Copyright 2017 Vui Cười Lên. Designer by 2LAN</div>
Giờ nội dung đã hiển thị rồi nhưng phải thêm CSS cho nó hiển thị đẹp hơn:
#noi-dung-chan-trang{
color:white;
text-align: center;
padding: 20px;
margin-left: -20px;
}
#copyright {
color:white;
text-align: center;
padding: 5px;
width:100%;
background:black;
margin-left: -15px;
font-size:13px;
}
 Giờ vào trang xem thành quả thôi!
Quá dễ phải không nào, nếu các bạn muốn làm chân trang theo kiểu 2 cột, 3 cột hay 4 cột thì các bạn làm tương tự như làm với phần header (đầu trang) nhé.

Chúc các bạn thành công, ai không thành công thì .... học lại các bài trước đi nhé!

Tùy chỉnh sidebar cho blogspot (Thân web phải)

Tự code Blogspot - Tiếp theo seri các bài hướng dẫn tự thiết kế Blogspot, hôm nay mình sẽ hướn dẫn các bạn tùy chỉnh sidebar trong blogspot (Thân web phải) để sao cho đẹp mà lại cực kỳ dễ làm nhé. Sidebar chăc ai cũng biết đó là cột phụ bên phải web phải không, tuy nhiên nếu ai theo dõi seri tự thiết kế blogspot của mình thì mình còn gọi nó là Thân web phải cho dễ hiểu. Giờ bắt đầu nào...

Tùy chỉnh sidebar cho blogspot (Thân web phải)

Phần Tùy chỉnh sidebar cho blogspot này mình làm khá đơn giản. Chỉ việc vào Bố cục --> Layout Thân web phải --> Thêm tiện ích
Ở Thân web phải mình chọn bài đăng nổi bật, bài đăng phổ biến và HTML/Javascript.
Trước tiên tạo một HTML/Javascript trước nhé:
Vào Bố cục --> Layout Thân web phải --> Thêm tiện ích --> HTML/Javascript
Mình sẽ cho phần này hiển thị 3 bài viết trong 1 chuyên mục mà mình đã có sẵn.
Tiêu đề: các bạn điền gì cũng được, tùy. (Mình điền là Thủ thuật Blogspot)
Nội dung: copy paste đoạn sau vô:
<style>
/* Recent posts by labels
--------------------------------- */
img.label_thumb{
float:left;
margin-right:10px !important;
height:72px; /* Thumbnail height */
width:72px; /* Thumbnail width */
border: 1px solid #fff;
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .4);
-moz-box-shadow: 0 1px 1px rgba(0, 0, 0, .4);
box-shadow: 0 1px 1px rgba(0, 0, 0, .4);
}
#label_with_thumbs { 
text-align: justify;
float: left;
width: 98%;
min-height: 70px;
margin: 0px 10px 2px 0px;
padding: 0;
}
ul#label_with_thumbs li {
padding:8px 0;
min-height:75px;
margin-bottom:0px;
border-bottom: 1px dotted #999999;
}
#label_with_thumbs li{
list-style: none ;
padding-left:0px !important;
}
#label_with_thumbs a:visited {
    text-decoration: none;
    color: #2e91ee;}
#label_with_thumbs a:link {
    text-decoration: none;
    color: #2e91ee;}
#label_with_thumbs a { text-transform: none;}
#label_with_thumbs a:hover { text-decoration: underline;}
#label_with_thumbs strong {padding-left:0px; }</style>
<script type='text/javascript'>
//<![CDATA[
function labelthumbs(json){document.write('<ul id="label_with_thumbs">');for(var i=0;i<numposts;i++){var entry=json.feed.entry[i];var posttitle=entry.title.$t;var posturl;if(i==json.feed.entry.length)break;for(var k=0;k<entry.link.length;k++){if(entry.link[k].rel=='replies'&&entry.link[k].type=='text/html'){var commenttext=entry.link[k].title;var commenturl=entry.link[k].href;}
if(entry.link[k].rel=='alternate'){posturl=entry.link[k].href;break;}}var thumburl;try{thumburl=entry.media$thumbnail.url;}catch(error)
{s=entry.content.$t;a=s.indexOf("<img");b=s.indexOf("src=\"",a);c=s.indexOf("\"",b+5);d=s.substr(b+5,c-b-5);if((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!="")){thumburl=d;}else thumburl='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_zidsXUEW0DtuTdaUQ9pb9-QGMlONfxG8nwJ9Q-sbd0tUEU4SWI0gnPPUB4xz7iItDiwu4S_PE5H_G7maublNuEvrMCv10t4n_5PmOX2PM1OIktQTk-Krokj2vLdIN8gyNIuFtkOgntA/s1600/picture_not_available.png';}
var postdate=entry.published.$t;var cdyear=postdate.substring(0,4);var cdmonth=postdate.substring(5,7);var cdday=postdate.substring(8,10);var monthnames=new Array();monthnames[1]="Jan";monthnames[2]="Feb";monthnames[3]="Mar";monthnames[4]="Apr";monthnames[5]="May";monthnames[6]="June";monthnames[7]="July";monthnames[8]="Aug";monthnames[9]="Sept";monthnames[10]="Oct";monthnames[11]="Nov";monthnames[12]="Dec";document.write('<li class="clearfix">');if(showpostthumbnails==true)
document.write('<a href="'+posturl+'" target ="_top"><img class="label_thumb" src="'+thumburl+'"/></a>');document.write('<a href="'+posturl+'" target ="_top">'+posttitle+'</a><br>');if("content"in entry){var postcontent=entry.content.$t;}
else
if("summary"in entry){var postcontent=entry.summary.$t;}
else var postcontent="";var re=/<\S[^>]*>/g;postcontent=postcontent.replace(re,"");if(showpostsummary==true){if(postcontent.length<numchars){document.write('');document.write(postcontent);document.write('');}
else{document.write('');postcontent=postcontent.substring(0,numchars);var quoteEnd=postcontent.lastIndexOf(" ");postcontent=postcontent.substring(0,quoteEnd);document.write(postcontent+'...');document.write('');}}
var towrite='';var flag=0;document.write('<br>');if(showpostdate==true){towrite=towrite+monthnames[parseInt(cdmonth,10)]+'-'+cdday+' - '+cdyear;flag=1;}
if(showcommentnum==true)
{if(flag==1){towrite=towrite+' | ';}
if(commenttext=='1 Comments')commenttext='1 Comment';if(commenttext=='0 Comments')commenttext='No Comments';commenttext='<a href="'+commenturl+'" target ="_top">'+commenttext+'</a>';towrite=towrite+commenttext;flag=1;;}
if(displaymore==true)
{if(flag==1)towrite=towrite+' | ';towrite=towrite+'<a href="'+posturl+'" class="url" target ="_top">More »</a>';flag=1;;}
document.write(towrite);document.write('</li>');if(displayseparator==true)
if(i!=(numposts-1))
document.write('');}document.write('</ul>');}
//]]>
</script>
<script type='text/javascript'>var numposts = 3;var showpostthumbnails = true;var displaymore = false;var displayseparator = true;var showcommentnum = false;var showpostdate = false;var showpostsummary = false;var numchars = 200;</script>
<script type="text/javascript" src="/feeds/posts/default/-/Blogspot?published&alt=json-in-script&callback=labelthumbs"></script>
Trong đó chú ý mấy chỗ chữ đỏ và chữ xanh mình đánh dấu nhé:
var numposts = Thay thế số 5 là số bài viết bạn muốn hiển thị.
/feeds/posts/default/-/Blogspot Đổi Blogspot thành tên Label bạn muốn hiển thị.

Nếu các bạn muốn hiển thị các bài mới nhất của blog thì xóa-/Blogspot đi là được. Lúc đó code nó sẽ như thế này:
<script type="text/javascript" src="/feeds/posts/default?published&alt=json-in-script&callback=labelthumbs"></script>
var showpostsummary = false; - không hiển thị đoạn mô tả, nếu muốn thì thay false bằng true.
var numchars = 200; Hiển thị 200 ký tự trong đoạn mô tả, có thể điều chỉnh để rút ngắn đoạn mô tả hoặc tăng thêm.
Tàm tạm rồi nhỉ, tiếp theo các bạn Thêm tiện ích --> Bài đăng nổi bật và Thêm tiện ích --> Bài đăng phổ biến. Phần này dễ nên mình không hướng dẫn các bạn chỉ việc chọn vài lựa chọn trong đó là ok thôi.
Ngoài ra, trong phần bài đăng phổ biến bạn thấy nó không được đẹp, chúng ta có thể thêm đoạn CSS sau để nó hiển thị giống như cái widget mới tạo bằng HTML/Javascript phía trên.
.widget-content li {
list-style:none;
}
.PopularPosts li {
margin-left:-20px;
}
.PopularPosts a {
text-decoration: none;
}
.PopularPosts img {
border-radius: 4px;
border:1px solid #d6dde1;
}
Sau khi thêm widget, các bạn sẽ thấy phần tiêu đề của widget không được đẹp. Để thay đổi thì hơi thủ công tý nhưng cũng dễ thôi.
Thêm đoạn CSS sau vào trong <b:skin>:
.widget h2 {
color:white;
background: red;
border-bottom:2px solid black;
margin-top: 10px;
padding: 8px;
}
Vậy là có ngay một phần Thân web phải y chang như blogvuicuoilen rồi đấy

Hiển thị bài viết ngẫu nhiên trong Blogspot

Bounus thêm cho bạn nào rảnh nhé, đó là thêm widget hiển thị bài viết ngẫu nhiên ở sidebar. Bài viết ngẫu nhiên trong trang là một thứ rất hên xui nhưng cũng rất hay. Đôi khi hên thì nó hiển thị đúng cái mà người đọc cần mà xui thì đúng cái người đọc ghét. Nói chung là hên xui thì điều hướng không được tốt nhưng .... mình thích.

Giờ để có một widget bài viết ngẫu nhiên trên trang các bạn tạo một widget HTML/Javascript trong phần Thân web phải:
Tiêu đề: Bài viết ngẫu nhiên
Nội dung: paste đoạn code sau vào
<style>
#random-posts img {
border-radius: 4px;
border:1px solid #d6dde1;
color:#dddddd;
float: left;
margin-right: 5px;
margin-left: -3px;
width: 70px;
height: 70px;
padding: 3px;
}
ul#random-posts {
list-style-type: none;
padding: 0px;
}
#random-posts a {
font-size: 16px;
padding: 3px auto 5px;
text-decoration: none;
}
#random-posts a:hover {
text-decoration: none;
}
.random-summary {
font-size: 11px;
background: none;
padding: 5px;
margin-right: 8px;
}
#random-posts li {
margin-bottom: 10px;
border-bottom: 1px solid #EEEEEE;
padding: 4px;
}
</style>
<ul id='random-posts'>
<script type='text/javaScript'>
var randomposts_number = 3;
var randomposts_chars = 0;
var randomposts_details = 'no';
var randomposts_comments = 'Comments';
var randomposts_commentsd = 'Comments Disabled';
var randomposts_current = [];
var total_randomposts = 0;
var randomposts_current = new Array(randomposts_number);
function randomposts(json) {
total_randomposts = json.feed.openSearch$totalResults.$t
}
document.write('<script type=\"text/javascript\" src=\"/feeds/posts/default?alt=json-in-script&max-results=0&callback=randomposts\"><\/script>');
function getvalue() {
for (var i = 0; i < randomposts_number; i++) {
var found = false;
var rndValue = get_random();
for (var j = 0; j < randomposts_current.length; j++) {
if (randomposts_current[j] == rndValue) {
found = true;
break
}
};
if (found) {
i--
} else {
randomposts_current[i] = rndValue
}
}
};
function get_random() {
var ranNum = 1 + Math.round(Math.random() * (total_randomposts - 1));
return ranNum
};
</script>
<script type='text/javaScript'>
function random_posts(json) {
for (var i = 0; i < randomposts_number; i++) {
var entry = json.feed.entry[i];
var randompoststitle = entry.title.$t;
if ('content' in entry) {
var randompostsnippet = entry.content.$t
} else {
if ('summary' in entry) {
var randompostsnippet = entry.summary.$t
} else {
var randompostsnippet = "";
}
};
randompostsnippet = randompostsnippet.replace(/<[^>]*>/g, "");
if (randompostsnippet.length < randomposts_chars) {
var randomposts_snippet = randompostsnippet
} else {
randompostsnippet = randompostsnippet.substring(0, randomposts_chars);
var whitespace = randompostsnippet.lastIndexOf(" ");
randomposts_snippet = randompostsnippet.substring(0, whitespace) + "&#133;";
};
for (var j = 0; j < entry.link.length; j++) {
if ('thr$total' in entry) {
var randomposts_commentsnum = entry.thr$total.$t + ' ' + randomposts_comments
} else {
randomposts_commentsnum = randomposts_commentsd
}; if (entry.link[j].rel == 'alternate') {
var randompostsurl = entry.link[j].href;
var randomposts_date = entry.published.$t;
if ('media$thumbnail' in entry) {
var randompoststhumb = entry.media$thumbnail.url
} else {
randompoststhumb = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinDtSLRAH512v5O5oBxHimDOCYWiHIYzGb6hddu2JcnR37-RcFd4MqkBCUsdN-n8AOXVm_AGhE6ctfQ5WT4_dzGUbjkBOjzytiqYGQw5PyaEuijwvXzsWbxMMX6hMqAH_3GfSY_62GUHU/s1600/no_thumb.png"
}
}
};
document.write('<li>');
document.write('<a href="' + randompostsurl + '" rel="nofollow"><img alt="' + randompoststitle + '" src="' + randompoststhumb + '"/></a>');
document.write('<div><a href="' + randompostsurl + '" rel="nofollow">' + randompoststitle + '</a></div>');
if (randomposts_details == 'yes') {
document.write('<span><div class="random-info">' + randomposts_date.substring(8, 10) + '.' + randomposts_date.substring(5, 7) + '.' + randomposts_date.substring(0, 4) + ' - ' + randomposts_commentsnum) + '</div></span>'
};
document.write('<br/><div class="random-summary">' + randomposts_snippet + '</div><div style="clear:both"></div></li>')
}
};
getvalue();
for (var i = 0; i < randomposts_number; i++) {
document.write('<script type=\"text/javascript\" src=\"/feeds/posts/default?alt=json-in-script&start-index=' + randomposts_current[i] + '&max-results=1&callback=random_posts\"><\/script>')
};
</script>
</ul>
Một vài chú ý phần chữ đỏ:
width: 70px; (Chiều dài của ảnh thumb)
height: 70px; (Chiều rộng của ảnh thumb)
var randomposts_number = 3; (thay số 3 bằng số bài muốn hiển thị trên web)
var randomposts_chars = 0; (Thay số 0 bằng số ký tự mô tả bài viết)
var randomposts_details = 'no'; (thay no bằng yes để hiển thị phần mô tả sau tiêu đề)
Nếu các bạn không để phần mô tả nó sẽ không hiện gì nhưng có " ... " ở chỗ mô tả. Để bỏ cái ... này các bạn xóa phần này đi là ok: <br/><div class="random-summary">' + randomposts_snippet + '</div>

Một vài chú ý phần chữ màu xanh:
Nếu các bạn muốn hiển thị bài viết ngẫu nhiên trong 1 label nào đó, hãy sửa 2 chỗ chữ màu xanh phía trên một chút feeds/posts/default sửa thành feeds/posts/default/-/ten-label
Ví dụ hiển thị bài viết ngẫu nhiên trong chuyên mục Blogspot thì đổi 2 chỗ màu xanh thành feeds/posts/default/-/Blogspot
Hưởng thụ thành quả thôi nào:
Lời khuyên, mình thấy phần hiển thị bài viết theo chuyên mục khá ok còn phần hiển thị bài viết ngẫu nhiên load hơi lâu. Vì thế nếu bạn nào không thích web load lâu thì không nên để phần bài viết ngẫu nhiên nhé.

Xong, bợn nào không làm được thì hỏi nhớ, đừng cố làm gì, hị hị =_=

Thủ thuật Blogspot

Thủ thuật Wordpress

Bài đăng nổi bật

About Vui Cuoi Len - 2LAN

Vui Cười Lên - Chào các bạn, blog này mình tạo ra thực chất cũng có chút tham vọng SEO nhưng nhiều hơn là mình muốn tự làm một trong blogge...

Thủ thuật SEO

Fanpage Vui Cười Lên

Vui Cười Lên - Blog cá nhân của 2LAN

Mọi thông tin trên blog đều được giữ bản quyền bởi 2LAN. Các bạn nếu muốn lấy thông tin từ blog vui lòng ghi rõ nguồn Blogvuicuoilen.blogspot.com (2LAN)

Email: truongtienlam1988@gmail.com