Как надёжно идентифицировать ботов и краулеров
Руководство по User-Agent
Боты поисковых систем, боты предпросмотра для соцсетей и AI-краулеры в большинстве своём используют User-Agent, в котором раскрывают себя. Например, Googlebot содержит токен Googlebot/2.1, а GPTBot — GPTBot/1.1.
Почему опасно судить только по UA
User-Agent может подделать кто угодно. Если вредоносный скрейпер обращается, выдавая себя за Googlebot, сервер, доверяющий только строке UA, не сможет его отсеять.
Рекомендуемая процедура проверки
Чтобы довериться нормальному боту, проверяйте вместе следующее.
- Сначала проверьте, есть ли в UA известный токен бота
- Обратным DNS-запросом по IP подключения проверьте принадлежность к официальному домену, например
googlebot.com - Затем подтвердите результат прямым DNS-запросом (совпадение обратного и прямого)
- Сверьтесь с диапазонами IP из официальной документации
Связь с robots.txt
Вежливые боты уважают robots.txt. Чтобы управлять краулингом, надёжнее сочетать robots.txt с проверкой IP на стороне сервера, чем блокировать по UA.
AI-краулеры (GPTBot, ClaudeBot, PerplexityBot и др.) тоже в большинстве следуют правилам robots.txt, поэтому, если вы хотите запретить обучающий краулинг, можно указать их UA в robots.txt через Disallow.