Adakah Cloudflare menyekat crawler AI? Cara mengetahui dan membetulkannya
Cloudflare dan firewall lain boleh membalas crawler AI dengan 403, 429 atau halaman cabaran "Just a moment..." sementara pelayar mendapat halaman sebenar, walaupun robots.txt membenarkan crawler itu. Semak dengan meminta halaman menggunakan user agent crawler, kemudian benarkan crawler carian AI dalam AI Crawl Control atau dengan peraturan skip WAF.
Perlindungan bot wujud untuk menghentikan scraper dan penyalahgunaan, dan ia berkesan. Masalahnya, crawler carian AI juga bot. Tetapan keselamatan yang diaktifkan bertahun-tahun lalu, had kadar (rate limit) atau peraturan luas terhadap user agent yang tidak dikenali boleh secara senyap menghalang crawler yang memetik anda, sementara lawatan anda sendiri kelihatan normal sepenuhnya.
Dalam halaman ini
Mengapa firewall menyekat crawler AI?
Firewall menilai setiap permintaan. Crawler tidak menjalankan cabaran JavaScript, tidak menyimpan cookie seperti pelayar dan sering meminta banyak halaman berturut-turut, jadi ia boleh kelihatan sama seperti trafik yang hendak dihentikan oleh perlindungan bot. Punca lazim:
- Ciri perlindungan bot yang mencabar trafik yang sepadan dengan corak bot yang dikenali. Bot Fight Mode Cloudflare, contohnya, mengeluarkan cabaran yang berat dari segi pengiraan kepada bot.
- Peraturan tersuai WAF yang menyekat atau mencabar user agent yang mengandungi perkataan seperti "bot" atau "crawler", atau yang hanya membenarkan senarai pendek enjin carian.
- Tetapan yang menyekat crawler AI sebagai satu kategori. Cloudflare membolehkan anda menetapkan dasar untuk crawler Search, Agent dan Training, dan tetapan Block di situ terpakai untuk semuanya.
- Rate limiting yang membalas rentetan permintaan pantas daripada crawler dengan 429.
- Sekatan negara atau ASN yang kebetulan meliputi rangkaian tempat crawler dijalankan.
Bagaimana membezakan sekatan firewall daripada sekatan robots.txt?
Sekatan robots.txt ialah permintaan yang sopan: crawler membaca peraturan anda dan tidak mengambil halaman. Sekatan firewall ialah jawapan: crawler meminta halaman dan mendapat sesuatu yang lain. Jenis kedua boleh anda lihat secara langsung. Minta halaman dua kali, sekali dengan user agent pelayar dan sekali dengan user agent crawler, kemudian bandingkan.
for UA in "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" \
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot"; do
curl -s -o /dev/null -w "%{http_code} %{size_download}\n" -A "$UA" https://example.com/page
done
Tanda sekatan firewall: status 403, 429 atau 503 untuk crawler sahaja; halaman bertajuk Just a moment... atau Attention Required! | Cloudflare; kandungan yang mengandungi /cdn-cgi/challenge-platform; atau respons 200 yang jauh lebih pendek daripada respons pelayar. Ingat bahawa ujian anda datang daripada IP anda sendiri, bukan julat IP crawler yang disahkan, jadi ia menunjukkan cara firewall melayan user agent, bukan setiap butiran cara ia melayan crawler sebenar.
Bagaimana membenarkan crawler carian AI dalam Cloudflare?
AI Crawl Control Cloudflare, yang tersedia pada semua pelan, menyenaraikan crawler AI yang melawat domain anda dan membolehkan anda menetapkan tindakan untuk setiap satu. Dalam papan pemuka, buka AI Crawl Control, pergi ke senarai Crawlers dan pilih Allow atau Block dalam lajur Action untuk setiap crawler. Cloudflare menyatakan bahawa menyekat di situ mencipta atau mengemas kini peraturan tersuai WAF pada zon anda.
Jika peraturan tersuai WAF, Super Bot Fight Mode atau rate limiting yang menyekat crawler, tambah peraturan tersuai yang melangkau ciri-ciri itu untuk bot yang disahkan dan untuk token crawler:
Security → WAF → Custom rules → Create rule
Expression: (cf.client.bot) or (http.user_agent contains "OAI-SearchBot")
Action: Skip → All remaining custom rules, Super Bot Fight Mode, Rate limiting
Also: AI Crawl Control → OAI-SearchBot → Allow
Letakkan peraturan ini di tempat pertama. Perhatikan bahawa memadankan user agent juga membenarkan sesiapa yang memalsukan user agent itu. Jika boleh, utamakan medan bot yang disahkan (cf.client.bot) atau julat IP yang diterbitkan oleh vendor.
Bagaimana pula dengan Bot Fight Mode?
Dokumentasi Cloudflare jelas menyatakan bahawa Bot Fight Mode tidak boleh dielakkan atau dilangkau dengan peraturan tersuai WAF atau Page Rules. Jika ciri inilah yang mencabar crawler, peraturan skip tidak akan membantu. Pilihannya ialah mematikan Bot Fight Mode, atau menggunakan Super Bot Fight Mode pada pelan yang menyediakannya, yang berjalan pada Ruleset Engine dan menyokong peraturan skip.
Crawler mana yang patut dibenarkan masuk?
Asingkan crawler mengikut fungsinya. Crawler carian dan pengambilan oleh pengguna menentukan sama ada jawapan AI dapat menemui dan memetik anda. Crawler latihan mengumpul data untuk model, dan menyekatnya ialah pilihan yang sah yang tidak mengeluarkan anda daripada carian AI.
- Carian:
OAI-SearchBot,Claude-SearchBot,PerplexityBot,Googlebot,bingbot,Applebot. - Pengambilan oleh pengguna:
ChatGPT-User,Claude-User,Perplexity-User. - Latihan:
GPTBot,ClaudeBot,CCBot,meta-externalagent,Bytespider.
Tetapan dasar Cloudflare sendiri menggunakan pembahagian yang sama kepada Search, Agent dan Training, jadi anda boleh membenarkan dua yang pertama dan membuat keputusan secara berasingan untuk yang ketiga. Jika anda menggunakan firewall atau CDN lain, prinsipnya sama: senaraikan token crawler dalam allowlist, disahkan melalui julat IP yang diterbitkan vendor atau reverse DNS jika ditawarkan, supaya ia mendapat respons yang sama seperti pelayar.
Bagaimana AISeeWhy mengesan sekatan firewall?
AISeeWhy meminta halaman anda sebagai 14 crawler dan satu pelayar biasa, membandingkan status, saiz dan pengalihan, mengenali halaman cabaran dan menamakan firewall atau CDN yang membalas. Apabila robots.txt membenarkan crawler tetapi pelayan menyekatnya, laporan memaparkan percanggahan itu dan memberi peraturan Cloudflare atau langkah allowlist untuk membetulkannya.
Soalan lazim
Adakah Cloudflare menyekat crawler AI secara lalai?
Ia bergantung pada akaun, pelan dan tetapan dalam zon anda, dan Cloudflare telah mengubah pilihan ini dari semasa ke semasa. Semak AI Crawl Control dan tetapan bot anda, dan uji dengan user agent crawler, jangan membuat andaian.
Mengapa laman saya berfungsi dalam pelayar tetapi tidak untuk crawler?
Firewall menilai setiap permintaan. Pelayar lulus cabaran JavaScript dan menyimpan cookie; crawler tidak, jadi ia boleh menerima halaman cabaran atau 403 yang tidak pernah anda lihat.
Adakah selamat membenarkan crawler AI melalui WAF?
Membenarkan crawler yang dinamakan berisiko rendah jika anda mengesahkannya melalui julat IP vendor atau isyarat bot yang disahkan Cloudflare. Peraturan yang hanya mempercayai user agent turut membenarkan sesiapa yang menyalinnya.
Adakah ciri email obfuscation Cloudflare menjejaskan crawler AI?
Ia menggantikan alamat e-mel dengan pautan yang hanya boleh dinyahkod oleh skrip, jadi crawler melihat pemegang tempat, bukan alamat itu. Jika anda mahu e-mel hubungan anda boleh dibaca, matikan Email Address Obfuscation di bawah Scrape Shield dan paparkan alamat sebagai teks biasa.
Sumber
- Cloudflare: AI Crawl Control
- Cloudflare: Manage AI crawlers (AI Crawl Control)
- Cloudflare: Bot Fight Mode
- Cloudflare: AI crawler and agent access policies
- OpenAI: Overview of OpenAI crawlers