Чи блокує Cloudflare AI-краулерів: як з’ясувати й виправити

Опубліковано

Коротка відповідь

Cloudflare та інші файрволи можуть відповідати AI-краулерам кодом 403, 429 або сторінкою-перевіркою «Just a moment...», поки браузери отримують справжню сторінку, навіть якщо robots.txt краулеру дозволяє доступ. Перевірте це запитом до сторінки з user agent краулера, а тоді дозвольте краулери AI-пошуку в AI Crawl Control або правилом WAF із пропуском.

Захист від ботів існує, щоб зупиняти скрейперів і зловживання, і з цим він справляється добре. Проблема в тому, що краулери AI-пошуку теж боти. Налаштування безпеки, ввімкнене багато років тому, ліміт запитів або надто широке правило проти невідомих user agent можуть тихо не пускати краулерів, які вас цитують, тоді як ваші власні заходи виглядають цілком нормально.

На цій сторінці
  1. Чому файрвол може блокувати AI-краулерів
  2. Як відрізнити блокування файрвола від блокування в robots.txt
  3. Як дозволити краулери AI-пошуку в Cloudflare
  4. Що з Bot Fight Mode
  5. Яких краулерів варто пропускати
  6. Як AISeeWhy виявляє блокування файрвола

Чому файрвол може блокувати AI-краулерів

Файрвол оцінює кожен запит. Краулер не виконує JavaScript-перевірки, не зберігає cookie як браузер і часто запитує багато сторінок поспіль, тож може виглядати точно як трафік, для зупинки якого створено захист від ботів. Поширені причини:

Як відрізнити блокування файрвола від блокування в robots.txt

Блокування в robots.txt — чемне прохання: краулер читає правила й не завантажує сторінку. Блокування файрвола — це відповідь: краулер запитує сторінку й отримує щось інше. Другий випадок можна побачити напряму. Запросіть сторінку двічі, один раз із user agent браузера, другий із user agent краулера, і порівняйте.

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

Ознаки блокування файрвола: код 403, 429 або 503 лише для краулера; сторінка із заголовком Just a moment... чи Attention Required! | Cloudflare; тіло відповіді, що містить /cdn-cgi/challenge-platform; або відповідь 200, яка помітно коротша за відповідь браузеру. Пам’ятайте, що ваш тест іде з вашої IP-адреси, а не з перевіреного діапазону IP краулера, тож він показує, як файрвол ставиться до user agent, але не всі деталі того, як він поводиться зі справжнім краулером.

Як дозволити краулери AI-пошуку в Cloudflare

AI Crawl Control у Cloudflare, доступний на всіх тарифах, показує список AI-краулерів, що заходять на ваш домен, і дає змогу задати дію для кожного. У панелі керування відкрийте AI Crawl Control, перейдіть до списку Crawlers і виберіть Allow або Block у стовпці Action для кожного краулера. За словами Cloudflare, блокування там створює або оновлює користувацьке правило WAF у вашій зоні.

Якщо краулера блокує користувацьке правило WAF, Super Bot Fight Mode або обмеження частоти запитів, додайте користувацьке правило, що пропускає ці функції для перевірених ботів і для токена краулера:

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

Поставте це правило першим. Зважайте, що збіг за user agent пропускає й тих, хто підробляє цей user agent. За можливості віддавайте перевагу полю перевіреного бота (cf.client.bot) або діапазонам IP, які публікує вендор.

Що з Bot Fight Mode

У документації Cloudflare прямо сказано, що Bot Fight Mode не можна обійти чи пропустити за допомогою користувацьких правил WAF або Page Rules. Якщо краулерів перевіряє саме ця функція, правило з пропуском не допоможе. Лишається або вимкнути Bot Fight Mode, або використати Super Bot Fight Mode на тарифі, де він є: він працює на Ruleset Engine і підтримує правила з пропуском.

Яких краулерів варто пропускати

Розділіть краулерів за тим, що вони роблять. Пошукові краулери та краулери завантаження на запит користувача визначають, чи зможуть AI-відповіді вас знайти й процитувати. Краулери навчання збирають дані для моделей, і їх блокування — законний вибір, який не прибирає вас з AI-пошуку.

Власні налаштування політик Cloudflare використовують той самий поділ на Search, Agent і Training, тож можна дозволити перші два і окремо вирішити щодо третього. Якщо ви використовуєте інший файрвол чи CDN, принцип той самий: додайте токен краулера до списку дозволених, перевіряючи його за опублікованими вендором діапазонами IP або за зворотним DNS там, де це передбачено, щоб краулер отримував ту саму відповідь, що й браузер.

Як AISeeWhy виявляє блокування файрвола

AISeeWhy запитує вашу сторінку як 14 краулерів і як звичайний браузер, порівнює статус, розмір і редиректи, розпізнає сторінки-перевірки та називає файрвол чи CDN, що дав відповідь. Якщо robots.txt краулеру дозволяє доступ, а сервер його блокує, звіт показує цей конфлікт і підказує правило Cloudflare або крок із додаванням до списку дозволених, який його усуне.

Поширені запитання

Чи блокує Cloudflare AI-краулерів за замовчуванням?

Це залежить від вашого акаунта, тарифу й налаштувань зони, а самі опції Cloudflare з часом змінювалися. Перевірте AI Crawl Control і налаштування захисту від ботів та протестуйте запит із user agent краулера, а не покладайтеся на припущення.

Чому сайт працює в браузері, але не для краулерів?

Файрвол оцінює кожен запит. Браузер проходить JavaScript-перевірки й зберігає cookie, краулер ні, тож він може отримати сторінку-перевірку або код 403, яких ви ніколи не бачите.

Чи безпечно пропускати AI-краулерів через WAF?

Дозволити краулера за назвою майже безпечно, якщо ви перевіряєте його за діапазонами IP вендора або за сигналом перевіреного бота Cloudflare. Правила, що довіряють самому лише user agent, пропускають і будь-кого, хто його скопіює.

Чи впливає функція Cloudflare з приховування email-адрес на AI-краулерів?

Вона замінює email-адреси посиланням, яке розшифровує лише скрипт, тож краулери бачать заглушку замість адреси. Якщо контактний email має бути читабельним, вимкніть Email Address Obfuscation у розділі Scrape Shield і покажіть адресу звичайним текстом.

Джерела

Інші статті