По строке User-Agent можно предположить, какой робот обратился к сайту, но нельзя подтвердить его личность. Любой скрипт способен написать Googlebot. Для решений о доступе и аналитики строку сопоставляют с IP-диапазоном, DNS-проверкой, документацией владельца и поведением в серверных логах.
Какие группы ботов встречаются в логах
Поисковые краулеры загружают страницы для индекса и проверки. К ним относятся Googlebot, YandexBot и bingbot, у которых есть варианты для изображений, видео и других задач. AI-провайдеры часто разделяют роли: робот обучения, робот поиска и агент, который открывает страницу по запросу пользователя, могут иметь разные имена и правила.
Кроме них приходят сервисы мониторинга, предпросмотра ссылок, SEO-краулеры, уязвимость-сканеры и вредоносные автоматические клиенты. Слово bot в строке есть не всегда. Поэтому регулярное выражение даёт классификацию, но политика доступа должна учитывать назначение, частоту, подлинность и нагрузку.
| Владелец | User-Agent | Назначение |
|---|---|---|
| Googlebot | Поисковый обход | |
| Яндекс | YandexBot и варианты | Поиск и специализированные обходы |
| Microsoft | bingbot | Bing Search |
| OpenAI | OAI-SearchBot | Поиск ChatGPT |
| OpenAI | GPTBot | Потенциальное обучение моделей |
| Anthropic | Claude-SearchBot / ClaudeBot / Claude-User | Поиск / обучение / запрос пользователя |
| Perplexity | PerplexityBot / Perplexity-User | Поиск / запрос пользователя |
Почему User-Agent нельзя считать удостоверением
HTTP-заголовок присылает сам клиент. Сервер не выдаёт его и не проверяет подпись, поэтому подмена занимает одну настройку curl или библиотеки. Вредоносный робот может представиться Googlebot, чтобы пройти простое правило WAF; обычный браузер — наоборот скрыть автоматизацию.
Не создавайте отдельную «улучшенную» страницу только для строки поискового бота: подмена делает такой механизм уязвимым, а различающийся контент может выглядеть как клоакинг. Если нужно разрешить проверенному роботу доступ через защиту, подтверждайте источник официальным способом и ограничивайте правило нужными путями.

Как проверить Google, Яндекс и Bing
Google описывает reverse и forward DNS: получите имя хоста по IP, проверьте официальный домен, затем разрешите имя обратно и убедитесь, что исходный IP присутствует в ответе. Google также публикует JSON-диапазоны адресов краулеров. Яндекс предлагает проверку через обратное имя в своих доменах с последующим прямым разрешением.
Bing предоставляет инструмент Verify Bingbot и документирует проверку. Нельзя доверять только окончанию домена из первого PTR-ответа: злоумышленник контролирует обратную запись своего адреса. Обязателен второй шаг, который связывает официальное имя с исходным IP. Кешируйте результат на ограниченное время, чтобы не выполнять DNS для каждого запроса.
- Сохранить IP и полный User-Agent из запроса.
- Найти официальную процедуру владельца.
- Выполнить reverse DNS или проверить опубликованный IP-диапазон.
- Сделать forward DNS и сопоставить исходный IP.
- Сохранить результат с датой и ограниченным TTL.
Как проверять AI-краулеры
Сначала определите роль по текущей документации провайдера. OpenAI различает OAI-SearchBot и GPTBot; Anthropic — Claude-SearchBot, ClaudeBot и Claude-User; Perplexity публикует PerplexityBot и Perplexity-User. Одно общее правило по слову GPT или Claude смешает поиск, обучение и действия пользователя.
Если провайдер публикует диапазоны IP, сверяйте запрос с ними и регулярно обновляйте список. Если доступна только строка, используйте её для аналитической категории, но не для доверенного обхода защиты. Решения robots.txt также привязывайте к точному имени, указанному провайдером.

Сервисы и библиотеки для детектинга
UserAgents.io удобен как справочник строк и примеров. Для приложения подойдут ua-parser-js, uap-core и библиотеки класса isbot; они нормализуют браузеры и известные шаблоны. Перед внедрением проверьте лицензию и активность проекта: например, ветки ua-parser-js имеют разные условия лицензирования.
Каталог или библиотека отвечает на вопрос «на что похожа строка», но не «кто отправил запрос». Соберите два поля: classification по User-Agent и verified identity по IP/DNS. Тогда отчёт не смешает заявленного Googlebot с подтверждённым Googlebot.
| Инструмент | Подходит для | Ограничение |
|---|---|---|
| UserAgents.io | Ручной поиск и примеры строк | Не подтверждает IP |
| ua-parser-js | Разбор браузера, ОС, устройства и ряда ботов | Проверить версию и лицензию |
| uap-core | Общая база regex для разных языков | Классификация по строке |
| isbot | Быстрый ответ bot / not bot | Ложные совпадения неизбежны |
| Официальные IP/DNS | Подтверждение известных краулеров | Доступно не для каждого бота |
Логи, ограничения и решения о доступе
Для анализа сохраняйте время, IP, User-Agent, URL, статус, объём ответа, referer и время обработки. Сгруппируйте запросы по проверенной личности и назначению. Всплеск обхода параметрических URL лучше исправлять канонизацией и ссылками, а не блокировать весь поисковый бот. Не публикуйте сырые IP пользователей и соблюдайте политику хранения логов.
Для массового обзора структуры используйте краулинг-аудит, а решения об AI-доступе сверяйте со статьёй про ai.txt. Базовые свойства заголовка разобраны отдельно в материале «Что такое User-Agent».
Частые вопросы
Можно ли заблокировать всех ботов по слову bot?
Нет. Вы получите ложные срабатывания и пропустите автоматические клиенты без этого слова. Используйте поддерживаемые списки, точные правила и сетевую проверку для доверенных роботов.
UserAgents.io подтверждает настоящего Googlebot?
Нет. Сервис помогает распознать строку. Подлинность Googlebot проверяют по официальным IP-диапазонам или двухсторонней DNS-процедуре.
Нужно ли разрешать всех AI-ботов?
Нет общего ответа. Разделите поиск, обучение и пользовательский доступ, примите политику для каждой роли и примените точные правила из документации провайдера.
