Pencocokan robots.txt bukan “baris terakhir menang”. Jika beberapa aturan Allow dan Disallow cocok, aturan yang paling spesifik menjadi faktor utama. RFC 9309 menilai aturan paling spesifik berdasarkan panjang path yang cocok dan merekomendasikan Allow jika ada konflik dengan tingkat spesifik yang sama.
Google mendokumentasikan prinsip praktis yang sama dan mendukung * serta $ pada pola path.
Arti * dan $
*cocok dengan nol atau lebih karakter;$menandai akhir URL.
User-agent: *
Disallow: /*.pdf$
Pola ini menargetkan path yang berakhir dengan .pdf. Tanpa $, cakupannya lebih luas.
* di akhir sering tidak diperlukan
Disallow: /private
dan:
Disallow: /private*
memiliki cakupan praktis yang sangat mirip pada Google. Jika maksudnya direktori, /private/ lebih jelas.
Pencocokan terpanjang lebih penting daripada urutan baris
User-agent: *
Disallow: /products/
Allow: /products/public/
Untuk /products/public/widget, kedua aturan cocok, tetapi /products/public/ lebih spesifik sehingga URL diizinkan. Jangan mengandalkan perubahan urutan baris sebagai mekanisme prioritas.
Jika Allow dan Disallow sama spesifik
RFC 9309 merekomendasikan Allow. Meski begitu, aturan yang eksplisit lebih mudah dipelihara daripada sengaja bergantung pada kondisi seri.
Path peka huruf besar/kecil
Disallow: /Admin/
tidak selalu sama dengan:
Disallow: /admin/
Uji varian yang benar-benar disajikan aplikasi.
Parameter dan e-commerce
User-agent: *
Disallow: /*?sort=
bisa berperilaku berbeda jika urutan beberapa parameter berubah. Untuk navigasi facet, kombinasikan robots.txt dengan arsitektur URL, internal linking, dan canonical.
Pilih aturan sederhana bila bisa
Disallow: /pencarian-internal/
lebih mudah dirawat daripada kumpulan pola rumit. Gunakan wildcard bila prefix yang stabil memang tidak cukup.
Uji URL nyata
Dengan:
User-agent: *
Disallow: /reports/
Allow: /reports/public/
Disallow: /*.csv$
uji setidaknya:
/reports/private/quarterly/reports/public/overview/downloads/data.csv/downloads/data.csv?preview=1/REPORTS/private/quarterly
Ini menangkap asumsi salah tentang prefix, huruf besar/kecil, anchor akhir, dan overlap.
Alur yang direkomendasikan
- Tulis kebijakan dalam bahasa biasa.
- Pilih prefix paling sederhana.
- Tambahkan
*atau$hanya bila diperlukan. - Siapkan URL yang harus diizinkan dan diblokir.
- Validasi sintaks.
- Uji dengan User-agent yang benar.
- Periksa
/robots.txtaktif. - Pantau log setelah perubahan.
Spesifisitas lebih penting daripada posisi baris. Gunakan wildcard seperlunya dan selalu uji URL saat beberapa aturan dapat cocok.