← Блог

GPTBot и поиск ChatGPT: как проверить доступ к сайту

У OpenAI отдельные роботы для поиска, для обучения моделей и для открытия страниц по просьбе пользователя, и доступ каждому настраивается отдельно. Перепутать их легко. Тогда вы разрешите использовать материалы для обучения, хотя хотели только открыть сайт для поиска ChatGPT.

Какой робот за что отвечает

ИмяДля чего используется
OAI-SearchBotОбход сайтов для поисковых функций ChatGPT.
GPTBotСбор материалов, которые могут использоваться для обучения моделей.
ChatGPT-UserОткрытие некоторых страниц по просьбе пользователя, а не регулярный автоматический обход сайтов.

Эти назначения и независимость настроек поиска и обучения описаны в официальной документации OpenAI. В списке OpenAI теперь есть и OAI-AdsBot: он проверяет страницы, поданные для рекламы в ChatGPT, и ни к поиску, ни к обучению отношения не имеет. К ChatGPT-User правила robots.txt могут не применяться: запрос инициирует пользователь. А разрешение на поисковый обход цитирования не гарантирует.

Что разработчик может проверить через curl

Программа curl загружает ответ сервера и не выполняет JavaScript. По этому ответу разработчик видит, что пришло: основной текст, сообщение об ошибке или запрос на подтверждение доступа. В команде ниже замените адрес из примера адресом своей страницы:

curl -sS -L --max-time 30 -D headers.txt -o page.html 'https://example.com/service/'

В файле headers.txt сохранятся заголовки ответов, в том числе при перенаправлениях. В page.html окажется содержимое конечной страницы. Найдите в нём название услуги и несколько предложений из описания: вместо них может прийти, например, форма входа.

В следующем запросе указано другое имя клиента (User-Agent). Так проверяют, меняется ли ответ сервера в зависимости от этого имени:

curl -sS -L --max-time 30 -A 'OAI-SearchBot' -D bot-headers.txt -o bot-page.html 'https://example.com/service/'

Запрос с именем робота всё равно уходит с вашего компьютера и вашего IP-адреса, то есть запрос настоящего робота OpenAI он не воспроизводит. Успешная загрузка не подтверждает, что реальный робот получит доступ, а отказ не доказывает, что он заблокирован. Если ответы на два запроса различаются, разработчику нужно выяснить причину.

Как понять ответ сервера

Затем проверьте robots.txt и защиту сайта

Правила обхода сайта задаёт файл robots.txt. Попросите разработчика выяснить, какие из них относятся к нужному роботу и разрешают ли они доступ к проверяемому адресу. По одной строке Allow обо всём файле судить нельзя.

Проверьте и защиту на хостинге или в CDN (сервисе, через который загружается сайт): она может отклонять запросы независимо от robots.txt. Подлинность запросов от OpenAI проверяют по журналам сервера и опубликованным диапазонам IP-адресов из документации. Одно имя User-Agent отправителя не подтверждает.

В отчёте укажите время запроса, адрес страницы, ответ сервера и правило защиты, которое сработало. Если запросов не нашлось, выясните, какие обращения и за какой срок хранит журнал. То, что за несколько дней записей нет, ещё не значит, что поисковый сервис никогда не заходит на сайт.

Каких выводов нельзя сделать по загрузке страницы

По исходному HTML можно проверить текст, метаданные и JSON-LD. Что именно сервис передал модели и почему она выбрала другой источник, по нему не узнать.

Если ассистент не упомянул метаданные в пересказе, это не повод удалять description, canonical или разметку. В пересказ попадает не всё, что обработал сервис. Верно и обратное: загрузка страницы не подтверждает ни её использование в обучении, ни цитирование.

После проверки должно быть понятно, где возникает препятствие и устранено ли оно. Учебный вывод может выглядеть так: «Запросы поискового робота блокировались с кодом 403. После изменения правила подтверждена загрузка нужного текста с кодом 200». Дальше отдельно проверяют появление сайта в ответах.

Обновлено: · Опубликовано: · Проверено редакцией geo-rank.ai · Как мы проверяем