robots.txt dan noindex punya fungsi berbeda. Ringkasnya: robots.txt menentukan apakah crawler boleh meminta URL; noindex memberi tahu sistem yang mendukungnya agar halaman tidak disimpan dalam indeks.
Google menjelaskan bahwa robots.txt bukan mekanisme yang tepat untuk menjamin halaman web biasa hilang dari Google Search. URL yang diblokir masih bisa ditemukan dari link, sitemap, redirect, atau data historis.
Perbedaan kontrol
| Kontrol | Tujuan | Lokasi | Harus memuat halaman? |
|---|---|---|---|
Disallow | Membatasi crawling | /robots.txt | Tidak |
meta robots noindex | Mencegah pengindeksan HTML | <head> | Ya |
X-Robots-Tag: noindex | Mengontrol resource non-HTML juga | Header HTTP | Ya |
| Autentikasi | Melindungi akses | Server/aplikasi | Tidak boleh publik |
Crawler tidak dapat membaca noindex di halaman jika robots.txt mencegahnya meminta URL tersebut.
Konfigurasi yang sering gagal
User-agent: *
Disallow: /members-preview/
bersama:
<meta name="robots" content="noindex">
Googlebot mungkin tidak bisa membaca tag tersebut. Jika URL ditemukan dari tempat lain, URL masih dapat muncul di hasil tanpa snippet.
Untuk halaman publik yang hanya ingin dikeluarkan dari indeks, biasanya lebih tepat mengizinkan crawling dan mengirim noindex.
Kapan menggunakan robots.txt
Gunakan untuk mengontrol crawling pada area bernilai rendah seperti pencarian internal, keranjang, sesi, atau beberapa URL facet.
User-agent: *
Disallow: /pencarian-internal/
Disallow: /cart/
Allow: /
Sitemap: https://example.com/sitemap.xml
Uji URL penting sebelum memblokir direktori yang luas.
Kapan menggunakan noindex
Untuk URL publik yang boleh diakses tetapi tidak ingin ditampilkan di hasil:
<meta name="robots" content="noindex">
Untuk PDF atau resource lain:
X-Robots-Tag: noindex
Keduanya memerlukan crawler untuk menerima respons.
“Terindeks meski diblokir robots.txt”
Ini tidak bertentangan. Crawling dan pengindeksan adalah sistem berbeda. Mesin pencari bisa mengetahui keberadaan URL tanpa mengambil konten terbaru.
Jika URL benar-benar harus hilang, tentukan apakah aman bagi crawler untuk mengaksesnya. Jika publik, hapus blokir lalu kirim noindex; jika privat, gunakan autentikasi.
Jangan menaruh Noindex di robots.txt
Contoh lama kadang memakai:
Noindex: /contoh/
Google tidak mendukung noindex sebagai directive robots.txt. Gunakan meta robots atau X-Robots-Tag.
Prinsip yang sama berlaku untuk pencarian AI
OpenAI juga membedakan pemblokiran OAI-SearchBot dan noindex. URL yang diketahui dari sumber lain dapat tetap muncul sebagai link/judul, sehingga directive pengindeksan harus dapat dibaca crawler.
Urutan keputusan
- Data privat? Gunakan autentikasi.
- Halaman publik tapi tidak ingin muncul di hasil? Izinkan crawling +
noindex. - Halaman indexable tapi crawling-nya boros? Evaluasi robots.txt.
- Hanya satu crawler perlu kebijakan berbeda? Gunakan grup User-agent khusus.
- Masalah duplikat? Periksa canonical, redirect, dan arsitektur URL.
robots.txt mengontrol crawling, noindex mengontrol pengindeksan, dan autentikasi mengontrol akses.