Sitemap Index: Panduan Lengkap File Indeks Sitemap
Begitu situs melewati 50.000 URL — atau sekadar ingin rapi — satu sitemap tidak lagi cukup. Sitemap index adalah daftar isinya, dan aturannya lebih sederhana dari kelihatannya.
Sitemap index adalah file XML yang mendaftarkan file sitemap lain, bukan halaman. Anda membutuhkannya begitu satu sitemap melewati 50.000 URL atau 50 MB, atau saat ingin memisahkan sitemap per tipe konten, bahasa, atau tanggal. Satu index boleh memuat hingga 50.000 sitemap, dan hanya index itulah yang perlu disubmit.
Apa itu <sitemapindex>?
Secara struktur, sitemap index hampir kembar dengan sitemap biasa. Bedanya ada dua: elemen root-nya <sitemapindex> alih-alih <urlset>, dan setiap entri <sitemap> menunjuk ke sebuah file sitemap, bukan ke sebuah halaman. Crawler yang menemukan index akan membacanya, lalu mengambil dan memproses setiap sitemap anak yang tercantum di dalamnya. Bagi mesin pencari, hasil akhirnya sama seperti Anda mensubmit semua sitemap anak satu per satu — hanya lebih rapi.
Kapan Anda membutuhkan sitemap index
- Melewati batas. Lebih dari 50.000 URL atau 50 MB tanpa kompresi dalam satu file berarti wajib memecah — dan pecahan-pecahan itu perlu dirangkai oleh sebuah index.
- Organisasi per tipe konten.
sitemap-produk.xml,sitemap-blog.xml,sitemap-kategori.xml: Search Console menampilkan statistik per file, sehingga Anda langsung tahu bagian situs mana yang bermasalah indeksasinya. - Organisasi per bahasa. Situs multibahasa sering memakai satu sitemap per lokal, dirangkai satu index.
- Organisasi per tanggal. Situs berita dan arsip besar memecah per bulan atau per tahun, sehingga hanya file periode berjalan yang perlu diregenerasi.
Situs kecil dengan beberapa ratus halaman tidak membutuhkan index; satu sitemap sederhana lebih mudah dirawat. Namun jika Anda memperkirakan pertumbuhan — katalog produk yang bertambah ribuan item per bulan, misalnya — membangun struktur index sejak awal lebih murah daripada migrasi mendadak saat batasnya tercapai.
Penamaan dan penempatan file
Protokol tidak mengatur nama file, tetapi konvensi yang jelas menghemat banyak kebingungan: sitemap.xml atau sitemap_index.xml untuk index di root situs, lalu nama deskriptif untuk anak-anaknya (sitemap-produk-1.xml, sitemap-blog.xml). Satu hal yang diatur protokol: sebuah sitemap hanya boleh memuat URL dari direktori tempat ia berada ke bawah. Meletakkan semua file di root menghindari masalah cakupan ini sepenuhnya. Banyak CMS dan generator — WordPress, Next.js, Astro — sudah menghasilkan struktur index otomatis dengan konvensi masing-masing; sebelum menulis milik sendiri, periksa apakah platform Anda sudah menyediakannya.
Contoh lengkap
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-produk.xml</loc>
<lastmod>2026-07-15T22:10:00+00:00</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-blog.xml</loc>
<lastmod>2026-07-10</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-halaman.xml.gz</loc>
<lastmod>2026-06-28</lastmod>
</sitemap>
</sitemapindex>
Perhatikan: namespace-nya sama persis dengan sitemap biasa, setiap <loc> berupa URL absolut, dan sitemap anak boleh berupa file .xml.gz terkompresi.
Aturan yang berlaku
- Maksimal 50.000 sitemap per index, dan file index sendiri dibatasi 50 MB tanpa kompresi. Dengan 50.000 anak × 50.000 URL, satu index secara teoritis melingkupi 2,5 miliar URL — lebih dari cukup untuk situs mana pun.
- Index bersarang tidak diizinkan. Sebuah
<sitemapindex>hanya boleh menunjuk ke sitemap biasa, bukan ke index lain. Protokol sitemaps.org eksplisit soal ini, dan validator akan menandainya. - Host yang sama. Sitemap anak harus berada di host yang sama dengan index-nya, kecuali dideklarasikan lewat robots.txt lintas host.
- <lastmod> per anak bersifat opsional tetapi berharga. Isi dengan waktu terakhir file sitemap anak itu berubah. Crawler memakainya untuk memutuskan anak mana yang perlu diambil ulang — di situs besar, ini menghemat crawl budget secara nyata.
Submit hanya index-nya
Di Google Search Console dan Bing Webmaster Tools, cukup submit URL file index. Semua sitemap anak ditemukan dan diproses otomatis, dan Search Console tetap menampilkan rincian status per anak di bawah entri index — klik entri index untuk melihat berapa URL yang ditemukan dan diindeks dari masing-masing anak. Mensubmit anak satu per satu di samping index-nya tidak salah, tetapi mubazir dan membuat laporan berantakan. Hal yang sama berlaku untuk robots.txt: satu baris Sitemap: yang menunjuk ke index sudah mencakup semuanya.
Setelah submit, jadikan laporan per anak itu alat diagnosis rutin: kalau sitemap-produk.xml menunjukkan rasio indeksasi yang jauh lebih rendah dari anak lain, Anda tahu persis bagian situs mana yang perlu diperiksa — kualitas kontennya, tautan internalnya, atau kesehatan file sitemap-nya sendiri.
Bagaimana validator memeriksa sebuah index
Validator yang baik bekerja dua tahap. Pertama, file index itu sendiri: sintaks XML, elemen root <sitemapindex>, namespace, setiap <loc> absolut dan valid, format <lastmod>, batas jumlah entri. Kedua, anak-anaknya: setiap URL anak harus bisa diambil dan lolos validasi sebagai sitemap penuh. Tahap kedua inilah yang sering terlewat saat memeriksa manual — index yang mulus bisa saja menunjuk ke lima anak yang tiga di antaranya rusak.
Validator WebDoctor memvalidasi index-nya lalu menampilkan daftar semua sitemap anak dengan tombol validasi satu klik untuk masing-masing, sehingga Anda bisa menelusuri seluruh hierarki tanpa menyalin URL bolak-balik antar alat.
Kesalahan index yang paling umum
| Kesalahan | Akibat | Perbaikan |
|---|---|---|
| Root memakai <urlset> padahal isinya daftar sitemap | Anak diperlakukan sebagai halaman dan indeksasi kacau | Ganti root menjadi <sitemapindex> |
| Index menunjuk ke index lain | Dilarang protokol; cabang itu diabaikan | Ratakan struktur: index → sitemap → URL |
| Sitemap anak 404 atau redirect | Seluruh isi anak tidak pernah dirayapi | Perbaiki URL anak, validasi tiap anak |
| lastmod index tidak pernah diperbarui | Crawler malas mengambil ulang anak yang berubah | Perbarui lastmod saat anak diregenerasi |
| Anak di host atau skema berbeda | Anak diabaikan sebagai lintas host | Samakan host dan https di semua level |
| Submit semua anak plus index | Laporan Search Console ganda dan membingungkan | Submit index-nya saja |
Rangkuman praktis
- Pecah sitemap begitu mendekati 50.000 URL, atau lebih awal demi kerapian per tipe konten.
- Rangkai pecahan dengan satu
<sitemapindex>— namespace sama, URL absolut, tanpa nesting. - Isi
<lastmod>per anak dengan jujur, seperti dijelaskan di praktik terbaik sitemap. - Submit hanya index-nya di Search Console, deklarasikan di robots.txt, dan validasi seluruh hierarki secara berkala.
Struktur index yang benar dibuat sekali dan nyaris tidak pernah disentuh lagi — yang berubah dari hari ke hari hanyalah isi sitemap anak dan nilai lastmod-nya. Investasi setengah jam hari ini menghemat berjam-jam penelusuran masalah indeksasi di kemudian hari.