Saya menjalankan crawler Web skala besar. Kami berusaha sangat keras untuk mengoperasikan perayap dalam standar komunitas yang diterima, dan itu termasuk menghormati robots.txt. Kami mendapat sedikit keluhan tentang perayap, tetapi ketika kami melakukannya sebagian besar tentang penanganan kami atas robots.txt. Paling sering Webmaster membuat kesalahan di robots.txt dan kami dengan baik menunjukkan kesalahannya. Namun secara berkala kami mengalami area abu-abu yang melibatkan penanganan Allow
dan Disallow
.
The robots.txt Halaman tidak mencakup Allow
. Saya telah melihat halaman lain, beberapa di antaranya mengatakan bahwa crawler menggunakan aturan "pencocokan pertama", dan yang lain tidak menentukan. Itu menyebabkan beberapa kebingungan. Misalnya, halaman Google tentang robots.txt yang digunakan untuk memiliki contoh ini:
User-agent: Googlebot
Disallow: /folder1/
Allow: /folder1/myfile.html
Jelas, aturan "pencocokan pertama" di sini tidak akan berfungsi karena perayap akan melihat Disallow
dan pergi, tidak pernah merayapi file yang secara khusus diizinkan.
Kita berada di tempat yang jelas jika kita mengabaikan semua Allow
baris, tetapi kemudian kita mungkin tidak merangkak sesuatu yang kita boleh jelajahi. Kami akan kehilangan banyak hal.
Kami telah sukses besar dengan memeriksa Allow
terlebih dahulu, dan kemudian memeriksa Disallow
, gagasan yang Allow
dimaksudkan lebih spesifik daripada Disallow
. Itu karena, secara default (yaitu dengan tidak adanya instruksi yang bertentangan), semua akses diperbolehkan. Tapi kemudian kita menemukan sesuatu seperti ini:
User-agent: *
Disallow: /norobots/
Allow: /
Maksudnya di sini sudah jelas, tetapi itu Allow: /
akan menyebabkan bot yang memeriksa Allow
terlebih dahulu untuk berpikir ia dapat merayapi apa pun di situs.
Bahkan itu bisa diselesaikan dalam kasus ini. Kami dapat membandingkan pencocokan Allow
dengan pencocokan Disallow
dan menentukan bahwa kami tidak diizinkan untuk merayapi apa pun di / norobots /. Tapi itu rusak ketika berhadapan dengan wildcard:
User-agent: *
Disallow: /norobots/
Allow: /*.html$
Pertanyaannya, kemudian, apakah bot diizinkan merangkak /norobots/index.html
?
The "pencocokan pertama" aturan menghilangkan semua ambiguitas, tapi saya sering melihat situs yang menunjukkan sesuatu seperti contoh Google tua, menempatkan lebih spesifik Allow
setelah itu Disallow
. Sintaks itu membutuhkan lebih banyak pemrosesan oleh bot dan mengarah ke ambiguitas yang tidak dapat diselesaikan.
Pertanyaan saya, lalu, apakah cara yang benar untuk melakukan sesuatu? Apa yang diharapkan oleh Webmaster dari bot yang berperilaku baik ketika menangani robots.txt?
sumber
Jawaban:
Satu catatan yang sangat penting: Biarkan pernyataan harus datang sebelum para Larang pernyataan, tidak peduli seberapa spesifik pernyataan Anda. Jadi, dalam contoh ketiga Anda - tidak, bot tidak akan merangkak
/norobots/index.html
.Secara umum, sebagai aturan pribadi, saya menempatkan pernyataan allow terlebih dahulu dan kemudian saya daftarkan halaman dan folder yang tidak diizinkan.
sumber
Inilah pendapat saya tentang apa yang saya lihat dalam ketiga contoh itu.
Contoh 1
Saya akan mengabaikan seluruh
/folder1/
direktori kecuali yangmyfile.html
berkas. Karena mereka secara eksplisit mengizinkannya, saya akan berasumsi bahwa itu lebih mudah untuk memblokir seluruh direktori dan secara eksplisit mengizinkan satu file yang bertentangan dengan daftar setiap file yang mereka inginkan telah diblokir. Jika direktori itu berisi banyak file dan subdirektori, file robots.txt bisa menjadi sangat sulit.Contoh 2
Saya akan berasumsi
/norobots/
direktori ini terlarang dan semua yang lain tersedia untuk dijelajahi. Saya membaca ini sebagai "crawl everything kecuali direktori / norobots /".Contoh 3
Mirip dengan contoh 2, saya akan menganggap
/norobots/
direktori tersebut terlarang dan semua.html
file yang tidak ada dalam direktori tersebut tersedia untuk dirayapi. Saya membaca ini sebagai "crawl all .html file tetapi tidak merangkak konten apa pun di direktori / norobots /".Semoga agen pengguna bot Anda berisi URL tempat mereka dapat menemukan informasi lebih lanjut tentang kebiasaan perayapan Anda dan membuat permintaan penghapusan atau memberi Anda umpan balik tentang bagaimana mereka ingin robot.txt mereka ditafsirkan.
sumber