Дерево страниц

robots.txt - это служебный файл с инструкциями для поисковых роботов, размещаемый в корневой директории сайта (/public_html/robots.txt). С его помощью можно запретить индексирование отдельных страниц (или всего сайта), ограничить доступ для определенных роботов, настроить частоту запросов роботов к сайту и др. Корректная настройка robots.txt позволит снизить нагрузку на сайт, создаваемую поисковыми роботами.

Формат robots.txt

Файл содержит набор правил (директив), каждое из которых записывается с новой строки в формате имя_директивы: значение (пробел после двоеточия необязателен, но допустим). Каждый блок правил начинается с директивы User-agent; внутри него не должно быть пустых строк. Новый блок правил отделяется от предыдущего пустой строкой.

В файле можно использовать примечания, отделяя их знаком #.

Файл должен называться именно robots.txt; написание Robots.txt или ROBOTS.TXT будет ошибочным. 

Некоторые роботы могут игнорировать отдельные директивы. Например, GoogleBot не учитывает директивы Host и Crawl-Delay; YandexDirect игнорирует общие директивы (заданные как User-agent: *), но учитывает правила, заданные через специально для него.

Проверить созданный robots.txt можно в вебмастер-сервисах Yandex или Google или в других подобных сервисах в сети.

Используемые директивы

User-agent

Все блоки правил начинаются с директивы User-agent, в которой указывается название робота, для которого задается правило. Запись вида User-agent: * означает, что правило задается для всех поисковых роботов.

Например, при следующей записи правило будет применено только к основному индексирующему боту Яндекса:

Правило будет применено ко всем роботам Яндекса и Google:

Правило будет применено вообще ко всем роботам:

Наверх

Disallow и Allow

Директивы используются, чтобы запретить и разрешить доступ к определенным разделам сайта.

Например, можно запретить индексацию всего сайта (Disallow: /), кроме определенного каталога (Allow: /catalog):

Запретить индексацию страниц, начинающихся с /catalog, но разрешить для страниц, начинающихся с /catalog/auto и /catalog/new:

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

С помощью Disallow можно ограничить доступ к сайту для нежелательных ботов, тем самым снизив создаваемую ими нагрузку. Например, чтобы запретить доступ ко всему сайту для MJ12bot и AhrefsBot - ботов сервиса majestic.com и ahrefs.com - используйте:

Аналогичным образом устанавливается блокировка и для других ботов (скажем, DotBot, SemrushBot и других).

Примечания:

  • Пустая директива Disallow: равнозначна Allow: /, то есть "не запрещать ничего".
  • В директивах может использоваться символ $ для обозначения точного соответствия указанному параметру. Например, запись Disallow: /catalog аналогична Disallow: /catalog * и запретит доступ ко всем страницам с /catalog (/catalog, /catalog1, /catalog-new, /catalog/clothes и др.).
    Использование $ это изменит. Disallow: /catalog$ запретит доступ к /catalog, но разрешит /catalog1, /catalog-new, /catalog/clothes и др.

Наверх

Sitemap

При использовании файла sitemap.xml для описания структуры сайта, можно указать путь к нему с помощью соответствующей директивы:

Можно перечислить несколько файлов Sitemap, каждый в отдельной строке.

Наверх

Host

Директива используется для указания роботам Яндекса основного зеркала сайта и полезна, когда сайт доступен по нескольким доменам.

Примечания:

  • Директива Host может быть только одна; если в файле указано несколько, роботом будет учтена только первая.
  • Необходимо указывать протокол https, если он используется. Если Вы используете http, зеркало можно записать в виде mydomain.com
  • Для корректного прочтения директивы, ее нужно указывать в блоке правил User-agent после директив Disallow и Allow.

Наверх

Crawl-delay

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

Значения можно указывать целыми или дробными числами (разделитель - точка).

Примечания:

  • Для корректного прочтения директивы, ее нужно указывать в блоке правил User-agent после директив Disallow и Allow.
  • Для Яндекса максимальное значение в Crawl-delay - 2. Более высокое значение можно установить инструментами Яндекс.Вебмастер.
  • Для Google-бота установить частоту обращений можено в панели вебмастера Search Console.

Наверх

Clean-param

Директива используется для робота Яндекса. Она позволяет исключить из индексации страницы с динамическими параметрами в URL-адресах (это могут быть идентификаторы сессий, пользователей, рефереров), чтобы робот не индексировал одно и то же содержимое повторно, повышая тем самым нагрузку на сервер.

Например, на сайте есть страницы:

По факту по обоим адресам отдается одна и та же страница - www.mydomain.ru/news.html, при этом в URL присутствуют дополнительные динамические параметры.

Чтобы робот не индексировал каждую подобную страницу, можно использовать директиву:

Через знак & указываются параметры, которые робот должен игнорировать. Далее указывается страница, для которой применяется данное правило

С более подробной информацией о настройке директивы Clean-param рекомендуем ознакомиться в справочнике Яндекса.

Наверх