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

Некоторые роботы могут маскироваться под роботов Яндекса путем указания соответствующего User Agent. Вы можете проверить, что робот является тем, за кого себя выдает используя идентификацию, основанную на обратных DNS запросах (reverse DNS lookup).

Для этого необходимо выполнить следующее:

  • Для интересующего user-agent определите IP адрес по логам вашего сервера. Все роботы Яндекса представляются с помощью заданных User agent.

  • По полученному IP адресу определите доменное имя хоста, используя обратный DNS запрос.

  • После определения имени хоста, Вы можете проверить, принадлежит ли он Яндексу. Имена всех роботов Яндекса заканчиваются на 'yandex.ru', 'yandex.net' или 'yandex.com'. Если имя хоста имеет другое окончание, это означает, что робот не принадлежит Яндексу.

  • Напоследок удостоверьтесь в корректности полученного имени. Для этого нужно использовать прямой DNS запрос (forward DNS lookup), чтобы получить IP адрес, соответствующий имени хоста. Он должен совпадать с IP адресом, использованным при обратном DNS запросе. Если IP адреса не совпадают, это означает, что полученное имя хоста поддельное.

Роботы Яндекса в логах сервера

У Яндекса есть много роботов, которые представляются по-разному:

  • Mozilla/5.0 (compatible; YandexAccessibilityBot/3.0; +http://yandex.com/bots) — скачивает страницы для проверки их доступности пользователям, особым образом интерпретирует robots.txt.
  • Mozilla/5.0 (compatible; YandexAdNet/1.0; +http://yandex.com/bots) — робот Рекламной сети Яндекса.

  • Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots) — основной индексирующий робот.

  • Mozilla/5.0 (compatible; YandexBot/3.0; MirrorDetector; +http://yandex.com/bots) — робот, определяющий зеркала сайтов;
  • Mozilla/5.0 (compatible; YandexCalendar/1.0; +http://yandex.com/bots) — робот Яндекс.Календаря, используется для синхронизации с другими календарями, особым образом интерпретирует robots.txt.

  • Mozilla/5.0 (compatible; YandexDirect/3.0; +http://yandex.com/bots) — скачивает информацию о контенте сайтов-партнеров Рекламной сети, чтобы уточнить их тематику для подбора релевантной рекламы, особым образом интерпретирует robots.txt.

  • Mozilla/5.0 (compatible; YandexDirectDyn/1.0; +http://yandex.com/bots — робот генерации динамических баннеров, особым образом интерпретирует robots.txt.
  • Mozilla/5.0 (compatible; YaDirectFetcher/1.0; Dyatel; +http://yandex.com/bots) — скачивает целевые страницы рекламных объявлений для проверки их доступности и уточнения тематики. Это необходимо для размещения объявлений в поисковой выдаче и на сайтах-партнерах. При обходе сайта робот не использует файл robots.txt, поэтому игнорирует директивы, установленные для него.

  • Mozilla/5.0 (compatible; YandexFavicons/1.0; +http://yandex.com/bots)— робот, индексирующий пиктограммы сайтов (favicons).

  • Mozilla/5.0 (compatible; YandexForDomain/1.0; +http://yandex.com/bots) — Робот почты для домена, используется при проверке прав на владение доменом.
  • Mozilla/5.0 (compatible; YandexImages/3.0; +http://yandex.com/bots) — индексатор Яндекс.Картинок.

  • Mozilla/5.0 (compatible; YandexImageResizer/2.0; +http://yandex.com/bots) — робот мобильных сервисов.

  • Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B411 Safari/600.1.4 (compatible; YandexBot/3.0; +http://yandex.com/bots) — индексирующий робот.
  • Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B411 Safari/600.1.4 (compatible; YandexMobileBot/3.0; +http://yandex.com/bots) — робот, определяющий страницы с версткой, подходящей под мобильные устройства, особым образом интерпретирует robots.txt.
  • Mozilla/5.0 (compatible; YandexMarket/1.0; +http://yandex.com/bots) — робот Яндекс.Маркета.

  • Mozilla/5.0 (compatible; YandexMedia/3.0; +http://yandex.com/bots) — робот, индексирующий мультимедийные данные.

  • Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots) — робот Яндекс.Метрики, особым образом интерпретирует robots.txt.

  • Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots yabs01) — скачивает страницы сайта для проверки их доступности, в том числе проверяются целевые страницы объявлений Яндекс.Директа. При обходе сайта робот не использует файл robots.txt, поэтому игнорирует директивы, установленные для него.
  • Mozilla/5.0 (compatible; YandexNews/4.0; +http://yandex.com/bots) — робот Яндекс.Новостей.

  • Mozilla/5.0 (compatible; YandexOntoDB/1.0; +http://yandex.com/bots) — робот объектного ответа.
  • Mozilla/5.0 (compatible; YandexOntoDBAPI/1.0; +http://yandex.com/bots) — робот объектного ответа, скачивающий динамические данные, особым образом интерпретирует robots.txt.
  • Mozilla/5.0 (compatible; YandexPagechecker/1.0; +http://yandex.com/bots)— робот, обращающийся к странице при валидации микроразметки через форму Валидатор микроразметки.

  • Mozilla/5.0 (compatible; YandexSearchShop/1.0; +http://yandex.com/bots) — робот, который регулярно скачивает YML-файлы каталогов товаров (по инициативе пользователей), которые часто располагаются в запрещенных для индексации каталогах. Особым образом интерпретирует robots.txt.
  • Mozilla/5.0 (compatible; YandexSitelinks; Dyatel; +http://yandex.com/bots) — «простукивалка» быстрых ссылок, используется для проверки доступности страниц, определившихся в качестве быстрых ссылок.

  • Mozilla/5.0 (compatible; YandexSpravBot/1.0; +http://yandex.com/bots) — робот Яндекс.Справочника.
  • Mozilla/5.0 (compatible; YandexTurbo/1.0; +http://yandex.com/bots) — робот обходит RSS-канал, созданный для формирования Турбо-страниц. Его максимальная частота обращений к сайту составляет 3 обращения в секунду. Робот игнорирует настройку в интерфейсе Яндекс.Вебмастера и директиву Crawl-delay.
  • Mozilla/5.0 (compatible; YandexVertis/3.0; +http://yandex.com/bots) — робот поисковых вертикалей.

  • Mozilla/5.0 (compatible; YandexVerticals/1.0; +http://yandex.com/bots) — робот Яндекс.Вертикалей: Авто.ру, Янекс.Недвижимость, Яндекс.Работа, Яндекс.Отзывы.
  • Mozilla/5.0 (compatible; YandexVideo/3.0; +http://yandex.com/bots) — индексатор Яндекс.Видео.

  • Mozilla/5.0 (compatible; YandexVideoParser/1.0; +http://yandex.com/bots) — индексатор Яндекс.Видео, особым образом интерпретирует robots.txt.
  • Mozilla/5.0 (compatible; YandexWebmaster/2.0; +http://yandex.com/bots)— робот сервиса Яндекс.Вебмастер.

  • Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36 (compatible; YandexScreenshotBot/3.0; +http://yandex.com/bots) — робот, делающий снимок страницы, особым образом интерпретирует robots.txt.
  • Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36 (compatible; YandexMedianaBot/1.0; +http://yandex.com/bots) — робот сервиса Яндекс.Медиана, особым образом интерпретирует robots.txt.

IP-адресов, с которых «приходят» роботы Яндекса, тоже много, и они часто меняются. Поэтому мы не разглашаем их список и не рекомендуем использовать фильтрацию на их основе.

Вопросы и ответы

Как оградиться от мошеннических роботов, представляющихся роботами Яндекса

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

Объем трафика между моим веб-сервером и вашим роботом слишком большой. Существует ли поддержка скачивания страниц в сжатом виде?

Да, существует. Поисковый робот Яндекса при каждом запросе страницы говорит: «Accept-Encoding: gzip,deflate». Это означает, что настроив соответствующим образом свой веб-сервер, вы сможете снизить объем передаваемого трафика между ним и нашим роботом. Однако следует иметь в виду — передача контента в сжатом виде увеличивает нагрузку на CPU вашего сервера, и, если он сильно загружен, могут возникнуть проблемы. Поддерживая gzip и deflate, робот придерживается стандарта rfc2616, раздел 3.5 .