Noindex vs Canonical vs Robots Block
Tiga mekanisme untuk 'halaman ini jangan di-index' — dengan konsekuensi berbeda. Kapan pakai masing-masing.
Tiga mekanisme yang sering dicampur: noindex meta, canonical ke halaman lain, dan Disallow di robots.txt. Semua-nya bisa 'menyembunyikan' halaman dari search, tapi implikasi-nya beda. Salah pilih = efek tidak seperti diinginkan.
Decision table
| Goal | Mekanisme |
|---|---|
| Hapus halaman dari index, tapi crawler boleh visit | noindex meta |
| Transfer authority ke halaman lain (duplicate content) | canonical |
| Block crawler akses sepenuhnya (private, admin) | robots.txt Disallow |
| Block + noindex (maksimum hide) | noindex + robots.txt — TAPI gunakan dengan hati-hati |
| Halaman tidak penting tapi link ke internal link lain | noindex, follow |
Kombinasi BERBAHAYA
Robots.txt Disallow + noindex meta = konflik. Robots block bot dari akses halaman, sehingga bot tidak bisa BACA noindex meta. Halaman tetap muncul di index sebagai URL tanpa preview. Untuk noindex bekerja, crawler harus bisa akses halaman.
Mekanisme per skenario
- Halaman admin (/admin/, /pulse/)
robots.txt Disallow. Tidak boleh di-index. Tambah auth gate (401/403) extra.
- Halaman thank-you post-form submission
noindex meta. Halaman ini tidak useful untuk SERP.
- Halaman pagination (page 2, 3)
Self-canonical. JANGAN noindex (masih valuable untuk internal linking).
- Filter faceted navigation (color, size)
noindex, follow. Atau canonical ke parent kalau thin.
- Duplicate content (printer version, PDF)
canonical ke HTML primary.
- Halaman draft atau staging
robots.txt Disallow + noindex untuk double protection + authentication.
- Halaman search result internal
noindex, follow.
- Halaman error 404/500
Biarkan return HTTP status correct. Google handle automatic.
Template noindex
<!-- HTML meta --> <meta name="robots" content="noindex, follow"> <!-- HTTP header (untuk PDF, XML, non-HTML) --> X-Robots-Tag: noindex, follow
Verifikasi
- GSC > URL Inspection untuk halaman sample.Harus return 'Indexable' atau 'Excluded by noindex'.
- Cek HTTP header via curl.
curl -I https://... | grep -i robots - GSC > Coverage > Excluded.Category 'Noindex' atau 'Blocked by robots.txt' should reflect your intent.