Pugofka Logo

Pugofka / Tools / Проверки

Проверка доступа поисковых и ИИ-ботов

Проверьте robots.txt и HTTP-ответы отдельно для поисковых роботов и ИИ-ботов, с указанием сработавшего правила.

Проверка делает запросы с тестовыми User-Agent из нашей сети. Для изображений, видео и управляющих токенов показываются только правила robots.txt: HTTP-ответ страницы для них не показателен. Проверка не подтверждает визит настоящего бота.

Как проверить доступ поисковых и ИИ-ботов

Введите адрес конкретной страницы и запустите проверку. Сервис сначала читает robots.txt сайта, затем делает HTTP-запрос для тех User-Agent, которым полезно проверять именно страницу. Результаты разбиты на две таблицы: поисковые роботы и ИИ-боты. Для каждого показаны назначение и применимое правило с номером строки; где уместно — ещё и код ответа.

Для роботов изображений и видео HTTP-запрос к HTML-странице не отражает доступ к медиафайлам. Googlebot-News, Google-Extended и Applebot-Extended вообще не имеют отдельного HTTP User-Agent. Поэтому для них показана политика robots.txt без выдуманного HTTP-статуса. Сравните остальные ответы с обычным запросом браузера. Если браузер получает 200, а один из User-Agent — 403, вероятна фильтрация на уровне сервера или CDN.

Что означает разрешение в robots.txt

robots.txt управляет обходом, а не служит защитой от чтения страницы. Правило «Disallow» описывает предпочтение владельца для роботов, которые соблюдают протокол. Оно не мешает обычному человеку открыть URL и не гарантирует исключения адреса из поисковой выдачи.

Инструмент ищет наиболее подходящую группу User-agent, затем правило Allow или Disallow для пути страницы. В таблице показана строка файла, определившая результат. Если robots.txt недоступен или сервер вернул ошибку, вместо уверенного вывода показывается «Неизвестно». Для точной проверки индексации используйте Яндекс Вебмастер или Google Search Console с подтверждёнными правами на сайт.

Почему код HTTP отличается для робота и браузера

Сайт может обслуживать разные ответы в зависимости от User-Agent, правил CDN, географии, заголовков и IP-адреса. Наш запрос подставляет строку User-Agent, но идёт с IP Pugofka. Он не превращается в запрос Google, Яндекса или OpenAI. Некоторые защитные системы сверяют IP по официальным диапазонам, и результат подмены User-Agent у них будет отличаться от настоящего обхода.

Если видите 401 или 403 только у бота, проверьте журналы nginx, WAF и правила Cloudflare или другой защиты. Если все запросы дают 5xx, сначала устраните ошибку сервера. Если код 3xx, смотрите конечный адрес: робот может попасть на другую страницу или в цепочку перенаправлений. Для карты миграции используйте проверку редиректов списком.

Чем отличаются поисковые и ИИ-боты

Googlebot, YandexBot, Bingbot, Applebot и DuckDuckBot связаны с обычным поисковым обходом. Отдельные токены Google и Яндекса управляют изображениями, видео и новостями. У ИИ-провайдеров назначение роботов тоже различается. OAI-SearchBot относится к поиску OpenAI, а GPTBot — к сбору данных для улучшения моделей. Разрешение одного не означает разрешение другого. У Anthropic также разные токены для поиска и обучения.

ChatGPT-User, Claude-User и Perplexity-User получают страницу по действию человека. Это не автоматический обход для индекса; применимость robots.txt к таким запросам различается у операторов. В таблицу ИИ включён и CCBot: Common Crawl собирает открытый набор веб-данных для разных применений, а не для одного помощника. Applebot-Extended и Google-Extended являются токенами управления использованием данных, а не отдельными краулерами: подменять ими User-Agent для HTTP-проверки было бы некорректно.

Не объединяйте все ИИ-роботы в один статус «доступно ИИ». Для каждого решения смотрите конкретный User-agent, правило и HTTP-ответ, если он проверялся. Доступность страницы по сети не гарантирует её появления в ответах помощника: система может не выбрать страницу, не проиндексировать её или использовать иной источник.

Что показывают разные HTTP-ответы

Код 200 означает, что сервер отдал ответ на наш запрос из нашей точки проверки. Это ещё не подтверждение, что страница индексируется или читается именно тем роботом, чьё имя указано в заголовке. Код 301 или 308 показывает постоянное перенаправление: проверьте конечный URL и число переходов. Код 302 или 307 может быть ожидаемым для временного сценария, но на постоянной публичной странице его стоит объяснить. 401 часто означает авторизацию, 403 — запрет, 404 — отсутствие ресурса, 429 — ограничение частоты, а 5xx — ошибку на стороне сервера или промежуточного слоя.

Сравнивайте коды в одинаковое время. Если сайт отдаёт разные ответы из-за нагрузки или обновления, один прогон может зафиксировать временное состояние. Для стабильного вывода повторите проверку и сопоставьте её с журналами сервера. При нескольких URL лучше начать с главной, категории, карточки товара и статьи: проблема может относиться только к одному шаблону или разделу.

Как читать noindex, canonical и текст HTML

Для обычного запроса сервис показывает найденные в HTML title, canonical, noindex из HTML или HTTP-заголовка X-Robots-Tag и примерную длину текста после удаления тегов. Эти поля помогают понять, получает ли диагностический запрос содержимое страницы. Если textChars близко к нулю, проверьте, не создаётся ли основной текст только JavaScript после загрузки. Значение не измеряет качество текста и может включать меню, футер и другие повторяющиеся блоки. Также оно ограничено первыми 256 КБ полученного HTML.

Noindex и canonical здесь считываются из обычного ответа; сервер может отдавать иную разметку конкретному роботу. Если robots.txt запрещает обход, поисковик может вообще не прочитать noindex в HTML. Если canonical указывает на другой URL, проверьте доступность целевой страницы и согласованность внутренних ссылок. Для окончательного решения об индексации нужны данные панели вебмастера, а не один диагностический запрос.

Почему подмена User-Agent не подтверждает настоящего робота

Строку User-Agent может написать любой HTTP-клиент. Сервис использует её, чтобы обнаружить простые правила блокировки по имени, но настоящий Googlebot, YandexBot или другой робот приходит с собственной сети. Защита сайта может сверять IP с опубликованными диапазонами, обратным DNS или правилами CDN. Поэтому 403 на нашем запросе с именем Googlebot не доказывает, что Google тоже заблокирован; и 200 не доказывает, что роботу разрешён вход с его IP.

Чтобы подтвердить реальный обход, найдите запрос в access.log, проверьте источник по процедуре оператора и сравните время, URL и код ответа. Снимок экрана с таблицей сервиса полезен как повод для расследования, но не как доказательство посещения. Не добавляйте широкое разрешение для всех клиентов с похожим User-Agent: это позволит любому посетителю обойти вашу защиту, назвавшись роботом.

Как исправить типовые проблемы

При ошибочном Disallow найдите показанную строку robots.txt и проверьте, какая группа User-agent действует. Более специфичная группа может перекрыть общую. После правки опубликуйте файл в корне нужного хоста и повторите запрос. Помните, что www и отдельные поддомены могут иметь разные robots.txt.

При HTTP 403 сравните ответ обычного запроса и запроса с User-Agent, затем откройте серверные логи по времени проверки. Если проблема в фильтре ботов, корректируйте правило для проверенного IP реального робота, а не для любого клиента, который назвался Googlebot. При 404 проверьте ссылку, перенаправление и наличие конечной страницы. При 429 уменьшите частоту проверок и посмотрите лимиты на сервере.

Ограничения и приватность проверки

Адрес страницы отправляется на сервер Pugofka, поскольку браузер не может надёжно запросить чужой robots.txt и HTTP-ответ из-за ограничений CORS. Сервис обращается только к публичным HTTP(S) адресам; локальные и служебные IP запрещены. На каждом перенаправлении адрес проверяется заново, соединение закрепляется за проверенным IP, а время и частота запросов ограничены.

Мы не запрашиваем email и не создаём публичную страницу с результатом. В Яндекс Метрику передаются только название инструмента и тип действия, без проверяемого URL. Для доказательства реальных визитов роботов нужны журналы сервера и проверка принадлежности IP по процедуре оператора. Подмена User-Agent даёт диагностический сигнал, а не удостоверение личности робота.

Частые вопросы

Проверка подтверждает, что Googlebot зашёл на страницу?
Нет. Запрос идёт с сервера Pugofka и содержит только строку User-Agent Googlebot. Настоящий Googlebot нужно подтверждать по IP и журналам сервера. Здесь видно, какие правила robots.txt и HTTP-ответ наблюдаются из нашей точки проверки.
Чем OAI-SearchBot отличается от GPTBot?
Это разные токены OpenAI. Первый связан с поисковыми функциями ChatGPT, второй — со сбором данных для улучшения моделей. В robots.txt ими можно управлять отдельно. Доступ одного из них не означает доступ другого.
Если robots.txt разрешает страницу, появится ли она в поиске?
Нет гарантии. Разрешение обхода лишь снимает один возможный запрет. На индексирование также влияют HTTP-ответ, noindex, canonical, качество страницы и решения поисковой системы. Проверьте статус в панели конкретного поисковика.
Почему robots.txt показывает «Неизвестно»?
Так происходит, если файл недоступен из нашей точки проверки или сервер вернул ответ, который нельзя считать обычным набором правил. Сначала откройте robots.txt на том же хосте и проверьте его HTTP-код.
Почему 403 показан только для одного бота?
Сервер или защитный сервис может проверять строку User-Agent. Сравните запись в серверном логе по времени запроса и правило WAF. Однако запрос с подставленным именем не показывает, что настоящий бот с другого IP тоже будет заблокирован.
Проверяются ли страницы на разных поддоменах?
Да, если вы вводите отдельный публичный URL для каждого поддомена. robots.txt действует в пределах конкретного хоста и протокола; правило на основном домене автоматически не распространяется на соседний поддомен.
Можно проверить закрытый тестовый сайт?
Если ресурс требует Basic Auth или ограничен по IP, сервер вернёт соответствующий код. Логины и пароли в URL вводить нельзя: инструмент отклоняет такие адреса. Для тестового стенда используйте локальные методы проверки в своей инфраструктуре.
Сохраняется ли проверяемый URL в аналитике?
Нет. В событии Яндекс Метрики передаются только тип действия и slug инструмента. Сам URL нужен серверу для сетевой проверки, но виджет не передаёт его в событие аналитики.

Нужна помощь с сайтом?

Поможем разобраться с технической задачей и оценить её решение.