Cara Memperbaiki Error Sitemap XML Paling Umum
Hampir semua sitemap yang gagal divalidasi jatuh karena segelintir kesalahan yang sama. Panduan ini membahas satu per satu — gejala, penyebab, dan perbaikannya.
Sebagian besar error sitemap XML berasal dari sembilan penyebab yang itu-itu saja: namespace yang salah, karakter yang tidak di-escape, URL relatif, tanggal lastmod cacat, file yang melebihi batas, respons server yang bukan XML, URL di host lain, konflik dengan robots.txt, dan kegagalan pengambilan di Search Console. Semuanya bisa diperbaiki dalam hitungan menit begitu penyebabnya teridentifikasi.
1. Namespace salah atau hilang
Elemen root <urlset> wajib mendeklarasikan namespace resmi, persis karakter demi karakter:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
Kesalahan yang sering terjadi: salah ketik satu huruf, memakai https:// alih-alih http:// pada URL namespace, atau menyalin namespace lama versi 0.84 dari tutorial usang. Parser yang ketat akan menolak seluruh file hanya karena ini. Solusinya sederhana: salin baris di atas apa adanya dari dokumentasi sitemaps.org dan jangan pernah mengetiknya manual.
2. Karakter & < > " ' yang tidak di-escape
XML punya lima karakter yang wajib ditulis sebagai entitas. Pelanggar nomor satu adalah tanda & pada URL dengan parameter query. Yang benar:
<loc>https://example.com/produk?warna=merah&ukuran=xl</loc>
Aturannya: & menjadi &, < menjadi <, > menjadi >, " menjadi ", dan ' menjadi '. Jika sitemap dibuat oleh generator yang baik, ini sudah otomatis; error ini hampir selalu muncul pada sitemap yang dirakit manual atau lewat template string.
3. URL relatif atau tanpa skema
Setiap <loc> harus berupa URL absolut lengkap dengan skema. Path relatif seperti /blog/artikel/ atau URL tanpa skema seperti //example.com/halaman/ tidak valid menurut protokol. Crawler tidak menebak-nebak; entri seperti itu dibuang. Pastikan generator Anda menyematkan base URL produksi, bukan URL staging atau localhost yang kadang ikut terbawa saat build.
4. Format lastmod tidak valid dan tanggal masa depan
Nilai <lastmod> harus mengikuti format datetime W3C: 2026-07-16 atau 2026-07-16T09:30:00+00:00. Format lokal seperti 16/07/2026, timestamp Unix, atau teks bebas semuanya ditolak. Tanggal di masa depan juga bermasalah: Google secara terbuka menyatakan hanya memakai lastmod jika nilainya konsisten dan bisa dipercaya, dan tanggal yang mustahil merusak kepercayaan itu untuk seluruh file. Periksa juga zona waktu server Anda — selisih zona waktu adalah penyebab klasik tanggal “besok”.
5. Melebihi 50.000 URL atau 50 MB
Satu file sitemap dibatasi 50.000 URL dan 50 MB tanpa kompresi. Melewati salah satunya membuat file ditolak. Solusinya bukan memadatkan, melainkan memecah: bagi URL ke beberapa file (misalnya per 40.000 entri) lalu daftarkan semuanya dalam sebuah sitemap index. Panduan sitemap index kami membahas caranya langkah demi langkah.
6. Sitemap mengembalikan 404, redirect, atau HTML
URL sitemap harus menjawab HTTP 200 dengan isi XML. Tiga kegagalan yang paling umum:
- 404 — file tidak pernah ter-deploy, atau path-nya berubah setelah migrasi.
- Redirect —
http://dialihkan kehttps://, atau non-www ke www. Crawler bisa mengikuti satu redirect, tetapi rantai panjang atau redirect ke halaman error membuat pengambilan gagal. Daftarkan langsung URL finalnya. - HTML menyamar — server mengembalikan halaman error 200 bertema “halaman tidak ditemukan”, atau firewall menyuguhkan halaman tantangan. Isinya HTML, bukan XML, dan parsing langsung gagal di baris pertama.
Cara cepat mendiagnosis: buka URL sitemap di tab penyamaran browser dan lihat apa yang benar-benar dikembalikan, atau masukkan ke validator kami yang melaporkan kode HTTP dan tipe konten yang diterima.
7. URL di host yang berbeda
Sitemap di https://www.example.com/sitemap.xml hanya boleh memuat URL di https://www.example.com/. URL versi non-www, versi http://, atau subdomain lain dianggap lintas host dan diabaikan, kecuali sitemap tersebut dideklarasikan di robots.txt host yang bersangkutan. Kasus paling sering: situs pindah ke https tetapi generator sitemap masih menulis http://. Selaraskan semuanya dengan versi kanonis situs Anda.
8. Halaman yang diblokir robots.txt atau ber-noindex
Sitemap adalah undangan untuk merayapi; robots.txt dan meta robots adalah larangan. Jika keduanya bertentangan, crawler menerima sinyal campur aduk dan Search Console menampilkan peringatan. Keluarkan dari sitemap semua URL yang di-disallow di robots.txt atau ber-tag noindex — sitemap idealnya hanya berisi halaman yang memang Anda ingin diindeks, seperti dibahas dalam praktik terbaik sitemap.
9. “Couldn't fetch” di Google Search Console
Status ini artinya Googlebot gagal mengunduh file-nya sama sekali. Periksa berurutan: (1) URL yang disubmit benar dan bebas salah ketik; (2) file menjawab 200 untuk semua klien, termasuk bot — beberapa firewall dan proteksi bot memblokir Googlebot; (3) robots.txt tidak melarang path sitemap itu sendiri; (4) server tidak terlalu lambat atau kehabisan waktu. Kadang status ini juga muncul sesaat setelah submit pertama dan hilang sendiri setelah percobaan ulang Google — beri waktu satu hingga dua hari sebelum panik.
Tabel ringkas: gejala → penyebab → solusi
| Gejala | Penyebab umum | Solusi |
|---|---|---|
| Parser menolak seluruh file | Namespace salah atau hilang | Salin namespace resmi 0.9 apa adanya |
| Error sintaks di tengah file | & mentah dalam URL | Escape menjadi & (juga < > " ') |
| Entri dibuang crawler | URL relatif / tanpa skema | Tulis URL absolut lengkap dengan https:// |
| lastmod diabaikan Google | Format non-W3C atau tanggal masa depan | Pakai 2026-07-16, periksa zona waktu server |
| File ditolak karena ukuran | >50.000 URL atau >50 MB | Pecah file, rangkai dengan sitemap index |
| “Couldn't fetch” / bukan XML | 404, redirect, halaman HTML, firewall | Pastikan 200 + XML langsung di URL final |
| URL diabaikan massal | Host berbeda (www/non-www, http/https) | Samakan host dan skema dengan versi kanonis |
| Peringatan indeks vs robots | Sitemap memuat URL yang diblokir/noindex | Keluarkan URL itu dari sitemap |
Alur kerja perbaikan yang disarankan
- Jalankan sitemap Anda melalui validator sitemap dan catat semua error serta peringatan.
- Perbaiki error struktural dulu (namespace, escaping, sintaks) — tanpa itu, sisanya tidak akan terbaca.
- Bersihkan entri per URL: absolut, host benar, tidak diblokir, tidak duplikat.
- Validasi ulang sampai hijau, lalu submit ulang di Search Console dan pantau laporan Sitemaps beberapa hari berikutnya.
Sitemap yang bersih tidak mengangkat peringkat secara ajaib, tetapi menghilangkan gesekan antara situs Anda dan crawler — dan itu prasyarat semua hal baik lainnya.