Robots.txt

Директива User-agent

Ask AI about this page

2 мин чтения

Робот ищет записи, начинающиеся с User-agent: и сопоставляет либо подстроку Yandex (без учета регистра), либо *. Правила приоритета строги и порождают больше всего ошибок в robots.txt.

Правила приоритета

  • Если User-agent: Yandex присутствует, User-agent: * игнорируется полностью — не объединяется, а игнорируется. Правила, которые, как вы думали, были глобальными, не применяются.
  • Если существует блок для конкретного робота Yandex, например YandexBot, то и общий Yandex блок, и * не используются для этого робота.
  • Если ни Yandex , ни * не найдены, у робота есть неограниченный доступ.

Собственный пример Yandex делает ловушку наглядной: файл с YandexBot, Yandex и * блоками применяет только первый к главному индексирующему роботу, только второй к другим роботам Yandex и третий ни к одному.

Директива User-agent

Форматирование

Каждой директиве User-agent должна предшествовать пустая строка. # начинает комментарий, и все до конца строки игнорируется — что в сочетании с правилом, согласно которому пустая строка после User-agent отделяет последующие правила, является причиной большинства незаметно сломанных файлов.

Исключение, которого никто не ждет

Некоторые роботы Yandex могут игнорировать robots.txt директивы полностью, включая те, что находятся под User-agent: Yandex. . Чтобы ограничить их, вы должны указать их точный user agent в собственном блоке. Именно поэтому сайт, который считает, что заблокировал все, все равно может видеть сканирование (crawling) от агента Yandex, о котором он никогда не слышал.

Практическая форма файла

Напишите один блок для Yandex , содержащий каждое правило, которое должно применяться к Yandex, и отдельный полный блок для *. Не полагайтесь на наследование между ними, так как его не существует. Дублирование здесь корректно, а не избыточно.

Директива User-agent — 2

Проверка

Проверьте конкретные URL-адреса для каждого user agent в анализаторе. Инструмент применяет те же правила приоритета, что и робот, что является единственным надежным способом подтвердить, какой блок фактически управляет данным адресом.

Alien Road

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

The rule we most often have to explain is that a Yandex block makes the wildcard block invisible. Teams add a Yandex-specific rule for one directory and unknowingly drop every general restriction they had. We write the two blocks out in full, duplicated, and test URLs per agent rather than reading the file and reasoning about it.

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

Поделиться