Czy Cloudflare blokuje crawlery AI? Jak to sprawdzić i naprawić

Opublikowano

Krótka odpowiedź

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
  1. Dlaczego firewall może blokować crawlery AI
  2. Jak odróżnić blokadę firewalla od blokady w robots.txt
  3. Jak dopuścić crawlery wyszukiwarek AI w Cloudflare
  4. A co z Bot Fight Mode
  5. Które crawlery warto przepuścić
  6. Jak AISeeWhy wykrywa blokady firewalla

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:

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.

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

Więcej artykułów