Pengurai Robots.txt

Tempel robots.txt dan baca seperti perayap membacanya, sesuai RFC 9309 (Robots Exclusion Protocol, distandarkan 2022): grup user-agent, aturan Allow/Disallow, sitemap, dan direktif yang tidak dikenal, semuanya ditampilkan — ditambah audit untuk kesalahan klasik (baris disallow kosong, direktif yang tidak dikenal, berkas yang terlalu besar). Pencocok kemudian menjawab pertanyaan sebenarnya: tempel user agent dan jalur, dan dapatkan putusan izin/tolak dengan aturan tepat yang memutuskannya — kecocokan terpanjang, wildcard *, jangkar akhir $, dan penggabungan grup, persis seperti yang ditetapkan standar. Semuanya berjalan di browser Anda.
Belum ada yang diurai. Tempel robots.txt di atas dan tekan Urai berkas, atau muat contoh.
Pencocok bekerja pada teks yang saat ini ada di kotak di atas (tidak perlu menekan Urai terlebih dahulu). User agent dicocokkan seperti yang didefinisikan RFC 9309: nilai User-agent dalam berkas harus merupakan substring yang tidak peka huruf besar-kecil dari apa yang Anda ketik di sini — jadi mengetik ExampleBot/1.0 cocok dengan grup yang dideklarasikan sebagai ExampleBot. URL lengkap diterima sebagai jalur.
User agent (string UA asli juga berfungsi) Jalur, atau URL lengkap
Belum ada putusan. Tekan Uji izin.
Cara mengambil berkas Anda:bukahttps://your-domain.example/robots.txtdi peramban, pilih semua, salin, dan tempel di sini — ataucurl -s https://your-domain.example/robots.txtdi terminal. Halaman ini tidak pernah mengambil apa pun dengan sendirinya: ia hanya membaca apa yang Anda tempel. Untuk memeriksa header respons yang membawa berkas tersebut, jalankan melaluipengurai header HTTP.
Uji mandiri
Menjalankan ulang pengurai dan pencocok terhadap vektor referensi RFC 9309: prioritas kecocokan terpanjang (termasuk kasus seri allow-mengalahkan-disallow dan kasus jalur dalam), penggabungan grup, dan*grup fallback, sensitivitas huruf besar-kecil pada jalur dan user agent, wildcard, dan$jangkar, izin tersirat dari/robots.txt, normalisasi pengodean persen, ekstraksi sitemap, dan jalur negatif. Tidak ada yang dikirim ke mana pun.
Apa itu robots.txt?
Dalam satu kalimat: robots.txt adalah berkas teks biasa di akar situs yang memberi tahu perayap yang berperilaku baik jalur mana yang boleh mereka ambil — konvensi sukarela, distandarkan sebagai RFC 9309 pada 2022, yang dihormati setiap perayap utama.
Bentuk sebuah berkas

Sebuah berkas adalah urutan rekaman. Sebuah grup dimulai dengan satu atau lebih baris User-agent, diikuti aturan Allow dan Disallow yang berlaku untuk perayap tersebut. Baris User-agent baru setelah aturan memulai grup baru; beberapa baris User-agent berurutan berbagi satu grup (perayap dengan dua nama memerlukan ini). Rekaman mandiri seperti Sitemap dapat muncul di mana saja. # memulai komentar di mana saja dalam sebuah baris. Nama bidang tidak peka huruf besar-kecil; jalur peka.

GarisArtinya
User-agent: foobotAturan di bawah berlaku untuk perayap yang namanya mengandung foobot (tidak peka huruf besar-kecil)
User-agent: *Aturan di bawah berlaku untuk setiap perayap yang tidak memiliki grup yang lebih spesifik
Disallow: /private/Jangan ambil jalur yang diawali dengan /private/
Allow: /private/public/Pengecualian yang mengalahkan disallow di atas untuk jalur-jalur ini (kecocokan terpanjang)
Disallow: (kosong)Tidak ada yang dilarang — idiom "izinkan semua" yang klasik
Sitemap: https://…/sitemap.xmlDi mana sitemap Anda berada; perayap dapat mengumpulkan beberapa
Crawl-delay: 30Tidak ada dalam RFC 9309 — ekstensi lama; perayap utama mengabaikannya atau menafsirkannya sendiri
Bagaimana sebuah putusan dicapai (RFC 9309 §2.2.2)

1. Temukan grup yang nilai User-agent-nya merupakan substring dari nama perayap; gabungkan semua grup yang cocok. Jika tidak ada, gunakan grup *; jika tidak ada juga, semuanya diizinkan. 2. Uji jalur terhadap setiap aturan: pencocokan berbasis awalan, peka huruf besar-kecil, dan */$ berfungsi sebagai wildcard. 3. Aturan yang terpanjang yang cocok menang; pada panjang yang sama, Allow mengalahkan Disallow. Tidak ada aturan yang cocok berarti diizinkan. Dan apa pun yang dikatakan aturan, /robots.txt itu sendiri diizinkan secara implisit — perayap tidak dapat membaca aturan jika tidak.

Kesalahan umum
  • Mengira robots.txt memblokir akses. Ini adalah permintaan kepada perayap yang sopan, bukan tembok: pengikis nakal sepenuhnya mengabaikannya, dan ini tidak berpengaruh pada apa yang dapat dibuka peramban. Untuk perlindungan sungguhan gunakan autentikasi; untuk mengarahkan mesin pencari saja, robots.txt adalah alat yang tepat.
  • Mengharapkan Disallow: / menghapus halaman dari hasil pencarian. Itu menghentikan perayapan, bukan pengindeksan: jika halaman lain menautkan ke halaman Anda, mesin pencari mungkin tetap mencantumkan URL tersebut (tanpa deskripsi). Tag meta atau header respons noindex adalah alat penghapusan.
  • Mengandalkan urutan, bukan panjang. Aturan yang cocok pertama tidak menang — yang paling spesifik (terpanjang) yang menang. Menyusun ulang baris untuk "memperbaiki" perilaku tidak berpengaruh; buat aturan yang dimaksud menjadi lebih panjang sebagai gantinya.
  • Memblokir CSS dan JS. Melarang /*.css$ dan /*.js$ dulu sering menjadi "optimasi" yang umum; perender sekarang memerlukan berkas-berkas itu untuk melihat halaman seperti pengunjung, dan halaman yang setengah dirender dapat peringkatnya lebih buruk.
  • Memperlakukan satu grup besar sebagai dokumentasi. Baris komentar di dalam grup tidak apa-apa, tetapi paragraf prosa sebelum baris User-agent pertama tanpa # adalah kesalahan parse yang dapat membingungkan pengurai yang longgar.
FAQ

Apakah semua perayap mendukung Allow, *, dan $? Yang utama mendukung, dan RFC 9309 menstandarkan ketiganya. Beberapa perayap yang lebih kecil atau lebih lama hanya memahami Disallow dan membaca * secara harfiah — salah satu alasan untuk menjaga aturan tetap sederhana jika memungkinkan.

Apa arti Disallow: kosong? "Larang tidak ada" — grup itu secara eksplisit mengizinkan semuanya. Biasanya muncul ketika seseorang mengedit templat dan menghapus jalur tetapi bukan direktifnya; audit menandainya.

Seberapa besar berkas boleh? RFC 9309 mewajibkan pengurai menangani setidaknya 500 KiB; di luar itu perayap boleh berhenti membaca dan menganggap sisanya dilarang. Jaga agar jauh di bawah itu, dan jika berkas tumbuh sangat besar, pertanyakan apakah kontrol perayapan sebaiknya berada di header halaman.

Mengapa pencocok mengatakan /robots.txt diizinkan bahkan di bawah Disallow: /? Karena standar mengatakannya secara tegas: berkas robots itu sendiri diizinkan secara implisit. urllib.robotparser Python, antara lain, tidak mengimplementasikan kasus khusus ini — salah satu perbedaan kecil antar pengurai dunia nyata yang didokumentasikan halaman ini dalam self-test-nya.

Apakah jalur Disallow peka huruf besar-kecil? Ya. /Private/ dan /private/ adalah jalur yang berbeda. Nama bidang disallow boleh dalam huruf apa pun, tetapi nilainya harus cocok persis dengan URL.