Cek Kenapa Halaman Tidak Terindeks Google
Masukkan URL, nanti kelihatan apa saja yang bikin Google tidak mau mengindeks halaman itu, lengkap dengan nama statusnya di Search Console. Tool ini mengecek penghalangnya, bukan isi index Google.
Hasil cek
Rantai redirect
| # | URL | Status |
|---|
Apa yang bisa dan tidak bisa dicek tool ini?
Tidak ada tool dari luar yang bisa membaca index Google. Satu-satunya sumber yang pasti adalah Inspeksi URL (URL Inspection) di Search Console, itu pun hanya untuk website yang sudah kamu verifikasi.
Yang bisa dilakukan tool ini adalah mengambil halaman seperti Googlebot, lalu mencari hal yang menghalangi pengindeksan: status selain 200, redirect, noindex, canonical yang menunjuk ke URL lain, aturan robots.txt, atau halaman yang terlihat kosong. Di akun Search Console klien yang saya pegang, sebagian besar baris di laporan "Alasan halaman tidak diindeks" penyebabnya salah satu dari itu. Semuanya bisa dicek dari luar.
Jadi baca hasilnya sebagai jawaban untuk pertanyaan "ada penghalang teknis atau tidak?". Bisa diindeks artinya tidak ada penghalang yang ditemukan. Bukan berarti halamannya sudah terindeks, dan bukan jaminan Google akan mengindeksnya.
Arti status di Search Console dan cara memperbaikinya
Nama status di bawah sama dengan yang muncul di laporan Pengindeksan halaman (Page indexing) Search Console, versi Indonesia dan Inggris. Tool ini menuliskan nama statusnya di samping setiap baris yang bermasalah, jadi kamu bisa langsung mencocokkannya dengan laporan.
| Yang ditemukan | Status di Search Console | Cara memperbaiki |
|---|---|---|
| 404 atau 410 | Tidak ditemukan (404) / Not found (404) | Kembalikan halamannya, atau redirect 301 ke halaman aktif yang paling mirip |
| 5xx, timeout, koneksi ditolak | Error server (5xx) / Server error (5xx) | Perbaiki hosting, cache, atau template yang error |
| 401 atau 403 | Diblokir karena permintaan yang tidak sah (401) / Blocked due to unauthorized request (401); Diblokir karena akses dilarang (403) / Blocked due to access forbidden (403) | Buka kunci login, atau ubah aturan firewall supaya Googlebot bisa masuk |
| Redirect 3xx ke URL lain | Halaman dengan pengalihan (Page with redirect) | Biarkan kalau memang disengaja, lalu perbarui link internal |
| Redirect berputar atau lebih dari 5 kali | Error pengalihan (Redirect error) | Redirect langsung ke URL akhir |
| Aturan Disallow cocok untuk Googlebot | Diblokir oleh robots.txt (Blocked by robots.txt) | Hapus atau persempit aturannya |
| noindex di meta robots, meta googlebot, atau X-Robots-Tag | Dikecualikan oleh tag 'noindex' (Excluded by 'noindex' tag) | Hapus noindex-nya |
| Canonical ke URL lain yang aktif | Halaman alternatif dengan tag kanonis yang tepat (Alternate page with proper canonical tag) | Biarkan untuk halaman duplikat. Kalau halaman ini yang mau dirankingkan, pasang canonical ke dirinya sendiri |
| Canonical ke URL yang rusak atau di-redirect | Sering jadi Duplikat, Google memilih versi kanonis yang berbeda dengan pengguna (Duplicate, Google chose different canonical than user) | Arahkan canonical ke halaman dengan status 200 |
| Status 200 tapi judulnya seperti error, atau hampir tanpa teks | Soft 404 | Pakai status 404 yang benar, atau isi halamannya dengan konten sungguhan |
Cara Google membaca robots.txt
Banyak tool salah di bagian ini, jadi tool ini mengikuti aturan resmi Google. Googlebot memakai grup dengan User-agent: Googlebot. Kalau grup itu tidak ada, baru Googlebot memakai User-agent: *. Grup untuk Googlebot-News tidak berlaku untuk crawling biasa.
Di dalam grup, yang menang adalah aturan dengan path cocok paling panjang, tidak peduli urutannya. Kalau Allow dan Disallow sama panjang, Allow yang menang. Tanda * cocok dengan karakter apa saja dan $ menandai akhir URL. Jadi Disallow: /*.pdf$ memblokir /panduan.pdf, tapi tidak memblokir /panduan.pdf?v=2.
Status file robots.txt-nya juga berpengaruh. Kalau 404, artinya tidak ada aturan, jadi semua boleh dirayapi. Kalau 5xx, 429, atau timeout, Google berhenti merayapi seluruh website sampai file itu bisa dibaca lagi. Google juga hanya membaca 500 KB pertama file robots.txt.
noindex dan canonical yang saling bertabrakan
noindex bisa dipasang di 3 tempat: <meta name="robots">, <meta name="googlebot">, atau header HTTP X-Robots-Tag. Header ini satu-satunya cara memasang noindex di PDF dan gambar. Tool ini membaca ketiganya, dan nilai none juga dihitung sebagai noindex.
Kesalahan yang paling sering saya temukan: halaman diblokir di robots.txt sekaligus diberi noindex. Karena Google tidak boleh merayapinya, noindex itu tidak pernah terbaca. URL-nya tetap bisa masuk index hanya dari link, dengan status "Halaman diindeks meskipun diblokir oleh file robots.txt" (Indexed, though blocked by robots.txt).
Kalau mau mengeluarkan halaman dari Google, biarkan Google merayapinya dengan noindex sampai halamannya hilang dari index. Setelah itu baru blokir di robots.txt, kalau memang perlu.
Tag canonical itu petunjuk, bukan perintah. Kalau canonical menunjuk ke URL yang 404, di-redirect, atau noindex, Google biasanya mengabaikannya dan memilih canonical sendiri. Karena itu tool ini ikut mengambil URL tujuan canonical, tidak cuma membaca tag-nya.
Apa itu soft 404 dan halaman tipis?
Soft 404 adalah halaman berstatus 200 yang isinya seperti halaman error atau kosong. Misalnya "Produk tidak ditemukan", hasil pencarian kosong, atau kategori tanpa produk.
Tool ini menandai dua hal: title atau H1 yang terbaca seperti pesan error, dan isi HTML yang kurang dari sekitar 60 kata. Dua-duanya petunjuk, bukan bukti pasti. Website yang menyusun teksnya lewat JavaScript juga akan terlihat tipis di sini, karena tool ini membaca HTML mentah. Google baru merender JavaScript belakangan, jadi untuk halaman seperti itu pakai Uji URL Aktif (Test Live URL) di Inspeksi URL untuk melihat versi yang sudah dirender.
Semua cek lolos tapi halaman tetap tidak terindeks?
Berarti masalahnya bukan teknis. "Ditemukan - saat ini tidak diindeks" (Discovered - currently not indexed) artinya Google sudah tahu URL-nya tapi belum merayapinya. Biasanya ini soal prioritas crawling: link internalnya sedikit, website-nya besar, atau server-nya lambat.
"Di-crawl - saat ini tidak diindeks" (Crawled - currently not indexed) artinya Google sudah mengambil halamannya, tapi memutuskan halaman itu belum layak diindeks. Biasanya karena isinya tipis, terlalu mirip halaman lain, atau memang masih baru.
Dua status ini tidak punya tag yang bisa kamu hapus. Tambahkan link ke halaman itu dari halaman yang sudah terindeks, bikin isinya jelas berbeda dari halaman lain, lalu beri waktu. Urutan pengecekannya saya bahas di artikel why your pages are not indexed (bahasa Inggris).