Blokuje Cloudflare AI crawlery? Jak to zjistit a opravit
Cloudflare a další firewally mohou AI crawlerům odpovídat kódem 403, 429 nebo ověřovací stránkou „Just a moment...“, zatímco prohlížeče dostanou skutečnou stránku, a to i když robots.txt crawler povoluje. Ověřte to vyžádáním stránky s user agentem crawleru a pak AI vyhledávací crawlery povolte v AI Crawl Control nebo pomocí pravidla skip ve WAF.
Ochrana proti botům existuje, aby zastavila scrapery a zneužití, a dělá to dobře. Potíž je v tom, že AI vyhledávací crawlery jsou také boti. Bezpečnostní nastavení zapnuté před lety, limit požadavků nebo široké pravidlo proti neznámým user agentům může nenápadně držet venku právě crawlery, které vás citují, zatímco vaše vlastní návštěvy vypadají naprosto normálně.
Na této stránce
Proč by firewall blokoval AI crawlery?
Firewally posuzují každý požadavek. Crawler nespouští JavaScriptové výzvy, neukládá cookies jako prohlížeč a často žádá o mnoho stránek za sebou, takže může vypadat přesně jako provoz, který má ochrana proti botům zastavit. Běžné příčiny jsou:
- Funkce ochrany proti botům, které zpochybňují provoz odpovídající známým vzorcům botů. Bot Fight Mode od Cloudflare například posílá botům výpočetně náročné výzvy.
- Vlastní pravidla WAF, která blokují nebo zpochybňují user agenty obsahující slova jako „bot“ nebo „crawler“, nebo která povolují jen krátký seznam vyhledávačů.
- Nastavení, která blokují AI crawlery jako kategorii. Cloudflare umožňuje nastavit politiky pro crawlery Search, Agent a Training a nastavení Block se tam vztahuje na všechny.
- Omezení počtu požadavků (rate limiting), které rychlé sérii požadavků crawleru odpovídá kódem 429.
- Blokace podle země nebo ASN, které náhodou pokrývají sítě, ze kterých crawlery běží.
Jak poznám blokaci firewallem od blokace v robots.txt?
Blokace v robots.txt je zdvořilá žádost: crawler přečte vaše pravidla a stránku nestáhne. Blokace firewallem je odpověď: crawler si stránku vyžádá a dostane něco jiného. Druhý případ je vidět přímo. Vyžádejte si stránku dvakrát, jednou s user agentem prohlížeče a jednou s user agentem crawleru, a porovnejte.
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
Příznaky blokace firewallem: stav 403, 429 nebo 503 jen pro crawler; stránka s titulkem Just a moment... nebo Attention Required! | Cloudflare; tělo obsahující /cdn-cgi/challenge-platform; nebo odpověď 200, která je mnohem kratší než ta pro prohlížeč. Pamatujte, že váš test pochází z vaší IP, ne z ověřeného rozsahu IP crawleru, takže ukazuje, jak firewall zachází s user agentem, ne každý detail toho, jak zachází se skutečným crawlerem.
Jak povolím AI vyhledávací crawlery v Cloudflare?
AI Crawl Control od Cloudflare, dostupný ve všech plánech, vypisuje AI crawlery, které navštěvují vaši doménu, a umožňuje nastavit akci pro každý z nich. V dashboardu otevřete AI Crawl Control, přejděte na seznam Crawlers a u každého crawleru zvolte ve sloupci Action možnost Allow nebo Block. Cloudflare uvádí, že blokace tam vytvoří nebo aktualizuje vlastní pravidlo WAF ve vaší zóně.
Pokud crawler blokuje vlastní pravidlo WAF, Super Bot Fight Mode nebo rate limiting, přidejte vlastní pravidlo, které tyto funkce pro ověřené boty a pro token crawleru přeskočí:
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
Pravidlo umístěte na první místo. Pamatujte, že porovnávání podle user agenta pustí i každého, kdo tento user agent padělá. Kde to jde, dejte přednost poli ověřeného bota (cf.client.bot) nebo rozsahům IP, které zveřejňuje poskytovatel.
A co Bot Fight Mode?
Dokumentace Cloudflare je jasná: Bot Fight Mode nelze obejít ani přeskočit pomocí vlastních pravidel WAF ani Page Rules. Pokud crawlery zpochybňuje právě on, pravidlo skip nepomůže. Možnosti jsou Bot Fight Mode vypnout, nebo použít Super Bot Fight Mode v plánu, který ho obsahuje, běží na Ruleset Engine a pravidla skip podporuje.
Které crawlery mám pustit?
Crawlery rozdělte podle toho, co dělají. Vyhledávací crawlery a crawlery stahující stránky na žádost uživatele rozhodují o tom, zda vás AI odpovědi najdou a mohou citovat. Trénovací crawlery sbírají data pro modely a jejich zablokování je legitimní volba, která vás z AI vyhledávání nevyřadí.
- Vyhledávání:
OAI-SearchBot,Claude-SearchBot,PerplexityBot,Googlebot,bingbot,Applebot. - Stahování na žádost uživatele:
ChatGPT-User,Claude-User,Perplexity-User. - Trénování:
GPTBot,ClaudeBot,CCBot,meta-externalagent,Bytespider.
Vlastní nastavení politik Cloudflare používá stejné rozdělení na Search, Agent a Training, takže můžete povolit první dvě a o třetí rozhodnout zvlášť. Pokud používáte jiný firewall nebo CDN, princip je stejný: token crawleru dejte na seznam povolených, ověřený podle rozsahů IP zveřejněných poskytovatelem nebo podle reverzního DNS, pokud jsou nabízeny, aby dostal stejnou odpověď jako prohlížeč.
Jak AISeeWhy blokace firewallem odhaluje?
AISeeWhy si vyžádá vaši stránku jako 14 crawlerů a běžný prohlížeč, porovná stav, velikost a přesměrování, rozpozná ověřovací stránky a pojmenuje firewall nebo CDN, které odpovědělo. Když robots.txt crawler povoluje, ale server ho blokuje, zpráva ukáže rozpor a uvede pravidlo Cloudflare nebo krok se seznamem povolených, který ho opraví.
Časté dotazy
Blokuje Cloudflare AI crawlery ve výchozím stavu?
Záleží na vašem účtu, plánu a nastavení vaší zóny a Cloudflare tyto možnosti v čase měnil. Zkontrolujte AI Crawl Control a nastavení botů a testujte s user agentem crawleru, místo abyste něco předpokládali.
Proč můj web funguje v prohlížeči, ale ne pro crawlery?
Firewally posuzují každý požadavek. Prohlížeč projde JavaScriptovými výzvami a ukládá cookies; crawler ne, takže může dostat ověřovací stránku nebo kód 403, který nikdy neuvidíte.
Je bezpečné povolit AI crawlery ve WAF?
Povolení konkrétního crawleru má nízké riziko, pokud ho ověřujete podle rozsahů IP poskytovatele nebo signálu ověřeného bota od Cloudflare. Pravidla, která důvěřují pouze user agentovi, pustí dovnitř i každého, kdo ho zkopíruje.
Ovlivňuje funkce Cloudflare pro skrytí e-mailů AI crawlery?
Nahrazuje e-mailové adresy odkazem, který dekóduje jen skript, takže crawlery vidí místo adresy zástupný text. Pokud chcete, aby byl váš kontaktní e-mail čitelný, vypněte Email Address Obfuscation v části Scrape Shield a zobrazte adresu jako prostý text.
Zdroje
- Cloudflare: AI Crawl Control
- Cloudflare: správa AI crawlerů (AI Crawl Control)
- Cloudflare: Bot Fight Mode
- Cloudflare: zásady přístupu pro AI crawlery a agenty
- OpenAI: přehled crawlerů OpenAI