Что это
Строка user-agent — это самопредставление. Любая программа может назваться Googlebot/2.1 или GPTBot/1.4, и сайт, который доверяет строке, пропустит её как «своего». Так скраперы обходят ограничения, которые владельцы ставят для неизвестных ботов, и так нагрузка от чужого обхода попадает в отчёты под именем Яндекса.
Чем грозит
- Выкачивание каталога, цен, текстов под видом поисковика.
- Обход лимитов частоты, которые сайт даёт «настоящим» ботам.
- Искажённая статистика: кажется, что Яндекс или OpenAI ходят в десять раз чаще, чем на самом деле.
- Ошибочные блокировки: разозлившись на «Googlebot», владелец закрывает настоящего.
Как отличить настоящего
У каждого документированного бота есть способ проверки — он указан в карточке справочника:
| Способ | Кто | Как |
|---|---|---|
| Список адресов | OpenAI, Perplexity, Mistral, Bing, Common Crawl | скачать JSON по адресу из карточки, сверить IP запроса |
| Обратный DNS | Яндекс, Google, Apple, Amazon, Common Crawl | host IP → имя хоста в домене оператора → host имя → тот же IP |
| Автономная система | Meta | адреса AS32934 через whois |
| Только строка | Anthropic, Mail.ru, ByteDance | проверить нельзя — только ограничивать частоту |
Проверка обратным DNS из двух шагов обязательна: один шаг подделывается (владелец IP может прописать любое обратное имя), два — нет.
$ host 77.88.5.5
5.5.88.77.in-addr.arpa domain name pointer yandex.ru.
$ host yandex.ru
yandex.ru has address 77.88.5.5
Что делать на сервере
- Для ботов со списком адресов — пускать по IP, а не по строке. В nginx:
geo-карта из JSON, обновляемая по расписанию. - Для ботов с обратным DNS — кэшировать результат проверки на сутки, чтобы не делать DNS-запрос на каждый заход.
- Для «только строка» — лимит частоты (например, 1 запрос в секунду с адреса) и порог за сутки.
- Запросы с именем известного бота, но с «чужого» адреса — в отдельный журнал. Это и есть скраперы.
Чего не делать
- Не блокировать по стране: настоящие боты ходят из облаков по всему миру.
- Не блокировать всех, кто не прошёл проверку, с кодом 403 — отдавайте 429 с
Retry-After: честный бот замедлится, скрапер уйдёт.
Проверить свой сайт
Возьмите из логов за сутки все запросы, где user-agent содержит Googlebot или YandexBot, и прогоните адреса через обратный DNS. Доля «чужих» в среднем сайте — от 5 до 30 %.
