Cara buat daftar isi otomatis tanpa src .js


Anda bisa merasakan perbedaan kecepatan loading halaman daftar isi blog anda nantinya dari 2 cara yang saya bagikan berikut ini. Bagaimana cara paling mudah membuat daftar isi otomatis tanpa src= ' bla-bla .js di blog anda. Hal inilah yang akan saya bahas kali ini. Sejauh yang saya pahami selama ini, memasukkan jenis src .js apapun kedalam blog anda akan membuat loading blog anda bertambah lama. Kenapa hal itu bisa terjadi ?, karena browser anda akan loading terlebih dahulu dari sumber url yang terdapat di dalam src tersebut.

Silahkan lihat perbedaan pagespeed score di Pagespeed insights developer google untuk 2 halaman daftar isi yang saya buat di bawah ini:

1. Daftar isi tanpa src.js.

2. Daftar isi dengan src.js.


Mungkin sudah sekitar puluhan artikel yang saya baca tentang membuat daftar isi otomatis, mulai dari membuat daftar isi otomatis sederhana di blog. Sampai membuat daftar isi otomatis yang keren di blog. Tetapi hampir semua posting blog menuliskan tutorial cara membuat daftar isi otomatis tersebut menggunakan scr = "bla-bla-bla . js". Dengan kata lain menggunakan javascript eksternal di blog anda.

Sebagai contoh saya akan berikan 2 cara membuat daftar isi otomatis di blog anda.

1. Cara membuat daftar isi otomatis di blog dengan .js.

Cara inilah yang paling banyak di jelaskan oleh para blogger baik dalam negeri maupun luar negeri. Untuk caranya silahkan anda  ikuti langkah-langkah di bawah ini.

1. Login terlebih dahulu di blogger.com.

2. Pilih blog yang akan anda buat daftar isinya (jika anda memiliki lebih dari 1 blog.

3. Di tabs seblah kiri draft blogger anda, silahkan pilih "Pages" atau "Halaman". Kemudian pilih "blank pages" atau "halaman kosong".

4. Selanjutnya anda lihat di sebelah kiri atas draft ada tabs "Compose" dan "HTML". Pilih yang "HTML".

5. Copy kode di bawah ini dan pastekan ke dalam kotak kosong tersebut. Script pertama saya memakai script dari sahabat Fian MT dengan halaman situs di http://www.fianetmu.com/2012/12/cara-membuat-daftar-isi-otomatis-di.html. Script ke dua silahkan ganti url blog saya dengan url blog anda.

<script src="http://scriptdaftarisiotomatis.googlecode.com/files/Daftar-isi-otomatis-blog.js"></script>

<script src="http://blog-seo-friendly-2013.blogspot.com/feeds/posts/default?max-results=9999&amp;alt=json-in-script&amp;callback=loadtoc"></script>

6. Klik "Preview" terlebih dahulu jika muncul daftar isi dari blog anda silahkan anda klik "Publish" atau "Terbitkan" di sebelah kanan atas draft postingan blog anda.

2. Cara membuat daftar isi tanpa .js.

Anda bisa membedakan kecepatan loading halaman daftar isi blog anda nantinya jika anda mencoba 2 cara saya di sini. Cara yang kedua ini saya coba bagikan pengalaman saya membuat daftar isi otomatis tanpa src= 'bla-bla-bla . js'. Berikut ini langkah-langkahnya:

Untuk nomor 1 sampai 4 tetap sama seperti cara nomor 1 di atas.

5. Copy kode di bawah ini dan pastekan ke dalam kotak kosong tersebut. Di script kedua silahkan ganti alamat url blog saya dengan url blog anda.

<script type="text/javascript">
var postTitle=new Array();var postUrl=new Array();var postMp3=new Array();var postDate=new Array();var postLabels=new Array();var postBaru=new Array();var sortBy="titleasc";var tocLoaded=false;var numChars=250;var postFilter="";var numberfeed=0;function loadtoc(a){function b(){if("entry"in a.feed){var d=a.feed.entry.length;numberfeed=d;ii=0;for(var h=0;h<d;h++){var n=a.feed.entry[h];var e=n.title.$t;var m=n.published.$t.substring(0,10);var j;for(var g=0;g<n.link.length;g++){if(n.link[g].rel=="alternate"){j=n.link[g].href;break}}var o="";for(var g=0;g<n.link.length;g++){if(n.link[g].rel=="enclosure"){o=n.link[g].href;break}}var c="";if("category"in n){for(var g=0;g<n.category.length;g++){c=n.category[g].term;var f=c.lastIndexOf(";");if(f!=-1){c=c.substring(0,f)}postLabels[ii]=c;postTitle[ii]=e;postDate[ii]=m;postUrl[ii]=j;postMp3[ii]=o;if(h<10){postBaru[ii]=true}else{postBaru[ii]=false}ii=ii+1}}}}}b();sortBy="titleasc";sortPosts(sortBy);sortlabel();tocLoaded=true;displayToc2();document.write('</br>')}function filterPosts(a){scroll(0,0);postFilter=a;displayToc(postFilter)}function allPosts(){sortlabel();postFilter="";displayToc(postFilter)}function sortPosts(d){function c(e,g){var f=postTitle[e];postTitle[e]=postTitle[g];postTitle[g]=f;var f=postDate[e];postDate[e]=postDate[g];postDate[g]=f;var f=postUrl[e];postUrl[e]=postUrl[g];postUrl[g]=f;var f=postLabels[e];postLabels[e]=postLabels[g];postLabels[g]=f;var f=postMp3[e];postMp3[e]=postMp3[g];postMp3[g]=f;var f=postBaru[e];postBaru[e]=postBaru[g];postBaru[g]=f}for(var b=0;b<postTitle.length-1;b++){for(var a=b+1;a<postTitle.length;a++){if(d=="titleasc"){if(postTitle[b]>postTitle[a]){c(b,a)}}if(d=="titledesc"){if(postTitle[b]<postTitle[a]){c(b,a)}}if(d=="dateoldest"){if(postDate[b]>postDate[a]){c(b,a)}}if(d=="datenewest"){if(postDate[b]<postDate[a]){c(b,a)}}if(d=="orderlabel"){if(postLabels[b]>postLabels[a]){c(b,a)}}}}}function sortlabel(){sortBy="orderlabel";sortPosts(sortBy);var a=0;var b=0;while(b<postTitle.length){temp1=postLabels[b];firsti=a;do{a=a+1}while(postLabels[a]==temp1);b=a;sortPosts2(firsti,a);if(b>postTitle.length){break}}}function sortPosts2(d,c){function e(f,h){var g=postTitle[f];postTitle[f]=postTitle[h];postTitle[h]=g;var g=postDate[f];postDate[f]=postDate[h];postDate[h]=g;var g=postUrl[f];postUrl[f]=postUrl[h];postUrl[h]=g;var g=postLabels[f];postLabels[f]=postLabels[h];postLabels[h]=g;var g=postMp3[f];postMp3[f]=postMp3[h];postMp3[h]=g;var g=postBaru[f];postBaru[f]=postBaru[h];postBaru[h]=g}for(var b=d;b<c-1;b++){for(var a=b+1;a<c;a++){if(postTitle[b]>postTitle[a]){e(b,a)}}}}function displayToc(a){var l=0;var h="";var e="Judul Artikel";var m="Klik untuk sortir berdasarkan judul";var d="Tanggal";var k="Klik untuk Sortir bedasarkan tanggal";var c="Kategori";var j="";if(sortBy=="titleasc"){m+=" (descending)";k+=" (newest first)"}if(sortBy=="titledesc"){m+=" (ascending)";k+=" (newest first)"}if(sortBy=="dateoldest"){m+=" (ascending)";k+=" (newest first)"}if(sortBy=="datenewest"){m+=" (ascending)";k+=" (oldest first)"}if(postFilter!=""){j="Klik untuk menampilkan semua"}h+="<table>";h+="
<tr>";h+='<td class="toc-header-col1">';h+='<a href="javascript:toggleTitleSort();" title="'+m+'">'+e+"</a>";h+="</td>";h+='<td class="toc-header-col2">';h+='<a href="javascript:toggleDateSort();" title="'+k+'">'+d+"</a>";h+="</td>";h+='<td class="toc-header-col3">';h+='<a href="javascript:allPosts();" title="'+j+'">'+c+"</a>";h+="</td>";h+='<td class="toc-header-col4">';h+="Download MP3";h+="</td>";h+="</tr>
";for(var g=0;g<postTitle.length;g++){if(a==""){h+='
<tr><td class="toc-entry-col1"><a href="'+postUrl[g]+'">'+postTitle[g]+'</a></td><td class="toc-entry-col2">'+postDate[g]+'</td><td class="toc-entry-col3">'+postLabels[g]+'</td><td class="toc-entry-col4"><a href="'+postMp3[g]+'">Download</a></td></tr>
';l++}else{z=postLabels[g].lastIndexOf(a);if(z!=-1){h+='
<tr><td class="toc-entry-col1"><a href="'+postUrl[g]+'">'+postTitle[g]+'</a></td><td class="toc-entry-col2">'+postDate[g]+'</td><td class="toc-entry-col3">'+postLabels[g]+'</td><td class="toc-entry-col4"><a href="'+postMp3[g]+'">Download</a></td></tr>
';l++}}}h+="</table>
";if(l==postTitle.length){var f='<span class="toc-note">Menampilkan Semua '+postTitle.length+" Artikel<br/></span>"}else{var f='<span class="toc-note">Menampilkan '+l+" artikel dengan kategori '";f+=postFilter+"' dari "+postTitle.length+" Total Artikel<br/></span>"}var b=document.getElementById("toc");b.innerHTML=f+h}function displayToc2(){var a=0;var b=0;while(b<postTitle.length){temp1=postLabels[b];document.write("<p/>");document.write('<p>
'+temp1+"</p>
<ol>");firsti=a;do{document.write("
<li>");document.write('<a href="'+postUrl[a]+'" title="'+postTitle[a]+'">'+postTitle[a]+"</a>");if(postBaru[a]==true){document.write('')}document.write("</li>
");a=a+1}while(postLabels[a]==temp1);b=a;document.write("</ol>
");sortPosts2(firsti,a);if(b>postTitle.length){break}}}function toggleTitleSort(){if(sortBy=="titleasc"){sortBy="titledesc"}else{sortBy="titleasc"}sortPosts(sortBy);displayToc(postFilter)}function toggleDateSort(){if(sortBy=="datenewest"){sortBy="dateoldest"}else{sortBy="datenewest"}sortPosts(sortBy);displayToc(postFilter)}function showToc(){if(tocLoaded){displayToc(postFilter);var a=document.getElementById("toclink")}else{alert("Just wait... TOC is loading")}}function hideToc(){var a=document.getElementById("toc");a.innerHTML="";var b=document.getElementById("toclink");b.innerHTML='<a href="#" onclick="scroll(0,0); showToc(); Effect.toggle(\'toc-result\',\'blind\');">?? Menampilkan Daftar Isi</a> <img src="http://radiorodja.googlepages.com/new_1.gif"/>'}function looptemp2(){for(var a=0;a<numberfeed;a++){document.write("<br>");document.write('Post Link          : <a href="'+postUrl[a]+'">'+postTitle[a]+"</a><br>");document.write('Download mp3  : <a href="'+postMp3[a]+'">'+postTitle[a]+"</a><br>");document.write("<br>")}};
</script>

<script src="http://blog-seo-friendly-2013.blogspot.com/feeds/posts/default?max-results=9999&amp;alt=json-in-script&amp;callback=loadtoc"></script>

6. Klik "Preview" terlebih dahulu dan jika muncul daftar isi dari blog anda, silahkan klik "Publish".

Kesimpulan:


1. Sediakan daftar isi atau table of content dalam blog anda untuk memudahkan pengunjung menavigasi dan mengetahui apa saja konten yang terdapat dalam blog anda.

2. Membuat daftar isi tidak harus memakakai script eksternal dari pihak ketiga. Anda pun bisa membuat script tersebut menjadi internal yang berguna untuk meningkatkan kecepatan loading blog anda.

3. Tingkatkan kecepatan loading halaman blog anda secepat yang anda bisa dengan tujuan untuk memuaskan visitor yang berkunjung di blog anda. Tetaplah ingat bahwa google tidak menyukai blog yang lambat loading, user pun juga tidak, saya juga tidak menyukainya, dan saya yakin anda pun tidak menyukai blog lambat loading.