Блокирует ли Cloudflare AI-краулеров: как выяснить и исправить
Cloudflare и другие файрволы могут отвечать AI-краулерам кодом 403, 429 или страницей-проверкой «Just a moment...», пока браузеры получают настоящую страницу, даже если robots.txt краулеру разрешает доступ. Проверьте это запросом к странице с user agent краулера, затем разрешите краулеры AI-поиска в AI Crawl Control или правилом WAF с пропуском.
Защита от ботов нужна, чтобы останавливать скраперов и злоупотребления, и с этим она справляется хорошо. Проблема в том, что краулеры AI-поиска тоже боты. Настройка безопасности, включённая много лет назад, лимит запросов или слишком широкое правило против неизвестных user agent могут тихо не пускать краулеров, которые вас цитируют, тогда как ваши собственные заходы выглядят совершенно нормально.
На этой странице
Почему файрвол может блокировать AI-краулеров
Файрвол оценивает каждый запрос. Краулер не выполняет JavaScript-проверки, не хранит cookie как браузер и часто запрашивает много страниц подряд, поэтому может выглядеть точно как трафик, для остановки которого создана защита от ботов. Частые причины:
- Функции защиты от ботов, которые проверяют трафик, похожий на известные паттерны ботов. Например, Bot Fight Mode в Cloudflare выдаёт ботам вычислительно затратные проверки.
- Пользовательские правила WAF, которые блокируют или проверяют user agent со словами вроде «bot» или «crawler» либо пропускают только короткий список поисковых систем.
- Настройки, блокирующие AI-краулеров как категорию. В Cloudflare можно задать политики для краулеров Search, Agent и Training, и значение Block там действует на все из них.
- Ограничение частоты запросов, которое отвечает кодом 429 на быструю серию запросов краулера.
- Блокировки по стране или ASN, которые случайно накрывают сети, с которых работают краулеры.
Как отличить блокировку файрвола от блокировки в 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-поиска.
- Поиск:
OAI-SearchBot,Claude-SearchBot,PerplexityBot,Googlebot,bingbot,Applebot. - Загрузки по запросу пользователя:
ChatGPT-User,Claude-User,Perplexity-User. - Обучение:
GPTBot,ClaudeBot,CCBot,meta-externalagent,Bytespider.
Собственные настройки политик 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 и покажите адрес обычным текстом.
Источники
- Cloudflare: AI Crawl Control
- Cloudflare: управление AI-краулерами (AI Crawl Control)
- Cloudflare: Bot Fight Mode
- Cloudflare: политики доступа для AI-краулеров и агентов
- OpenAI: обзор краулеров OpenAI