Robots.txt

Как проверить, принадлежит ли робот Яндексу

Ask AI about this page

2 мин чтения

Роботы могут выдавать себя за Яндекс, настраивая user agent. Проверка выполняется с помощью обратного поиска DNS, и эту процедуру стоит автоматизировать при анализе логов.

Четыре шага

  1. Получите IP-адрес из серверных логов.
  2. Выполните обратный поиск (reverse-lookup) IP-адреса для получения имени хоста.
  3. Убедитесь, что хост заканчивается на yandex.ru, yandex.net или yandex.com. Любое другое окончание означает, что это не Яндекс.
  4. Выполните прямой поиск (forward-lookup) имени хоста и убедитесь, что оно разрешается обратно в тот же IP. Несоответствие означает, что имя хоста поддельное.

Четвертый шаг — это то, что люди пропускают, и без него проверка ничего не доказывает. Инструмент проверки IP-адресов в консоли выполняет ту же работу для одного адреса.

Как проверить, принадлежит ли робот Яндексу

Почему диапазоны IP-адресов не публикуются

Роботы используют автономные системы AS13238, AS208722 и AS212066 с часто меняющимися адресами, поэтому никакой список не разглашается. Добавление в белый список по IP поэтому не является жизнеспособной стратегией; обратный DNS — это поддерживаемый метод.

Важная деталь о парке роботов

Многие роботы Яндекса загружают документы для целей, отличных от индексирования, и некоторые из них игнорируют robots.txt правила, написанные для User-agent: *. Некоторые игнорируют файл полностью — YaDirectFetcher, несколько YandexMetrika версий. Чтобы ограничить их, укажите их явно:

User-agent: YandexCalendar
Disallow: /

User-agent: YandexMobileBot
Disallow: /private/*.txt$

Правило, разрешающее распространенную путаницу

Если один из этих роботов скачивает документ, к которому основной индексирующий робот не имеет доступа, этот документ никогда не индексируется и никогда не появляется в поиске. Трафик в логах от агента Яндекса не является доказательством того, что страница индексируется — парк роботов большой, и большая его часть не является индексатором.

Как проверить, принадлежит ли робот Яндексу — 2

Чтение логов

Строки user agent содержат версию браузера, которая со временем меняется — YandexBot/3.0 появляется с добавленной версией Chrome. Сопоставляйте по имени робота, но никогда по всей строке, иначе фильтры логов после обновления незаметно перестанут работать.

Alien Road

Как мы это применяем

The forward-confirmation step is the one that matters: half the “Yandex is hammering our server” reports we have looked at were other crawlers wearing the name. It is also why we match log filters on the robot name rather than the full user agent — the Chrome version inside it changes, and rules written against the whole string quietly stop matching.

Связанные услуги

Поделиться