Code Blogspot Lập Trình & Seo Template Blogspot 

Code Tạo Bài Viết Liên Quan Cho Blogspot Gọn nhẹ

Code tạo Bài viết liên quan cho Blogspot gọn nhẹ là một việc khá quan trọng để tối ưu SEO cho Blogspot. Tất cả các bạn làm SEO đều hiểu rõ vì sao cần phải thêm bài viết liên quan cho website blog rồi đúng không nào.

Dưới đây mình sẽ tổng hợp các cách tạo bài viết liên quan cho Blog (Related posts blogger) để các bạn lựa chọn cho phù hợp với Blog của các bạn.

Cách làm thì có rất nhiều cách nhưng mình khuyên các bạn chỉ nên lựa chọn cách nào đơn giản gọn nhẹ thôi, màu mè quá sẽ làm blog của các bạn load chậm, thậm chí còn bị xung đột với các dòng code khác dẫn đến blog của bạn không chạy. Giống như blogspot của mình, mình đã chọn cách 1 đơn giản, gọn nhẹ mà nhìn vẫn rất chuyên nghiệp.

Các bạn lưu ý: Dù cách hướng dẫn thêm bài viết liên quan nào đi nữa thì code đều có 3 đoạn
– Đoạn 1: Code Javascript
– Đoạn 2: Code CSS
– Đoạn 3: Code HTML

Các bạn cùng lướt qua các cách dưới đây và chọn đoạn code thêm bài liên quan cho Blogspot của các bạn nhé.

Cách 1: Tạo bài viết liên quan cho Blog Gọn nhẹ nhất


Bước 1: Các bạn thêm đoạn code Javascript dưới đây vào Blog

<b:if cond="data:blog.pageType == &quot;item&quot;">
<script type="text/javascript">
//<![CDATA[
var titles=new Array();var titlesNum=0;var urls=new Array();var time=new Array();function related_results_labels(c){for(var b=0;b<c.feed.entry.length;b++){var d=c.feed.entry[b];titles[titlesNum]=d.title.$t;for(var a=0;a<d.link.length;a++){if(d.link[a].rel=="alternate"){urls[titlesNum]=d.link[a].href;time[titlesNum]=d.published.$t;titlesNum++;break}}}}function removeRelatedDuplicates(){var b=new Array(0);var c=new Array(0);e=new Array(0);for(var a=0;a<urls.length;a++){if(!contains(b,urls[a])){b.length+=1;b[b.length-1]=urls[a];c.length+=1;c[c.length-1]=titles[a];e.length+=1;e[e.length-1]=time[a]}}titles=c;urls=b;time=e}function contains(b,d){for(var c=0;c<b.length;c++){if(b[c]==d){return true}}return false}function printRelatedLabels(a){var y=a.indexOf('?m=0');if(y!=-1){a=a.replace(/?m=0/g,'')}for(var b=0;b<urls.length;b++){if(urls[b]==a){urls.splice(b,1);titles.splice(b,1);time.splice(b,1)}}var c=Math.floor((titles.length-1)*Math.random());var b=0;document.write("<ul>");if(titles.length==0){document.write("
<li>Không có bài viết liên quan</li>
")}else{while(b<titles.length&&b<20&&b<maxresults){if(y!=-1){urls[c]=urls[c]+'?m=0'}document.write('
<li><a href="'+urls[c]+'" title="'+titles[c]+'">'+titles[c]+"</a></li>
");if(c<titles.length-1){c++}else{c=0}b++}}document.write("</ul>
");urls.splice(0,urls.length);titles.splice(0,titles.length)};
//]]>
</script>
</b:if>

Các bạn hãy vào phần chỉnh sửa HTMLcopy đoạn code ở trên dán vào trước thẻ </head>

Bước 2: Copy đoạn code CSS bên dưới dán vào phía trên dòng code </style>

#related-posts h4 {border-bottom:2px solid #83C75D; font-size:18px;}
#related-posts ul {border: medium none;padding: 0;font-size: 16px;}
#related-posts ul li {border-bottom:1px dotted #cccccc;margin-bottom:5px;background:url(https://lh3.googleusercontent.com/-Q81TEs60CRU/WU3jT2WMPyI/AAAAAAAAAtI/SvzrLUozqoo9OD4nAIlUb-zarQGQvhHGQCLcBGAs/h120/gicovietnam-blogspot-com.png) 0 5px no-repeat;padding-left:15px}

Bước 3: Copy đoạn code HTML bên dưới dán vào phía sau dòng code <data:post.body/>

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div id='related-posts'>
 <h4>Bài viết liên quan</h4>
<b:loop values='data:post.labels' var='label'>
 <script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels&quot;' type='text/javascript'/>
</b:loop>
<script type='text/javascript'>var maxresults=10;removeRelatedDuplicates();printRelatedLabels(&#39;<data:post.url/>&#39;);</script>
</div>
</b:if>

Các bạn thay đổi giá trị maxresults=10 cho phù hợp với blog. maxresults=10 là số lượng bài viết liên quan được hiển thị.
Có thể trong Template của bạn sẽ có nhiều thẻ <data:post .body=””> nên bạn hãy thử từng cái một nhé, thử đến khi nào hiển thị đúng vị trí thì thôi.

Cách 2: Related Posts Widget for Blogger with Thumbnails

Bước 1: Vào Chủ đề > Chỉnh sửa HTML Chèn đoạn code bên dưới vào phía trên thẻ đóng </head>

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<style type="text/css">
#related-posts {
float:center;
text-transform:none;
height:100%;
min-height:100%;
padding-top:5px;
padding-left:5px;
}
#related-posts h2{
font-size: 1.6em;
font-weight: bold;
color: black;
font-family: Georgia, &#8220;Times New Roman&#8221;, Times, serif;
margin-bottom: 0.75em;
margin-top: 0em;
padding-top: 0em;
}
#related-posts a{color:black;}
#related-posts a:hover{color:black;}
#related-posts a:hover {background-color:#d4eaf2;}
</style>
<script type='text/javascript'>
var defaultnoimage="https://dl.dropboxusercontent.com/s/dbx17abibjnsjz6/noimage.png";    
var maxresults=5; 
var splittercolor="#d4eaf2";
var relatedpoststitle="Related Posts";
</script>
<script type='text/javascript' src='https://dl.dropboxusercontent.com/s/t455sb1290tmgh6/related_posts_with_thumbnails_min.js' />    
</b:if>


Bước 2: Tìm trong Template của bạn đoạn code tương tự như bên dưới:

<div class='post-footer-line post-footer-line-1'>

hoặc

<div class='post-footer-line post-footer-line-2'>

và ngay lập tức bên dưới nó chèn đoạn code sau:

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div id='related-posts'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.isLast != &quot;true&quot;'>
</b:if>
<script type='text/javascript' expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels_thumbs&amp;max-results=6&quot;' />
</b:loop>
<script type='text/javascript'>
removeRelatedDuplicates_thumbs();
printRelatedLabels_thumbs(&quot;<data:post.url/>&quot;);
</script>
</div>
<div style='clear:both'/>
</b:if>
<b:if cond='data:blog.url == data:blog.homepageUrl'><b:if cond='data:post.isFirstPost'>    
<a href='https://gicovietnam.blogspot.com/2017/06/code-tao-bai-viet-lien-quan-cho-blogsot.html'>
<img style="border: 0" alt="Related Posts Widget For Blogger with Thumbnails" src="http://image.bloggerplugins.org/blogger-widgets.png"/></a>
<a href='https://gicovietnam.blogspot.com'>
<img style="border: 0" alt="Kiến thức – Thủ thuật – Giải pháp công nghệ" src="http://image.bloggerplugins.org/blogger-templates.png"/></a>    
</b:if></b:if>

Bước 3: Thay thế đoạn code màu đỏ theo ý bạn và Save Template.

Cách 3: Related Posts by Categories


Bước 1: Vào Chủ đề > Chỉnh sửa HTML Tìm trong Template của bạn đoạn code sau

<data:post.body/>

và ngay sau nó chèn đoạn code bên dưới:

<b:if cond='data:blog.pageType == "item"'>
<div class='similiar'>
  <div class='widget-content'>
        <h3>Related Posts by Categories</h3>
        <div id='data2007'/><br/><br/>
            <script type='text/javascript'>   
            var homeUrl3 = &quot;<data:blog.homepageUrl/>&quot;;
            var maxNumberOfPostsPerLabel = 4;
            var maxNumberOfLabels = 10;
            maxNumberOfPostsPerLabel = 10; 
            maxNumberOfLabels = 3;
            function listEntries10(json) {
              var ul = document.createElement(&#39;ul&#39;);
              var maxPosts = (json.feed.entry.length &lt;= maxNumberOfPostsPerLabel) ?
                             json.feed.entry.length : maxNumberOfPostsPerLabel;
              for (var i = 0; i &lt; maxPosts; i++) {
                var entry = json.feed.entry[i];
                var alturl;
                for (var k = 0; k &lt; entry.link.length; k++) {
                  if (entry.link[k].rel == &#39;alternate&#39;) {
                    alturl = entry.link[k].href;
                    break;
                  }
                }
                var li = document.createElement(&#39;li&#39;);
                var a = document.createElement(&#39;a&#39;);
                a.href = alturl;
                if(a.href!=location.href) {
                    var txt = document.createTextNode(entry.title.$t);
                    a.appendChild(txt);
                    li.appendChild(a);
                    ul.appendChild(li);
                }
              }
              for (var l = 0; l &lt; json.feed.link.length; l++) {
                if (json.feed.link[l].rel == &#39;alternate&#39;) {
                  var raw = json.feed.link[l].href;
                  var label = raw.substr(homeUrl3.length+13);
                  var k;
                  for (k=0; k&lt;20; k++) label = label.replace(&quot;%20&quot;, &quot; &quot;);
                  var txt = document.createTextNode(label);
                  var h = document.createElement(&#39;b&#39;);
                  h.appendChild(txt);
                  var div1 = document.createElement(&#39;div&#39;);
                   div1.appendChild(h);
                  div1.appendChild(ul);
                  document.getElementById(&#39;data2007&#39;).appendChild(div1);
                }
              }
            }
            function search10(query, label) {
            var script = document.createElement(&#39;script&#39;);
            script.setAttribute(&#39;src&#39;, query + &#39;feeds/posts/default/-/&#39;
             + label +
            &#39;?alt=json-in-script&amp;callback=listEntries10&#39;);
            script.setAttribute(&#39;type&#39;, &#39;text/javascript&#39;);
            document.documentElement.firstChild.appendChild(script);
            }
            var labelArray = new Array();
            var numLabel = 0;
            <b:loop values='data:posts' var='post'>
              <b:loop values='data:post.labels' var='label'>
                textLabel = &quot;<data:label.name/>&quot;;
                var test = 0;
                for (var i = 0; i &lt; labelArray.length; i++)
                if (labelArray[i] == textLabel) test = 1;
                if (test == 0) {
                   labelArray.push(textLabel);
                   var maxLabels = (labelArray.length &lt;= maxNumberOfLabels) ?
                          labelArray.length : maxNumberOfLabels;
                   if (numLabel &lt; maxLabels) {
                      search10(homeUrl3, textLabel);
                      numLabel++;
                   }
                }
              </b:loop>
            </b:loop>
            </script>
    </div>
</div>
</b:if>

Bước 3: Thay đổi code màu đỏ theo ý bạn, trong đó:
maxNumberOfPostsPerLabel: số bài viết tối đa được hiển thị theo mỗi Label
maxNumberOfLabels: số Label được hiển thị

Cách 4: Related Posts v2.0 by Anhvo

Bước 1: Vào Chủ đề > Chỉnh sửa HTML Tìm trong Template của bạn đoạn code tương tự như bên dưới:
<div class='post-footer-line post-footer-line-1'>

hoặc

<div class='post-footer-line post-footer-line-2'>

hoặc

<div class='post-footer-line post-footer-line-3'>

và chèn bên dưới nó đoạn code này:

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div id='post-labels-for-related' style='display:none'>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<data:label.name/>
<b:if cond='data:label.isLast != &quot;true&quot;'>
</b:if>
</b:loop>
</b:if>
</div>
<div id='post-timestamp-for-related' style='display:none'>
<data:post.timestampISO8601/>
</div>
<style type='text/css'>
#related-posts-block {margin:10px 5px 0 -20px;font-size:12px;color:#999999;text-transform:none;}    
#related-posts-block #related-posts-loading-text{font-size:18px;color:#FF0033;text-align:center;}    
#related-posts-block #related-newest-href {margin:10px 5px;}    
#related-posts-block #related-newest-href ul{list-style-image:url(https://lh4.googleusercontent.com/_PAuO_he0N0k/TYQYg4JsTdI/AAAAAAAAEu4/qKWg2IDbuxo/arrow.gif);}    
#related-posts-block #related-newest-href #related-newest-title {font-size:16px;margin:10px 5px}    
#related-posts-block #related-newest-href a{font-size:12px;font-family:Arial, Helvetica, sans-serif;color:#000000;}    
#related-posts-block #related-older-href {margin:10px 5px;}    
#related-posts-block #related-older-href ul{list-style-image:url(https://lh4.googleusercontent.com/_PAuO_he0N0k/TYQYg4JsTdI/AAAAAAAAEu4/qKWg2IDbuxo/arrow.gif);}    
#related-posts-block #related-older-href #related-older-title {font-size:16px;margin:10px 5px}    
#related-posts-block #related-older-href a{font-size:12px;font-family:Arial, Helvetica, sans-serif;color:#000000;}    
</style>
<div id='related-posts-block'>
<div id='related-posts-loading-text'>Loading related posts... <img align='absmiddle' src='https://lh5.googleusercontent.com/_PAuO_he0N0k/TYQYgqqO3gI/AAAAAAAAEu0/mhdfPX_a784/25.gif'/></div>
<div id='related-newest-href'><div id='related-newest-title'/></div>
<div id='related-older-href'><div id='related-older-title'/></div>
</div>
</b:if>

Bước 2: Chèn đoạn code bên dưới trước thẻ đóng </body>

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script type='text/javascript'>
//<![CDATA[
var showdate = false;
var max_post = 12;
//]]>
</script>    
<script type='text/javascript'>
//<![CDATA[
function format(ptime){
    return ptime.substr(0,19);
}
function formatdate(d){
    var month = [1,2,3,4,5,6,7,8,9,10,11,12];
    var month2 = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
    var m = parseInt(d.substring(5,7),10);
    for(var j=0; j<month.length;j++){
        if(m==month[j]){
            m = month2[j]; break;
        }
    }
    return d.substring(8,10) + "-" + m + "-" + d.substring(0,4);
}
function getRelatedNewestLinks(json){
    var entry = json.feed.entry;
    if(entry){
        for(var k=0;k<entry.length;k++){
            var li = document.createElement("li");
            if(showdate){
 li.innerHTML = "<a href='"+entry[k].link[4].href+"'>"+entry[k].title.$t+"</a>" + '- <i>' + formatdate(entry[k].published.$t) +'</i>';
            }
            else {li.innerHTML = "<a href='"+entry[k].link[4].href+"'>"+entry[k].title.$t+"</a>";}    
            if(!checkRelaxLinks("related-newest-href",entry[k].link[4].href)){
                document.getElementById("related-newest-href-ul1").appendChild(li);
 document.getElementById("related-newest-title").innerHTML = "<img src='https://lh4.googleusercontent.com/_PAuO_he0N0k/TYQYgvMFFLI/AAAAAAAAEuw/I2qzJMD2tHA/1.jpg' width='347' height='21'>"
            }
        }
    } else {document.getElementById("related-older-title").innerHTML = "Không có bài nào mới hơn cùng chủ đề";}
}
function getRelatedOlderLinks(json){
    var entry = json.feed.entry;
    if(entry){
        for(var k=0;k<entry.length;k++){
            var li = document.createElement("li");
            if(showdate){
 li.innerHTML = "<a href='"+entry[k].link[4].href+"'>"+entry[k].title.$t+"</a>" + ' - <i>' + formatdate(entry[k].published.$t) + '</i>';
            }
            else {li.innerHTML = "<a href='"+entry[k].link[4].href+"'>"+entry[k].title.$t+"</a>";}    
            if(!checkRelaxLinks("related-older-href",entry[k].link[4].href)){
                document.getElementById("related-older-href-ul2").appendChild(li);
 document.getElementById("related-older-title").innerHTML = "<img src='https://lh5.googleusercontent.com/_PAuO_he0N0k/TYQYgkneo2I/AAAAAAAAEus/ji_rqUm2S7E/2-1.jpg' width='347' height='21'>"
            }
        }
    } else {document.getElementById("related-older-title").innerHTML = "Không có bài nào cũ hơn cùng chủ đề";}    
        document.getElementById("related-posts-loading-text").style.display = "none";
}
function createRelatedJson(min_or_max,cRJ_label,fcn_callback,cRJ_max){
    var script = document.createElement("script");
 script.src = "/feeds/posts/summary/-/"+escape(cRJ_label)+"?orderby=published&max-results="+cRJ_max+"&published-"+min_or_max+"="+escape(format(document.getElementById("post-timestamp-for-related").innerHTML))+"&alt=json-in-script&callback="+fcn_callback;
 script.type = "text/javascript";
document.getElementsByTagName("head")[0].appendChild(script);
}
function checkRelaxLinks(cid,clink){
    var check = false;
    var u = document.getElementById(cid);
    var a = u.getElementsByTagName("a");  
    for(var i=0;i<a.length;i++){
        if(a[i].href==clink){
            check = true;
            break;
        }
    }
    var url = location.href.split(".html")[0]+".html";
    if(clink==url) check = true;
    return check;
}
function createRP(){
    var postLabel = document.getElementById("post-labels-for-related").innerHTML.split(',');
    var max_ = Math.round(max_post/postLabel.length);
    var ul1 = document.createElement('ul');
    ul1.id = 'related-newest-href-ul1';
    document.getElementById('related-newest-href').appendChild(ul1);
    for(var i=0; i<postLabel.length;i++){
         createRelatedJson("min",postLabel[i],"getRelatedNewestLinks",max_);
    }
    var ul2 = document.createElement('ul');
    ul2.id = 'related-older-href-ul2';
    document.getElementById('related-older-href').appendChild(ul2);
    for(var j=0; j<postLabel.length;j++){
         createRelatedJson("max",postLabel[j],"getRelatedOlderLinks",max_);
    }
}
createRP();
//]]>
</script>    
</b:if>

Trong đoạn code trên:
var showdate = false; nếu muốn hiện thị ngày đăng thì thay false thành true
var max_post = 12; số bài viết tối đa hiển thị là 12 bài.

Leave a Comment

sơn epoxy / sơn sàn epoxy / cửa lưới chống muỗi / vách ngăn lướii chống muỗi / cửa lùa chống muỗi / vệ sinh công nghiệp / đánh bóng sàn bê tông / vệ sinh nhà máy / dịch vụ giặt thảmm / vệ sinh nhà hàng / vệ sinh tòa nhà / dịch vụ vệ sinh kính / vệ sinh khách sạn / vệ sinh chung cư / dịch vụ cắt cỏ / đánh bóng kính / diệt côn trùng / diệt mối / diệt kiến / diệt muỗi / diệt ruồi / diệt gián / diệt chuột / dọn bể nước ngầm / phụ kiện mái che / cơ khí chế tạo / mái che di động / rèm nhựa / vách nhựa ngăn phòng lạnh / rèm nhựa phòng lạnh / dù che nắng / mái kéo di động / nhà bạt di động / mái xếp di động / mái hiên di động / thay bạt mái hiên di động / bạt che nắng / phụ kiện mái che di động / mái che sân thượng / mái che quán cafe / mái che di động miền bắc / mái che di động miền nam / bạt che di động hcm /