Posts Subscribe comment Comments

cara membuat artikel terkait (related post) dibawah postingan

Share

Sudah cukup lama saya nggak nulis soal tutorial blog. Setelah mikir-mikir, akhirnya saya pilih tutorial cara membuat related post untuk postingan kali ini. Meski ini bukan teknik baru, tampaknya masih banyak blogger yang blognya belum disupport related post. Padahal, fungsi related post atau posting terkait atau artikel yang berhubungan cukup penting. Yakni pengunjung bisa dengan mudah menemukan informasi lain yang masih ada hubungannya dengan artikel yang sedang dibaca.
Keuntungan lain adalah kita bisa ‘mempromosikan’ artikel-artikel lama. Jika halaman blog diibaratkan toko, maka related post ini etalasenya.

Oke, langsung saja ke tutorialnya berikut ini:

1. Login ke blog anda

2. Masuk menu 'Layout-->Edit HTML'

3. Centang kotak 'Expand Widgets Template'

4. Cari kode ini <data:post.body/>

5. Letakkan script berikut ini di bawah kode <data:post.body/> tadi.

<b:if cond='data:blog.pageType == "item"'>
<div class='similiar'>

<div class='widget-content'>
<h3>Related Post</h3>
<div id='data2007'/><br/><br/>
<script type='text/javascript'>

var homeUrl3 = &quot;<data:blog.homepageUrl/>&quot;;
var maxNumberOfPostsPerLabel = 4;
var maxNumberOfLabels = 10;

maxNumberOfPostsPerLabel = 100;
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>

6. Simpan. Selesai.

Anda bisa mengganti tulisan 'Related Post' dengan kalimat lain misalnya 'posting terkait', 'artikel terkait', dll. Kalau di blog saya tulisannya 'Baca juga postingan di bawah ini'

Selamat mencoba.

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

8

Unknown nyarios ... :

Makasih atas Tipsnya...

terima kasih banyak untuk berbagi informasi, Semoga Tuhan memberikan yang terbaik buat Kita Semua

Obat Keputihan nyarios ... :

mengunjungi blog yang bagus dan penuh dengan informasi yang menarik adalah merupakan kebahagiaan tersendiri.... teruslah berbagi informasi

cream sari nyarios ... :

mantap mas, mau saya coba dan ini yg saya cari

Unknown nyarios ... :

Thanks For Your Artikel....
nice.....
Don't Forget Help Me to Follow My Blog
http://bersamaju.blogspot.com/

ace maxs nyarios ... :

makasih banyak buat infoya gan,, snagat bermanfaat sekali nih...

Unknown nyarios ... :

Game Poker dan Domino serta Bandar Ceme

Terbesar di Indonesia
JagoanPoker.com
Hadir dengan Hadiah Jackpot TERBESAR dan PERTAMA di Indonesia.
Jackpot Rp. 1.000 dapatkan 30 Juta Rupiah
Jackpot Rp. 2.000 Dapatkan 60 JuTa Rupiah
Telah di Percayai lebih dari 10.000 member aktif di Indonesia.
Game Poker dan Domino dan Bandar Ceme dalam 1 Website.
Gabung segera dengan www.JagoanPoker.com.

dendy nyarios ... :

Mantap infonya gan.
kunjungi balik gan http://apkseluler.blogspot.com/

Silahkan Tulis Komentar Anda ...

I know there is something in your head
Any type of comment will be accepted and published. Except spam!
thanx's very much

Design by Azis Lamayuda | Do The Best To Get The Best