Cloudflare Bot Fight Mode и AdSense preview: почему сайт есть, а Google его не видит
Если сайт открывается у людей, но AdSense preview показывает 404, проблема может быть не в сайте.
Иногда сайт открывается в браузере, curl показывает 200 OK, Googlebot получает HTML, а AdSense preview внутри кабинета пишет: "Страница не найдена". Это выглядит как магия, но чаще всего причина скучная: защитный слой между Google и сайтом.
Главный подозреваемый
Если рабочий поддомен идет напрямую на сервер, а проблемные домены идут через Cloudflare, нужно проверять Cloudflare. Особенно Bot Fight Mode, Browser Integrity Check, WAF challenges и любые anti-bot настройки.
AdSense preview — это не обычный пользователь. Он может открывать страницу через собственный рендеринг, прокси или headless-окружение. Защита может решить, что это подозрительный трафик, и вместо сайта отдать challenge, блокировку или промежуточную страницу. В интерфейсе Google это иногда выглядит как обычный 404.
Как диагностировать
Порядок проверки:
- Сравнить DNS: orange cloud или direct.
- Проверить
curl -Iдля обычного UA иMediapartners-Google. - Посмотреть access log: дошел ли запрос Google до origin.
- Проверить Cloudflare Security Events.
- На 5 минут включить DNS only и повторить preview.
Если при DNS only preview оживает, сайт ни при чем. Проблема в proxy/security layer.
Что делать
Для статичного блога самый простой тест — серое облако на поддомен. Если нужен Cloudflare proxy, стоит сделать skip rule для конкретного hostname и отключить challenge-механику для предпросмотра.
Источник: Cloudflare Bot Fight Mode docs.