Czy Cloudflare blokuje crawlery AI? Jak to sprawdzić i naprawić
Cloudflare i inne firewalle mogą odpowiadać crawlerom AI kodem 403, 429 lub stroną weryfikacji „Just a moment...”, podczas gdy przeglądarki dostają prawdziwą stronę, nawet jeśli robots.txt crawlera dopuszcza. Sprawdź to, pobierając stronę z user agentem crawlera, a potem dopuść crawlery wyszukiwarek AI w AI Crawl Control lub regułą WAF z pominięciem.
Ochrona przed botami istnieje po to, by zatrzymywać scrapery i nadużycia, i robi to dobrze. Problem w tym, że crawlery wyszukiwarek AI to też boty. Ustawienie bezpieczeństwa włączone przed laty, limit zapytań albo szeroka reguła przeciw nieznanym user agentom mogą po cichu odcinać crawlery, które Cię cytują, podczas gdy Twoje własne wizyty wyglądają zupełnie normalnie.
Na tej stronie
Dlaczego firewall może blokować crawlery AI
Firewall ocenia każde żądanie. Crawler nie wykonuje testów JavaScript, nie przechowuje ciasteczek jak przeglądarka i często pobiera wiele stron z rzędu, więc może wyglądać dokładnie jak ruch, który ochrona przed botami ma zatrzymywać. Najczęstsze przyczyny:
- Funkcje ochrony przed botami, które weryfikują ruch pasujący do znanych wzorców botów. Na przykład Bot Fight Mode w Cloudflare stawia botom kosztowne obliczeniowo wyzwania.
- Niestandardowe reguły WAF, które blokują lub weryfikują user agenty zawierające słowa takie jak „bot” czy „crawler” albo przepuszczają tylko krótką listę wyszukiwarek.
- Ustawienia blokujące crawlery AI jako kategorię. Cloudflare pozwala ustawić zasady dla crawlerów Search, Agent i Training, a wartość Block obejmuje tam wszystkie z nich.
- Ograniczanie liczby żądań, które na szybką serię zapytań crawlera odpowiada kodem 429.
- Blokady według kraju lub ASN, które przypadkiem obejmują sieci, z których działają crawlery.
Jak odróżnić blokadę firewalla od blokady w robots.txt
Blokada w robots.txt to uprzejma prośba: crawler czyta reguły i nie pobiera strony. Blokada firewalla to odpowiedź: crawler pobiera stronę i dostaje coś innego. Ten drugi przypadek można zobaczyć bezpośrednio. Pobierz stronę dwa razy, raz z user agentem przeglądarki, raz z user agentem crawlera, i porównaj.
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
Objawy blokady firewalla: kod 403, 429 lub 503 tylko dla crawlera; strona z tytułem Just a moment... albo Attention Required! | Cloudflare; treść zawierająca /cdn-cgi/challenge-platform; albo odpowiedź 200 wyraźnie krótsza niż ta dla przeglądarki. Pamiętaj, że Twój test pochodzi z Twojego adresu IP, a nie ze zweryfikowanego zakresu IP crawlera, więc pokazuje, jak firewall traktuje user agent, ale nie wszystkie szczegóły postępowania z prawdziwym crawlerem.
Jak dopuścić crawlery wyszukiwarek AI w Cloudflare
AI Crawl Control w Cloudflare, dostępny we wszystkich planach, wyświetla crawlery AI odwiedzające Twoją domenę i pozwala ustawić akcję dla każdego z nich. W panelu otwórz AI Crawl Control, przejdź do listy Crawlers i wybierz Allow lub Block w kolumnie Action dla każdego crawlera. Cloudflare podaje, że zablokowanie tam tworzy lub aktualizuje niestandardową regułę WAF w Twojej strefie.
Jeśli crawlera blokuje niestandardowa reguła WAF, Super Bot Fight Mode albo ograniczanie liczby żądań, dodaj niestandardową regułę, która pomija te funkcje dla zweryfikowanych botów i dla tokenu crawlera:
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
Umieść tę regułę na początku. Pamiętaj, że dopasowanie po user agencie przepuszcza też każdego, kto ten user agent podrobi. Jeśli to możliwe, wybieraj pole zweryfikowanego bota (cf.client.bot) albo zakresy IP publikowane przez dostawcę.
A co z Bot Fight Mode
Dokumentacja Cloudflare mówi wprost, że Bot Fight Mode nie da się obejść ani pominąć za pomocą niestandardowych reguł WAF ani Page Rules. Jeśli to ta funkcja weryfikuje crawlery, reguła z pominięciem nie pomoże. Zostaje albo wyłączyć Bot Fight Mode, albo użyć Super Bot Fight Mode w planie, który go zawiera: działa on na Ruleset Engine i obsługuje reguły z pominięciem.
Które crawlery warto przepuścić
Podziel crawlery według tego, co robią. Crawlery wyszukiwarek i crawlery pobierające na żądanie użytkownika decydują, czy odpowiedzi AI mogą Cię znaleźć i zacytować. Crawlery treningowe zbierają dane dla modeli, a ich zablokowanie to uprawniony wybór, który nie usuwa Cię z wyszukiwania AI.
- Wyszukiwanie:
OAI-SearchBot,Claude-SearchBot,PerplexityBot,Googlebot,bingbot,Applebot. - Pobrania na żądanie użytkownika:
ChatGPT-User,Claude-User,Perplexity-User. - Trenowanie:
GPTBot,ClaudeBot,CCBot,meta-externalagent,Bytespider.
Własne ustawienia zasad Cloudflare stosują ten sam podział na Search, Agent i Training, więc możesz dopuścić dwa pierwsze i osobno zdecydować o trzecim. Jeśli korzystasz z innego firewalla lub CDN, zasada jest ta sama: dodaj token crawlera do listy dozwolonych, weryfikując go według opublikowanych przez dostawcę zakresów IP lub odwrotnego DNS tam, gdzie jest dostępny, żeby crawler dostawał tę samą odpowiedź co przeglądarka.
Jak AISeeWhy wykrywa blokady firewalla
AISeeWhy pobiera Twoją stronę jako 14 crawlerów oraz jako zwykła przeglądarka, porównuje status, rozmiar i przekierowania, rozpoznaje strony weryfikacji i wskazuje firewall lub CDN, który odpowiedział. Gdy robots.txt dopuszcza crawlera, ale serwer go blokuje, raport pokazuje ten konflikt i podaje regułę Cloudflare albo krok z listą dozwolonych, który go usuwa.
Najczęstsze pytania
Czy Cloudflare domyślnie blokuje crawlery AI?
Zależy to od Twojego konta, planu i ustawień strefy, a opcje Cloudflare zmieniały się z czasem. Sprawdź AI Crawl Control i ustawienia ochrony przed botami oraz przetestuj żądanie z user agentem crawlera, zamiast zakładać.
Dlaczego strona działa w przeglądarce, ale nie dla crawlerów?
Firewall ocenia każde żądanie. Przeglądarka przechodzi testy JavaScript i przechowuje ciasteczka, a crawler nie, więc może dostać stronę weryfikacji lub kod 403, których nigdy nie widzisz.
Czy dopuszczenie crawlerów AI przez WAF jest bezpieczne?
Dopuszczenie crawlera po nazwie jest mało ryzykowne, jeśli weryfikujesz go według zakresów IP dostawcy lub sygnału zweryfikowanego bota Cloudflare. Reguły ufające samemu user agentowi wpuszczają też każdego, kto go skopiuje.
Czy funkcja Cloudflare ukrywająca adresy e-mail wpływa na crawlery AI?
Zastępuje adresy e-mail linkiem, który odczytuje tylko skrypt, więc crawlery widzą zamiast adresu zapełniacz. Jeśli adres kontaktowy ma być czytelny, wyłącz Email Address Obfuscation w sekcji Scrape Shield i pokaż adres zwykłym tekstem.
Źródła
- Cloudflare: AI Crawl Control
- Cloudflare: zarządzanie crawlerami AI (AI Crawl Control)
- Cloudflare: Bot Fight Mode
- Cloudflare: zasady dostępu dla crawlerów i agentów AI
- OpenAI: przegląd crawlerów OpenAI