Daftar isi atau sitemap berfungsi untuk menampilkan link-link postingan berdasarkan waktu atau kategori. Halaman daftar isi sangat bermanfaat bagi pengunjung yang ingin menjelajahi lebih jauh isi dari sebuah situs/blog. Terdapat tiga macam istilah yang biasa orang gunakan untuk menyebut daftar isi, yaitu sitemap, index, dan daftar isi itu sendiri.
Sitemap atau peta situs lebih tepat digunakan untuk halaman yang menampilkan navigasi lengkap dari sebuah situs. Navigasi tersebut bisa berupa daftar link postingan, kategori, tag, halaman statis, dan lain sebagainya. Index, adalah kata yang digunakan untuk menyebut halaman yang mempunyai semua kata kunci (keyword), dan masing-masing kata kunci tersebut akan merujuk pada halaman posting dimana kata kunci tersebut berasal. Kata “index” lebih tepat penggunaannya bagi halaman yang berisikan tag cloud dan kategori. Sementara itu kata “daftar isi” sangat tepat jika digunakan untuk menyebut halaman yang HANYA berisikan link postingan dari awal hingga akhir.
Bagi pengguna WordPress, ada beberapa macam cara untuk membuat halaman khusus daftar isi, antara lain:

  • Menggunakan plugin Clean Archives Reloaded

    Plugin Clean Archives Reloaded berfungsi untuk menampilkan semua isi postingan berdasarkan waktu publikasi. Plugin ini menggunakan javascript sehingga tampilannya dapat expand-able maupun colapas-able. Bagi kebanyakan blogger yang mementingkan tampilan, plugin ini sangat menarik untuk dicoba.
    Saya sendiri tidak merekomendasikan plugin ini, disebabkan plugin ini akan menyisipkan javascript pada bagian header. Hal ini dapat menghambat performa atau kecepatan loading blog. Lihat kembali kerugian yang disebabkan oleh penggunaan javascript. Yah, walaupun perbedaannya tidak signifikan, namun tetap saja dalam hal performa, faktor sekecil apapun harus diperhitungkan. Namun semua itu kembali ke pilihan masing-masing pengguna.
  • Menggunakan plugin Dagon Design Sitemap Generator

    Fungsi plugin Dagon Design Sitemap Generator lebih kepada sitemap daripada daftar isi, karena plugin ini akan menampilkan semua postingan berdasarkan kategori atau waktu, serta juga menampilkan halaman-halaman statis lainnya. Salah satu kelebihan yang dimiliki plugin ini adalah daftar isi bisa dibagi menjadi beberapa halaman sebanyak yang kita inginkan. Sangat berguna bagi blog yang sudah mempunyai banyak artikel.
  • Menggunakan fungsi PHP (cara pertama)

    Cara ini bisa dikatakan cara yang sederhana untuk menampilkan daftar postingan berdasarkan waktu, karena tidak membutuhkan plugin apapun ataupun fungsi yang ditambahkan. Hanya saja tampilan dari daftar isi yang dihasilkan sangat sederhana, namun tetap usable (berguna).
    1. Buatlah sebuah file php baru, kemudian berilah nama (misal: daftar_isi.php)

    2. Jadikan file ini sebagai template halaman daftar isi, dengan menambahkan kode berikut:

      < ?php
      /*
      Template Name: Daftar Isi
      */
      ?>
      Untuk lebih jelasnya, silahkan lihat cara membuat template halaman.
    3. Setelah itu copy semua isi dari file single.php dan paste (tempel) ke bagian bawah kode template

      Kodenya bisa dilihat menjadi seperti:
      < ?php
      /*
      Template Name: Daftar Isi
      */
      ?> 
      
      <!-- Kode single.php di sini -->
    4. Cari kode berikut:

      < ?php the_content(); ?>
      atau
      < ?php the_content('Read the rest of this entry »'); ?>
      atau
      < ?php the_content('Read more'); ?>
      atau yang semisalnya
      Kemudian gantilah kode itu dengan kode berikut:
      <?php wp_get_archives('type=postbypost'); ?>
    5. Setelah selesai, save file tersebut

      Simpan (save) file tersebut dan upload ke direktori themes yang kita gunakan. Halaman tersebut dapat dijadikan template halaman untuk daftar isi. Penggunaanya cukup mudah, yaitu publish (terbitkan) sebuah halaman, dan setting halaman tersebut dengan template di atas.
    Cara yang pertama ini akan menampilkan seluruh artikel yang telah kita terbitkan dari awal hingga akhir. Jika kita mempunyai jumlah artikel yang masih sedikit hal tersebut tidak mengapa, tapi jika jumlah artikel kita sudah mencapai ratusan atau bahkan ribuan, penggunaan cara di atas sangat tidak dianjurkan.
  • Menggunakan fungsi PHP (cara kedua)

    Cara yang kedua dalam membuat daftar isi kurang lebih sama dengan cara pertama, hanya saja lebih kompleks. Dengan ini kita dapat membuat daftar isi yang dapat terbagi menjadi beberapa halaman yang bisa kita atur jumlah link dari masing-masing halaman tersebut. Untuk contohnya silahkan lihat daftar isi situs ini.
    1. Cara membuatnya hampir sama dengan yang cara pertama, yaitu membuat template halaman

      Setelah template halaman dibuat, kemudian kita mengadopsi struktur HTML, sehingga dapat kita tuliskan kode awalnya seperti berikut:
      <?php
      /*
      Template Name: Daftar Isi
      */
      ?>
      <?php get_header(); ?>
      
      <?php get_sidebar(); ?>
      <?php get_footer(); ?>
    2. Kemudian tambahkan fungsi sql dan PHP berikut di antara header dan sidebar.

      <ul>
      < ?php $page = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts("paged=$page&posts_per_page=50"); ?>
      
      < ?php while (have_posts()) : the_post(); ?> <!-- start loop -->
      
      <li> <!-- Bisa di edit -->
      < ?php the_time('d/m/y') ?>
       ==>
      <a href="<?php the_permalink(); ?>">< ?php the_title(); ?></a>
      </li> <!-- Bisa di edit -->
      
      < ?php endwhile; ?> <!-- end of loop -->
      
      </ul>
      Kode di atas adalah markah PHP murni, tanpa elemen CSS sama sekali. Jika anda ingin membuatnya menarik dan pas dengan theme yang anda pakai, anda dapat mengeditnya sendiri, dan anda yang paling tahu bagaimana melakukannya. Yang perlu dalam pengeditan ini adalah jangan ubah susunan/urutan kode, ataupun menyisipkan fungsi-fungsi PHP lain diantara barisan kode tersebut.
    3. Untuk navigasinya, tambahkan kode berikut di bawahnya:

      <div id="navigation"> <!-- element ini tergantung theme yg digunakan -->
      < ?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } else { ?>
      <div class="right">< ?php next_posts_link('Next Page »') ?></div>
      <div class="left">< ?php previous_posts_link('« Previous Page') ?></div>
      < ?php } ?>
      </div> <!-- element ditutup -->
      Disarankan untuk menginstall plugin wp-pagenavi, karena fungsi PHP untuk navigasi di atas sudah terintegrasi dengan plugin wp-pagenavi.
  • Cara manual dengan kode HTML (khusus pengguna WordPress.com)

    Update: Khusus untuk pengguna wordpress.com, saat ini wordpress telah menyediakan fitur untuk dapat membuat Daftar Isi pada Blog WordPress.Com. Ikut langkah-langkahnya di Cara Membuat Daftar Isi pada Blog WordPress.Com
    Disebabkan pihak WordPress.com tidak mengizinkan penggunanya mengedit theme/template yang ada, ataupun memasang plugin, maka satu-satunya cara untuk membuat daftar isi adalah dengan menuliskannya secara manual menggunakan kode HTML. Bisa dibilang cara ini sungguh melelahkan, karena setiap kali anda memposting suatu artikel, maka anda harus menuliskan atau mengedit halaman daftar isi. Tapi terimalah, karena itulah konsekwensi pengguna wordpress.com.
  • Menggunakan plugin Google XML Sitemaps

    Sengaja tidak dibahas, karena plugin ini tidaklah bermanfaat bagi pengunjung sebagai fitur navigasi yang bagus. Plugin ini hanya berguna untuk optimasi search engine saja. saya dapet reff ini dari rismaka.
Ok, selamat mencoba, semoga bermanfaat.