Другие

Настройка файла robots.txt

В служебном файле robots.txt содержатся инструкции для поисковых роботов. С помощью данного файла можно запретить или ограничить доступ поисковых роботов к определенным страницам или всему сайту. Также можно указывать ограничения для разных типов поисковых роботов. Снижение допустимой частоты запросов поисковых роботов к сайту позволяет уменьшить нагрузки на сайт и на сервер. С другой стороны, полное ограничение может привести к ухудшению позиций сайта в выдаче поисковых систем. Поэтому очень важно корректно настроить robots.txt. Данный файл размещается в корневом каталоге сайта: /public_html/robots.txt.

Формат robots.txt

  • Каждое правило в файле robots.txt записывается с новой строки в таком виде:
    имя_директивы: значение
  • Новый блок правил в файле robots.txt начинается с директивы User-agent. Внутри блока нельзя оставлять пустые строки. Для разделения блоков используется пустая строка.
  • Примечания отделяются знаком #.
  • Название обязательно указывается в нижнем регистре. ROBOTS.TXT или Robots.txt – некорректные названия.  
  • Для некоторых роботов необходимо отдельно указывать директивы. Например, YandexDirect учитывает только правила, которые созданы специально для него. GoogleBot не учитывает Host и Crawl-Delay.

Рекомендуется проверять файл robots.txt в специальных сервисах, например, YandexGoogle.

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

User-agent

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

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

User-agent: YandexBot

Чтобы правило применялось ко всем ботам Яндекса и Google, введите:

User-agent: Yandex

User-agent: Googlebot

Чтобы правило применялось ко всем роботам:

User-agent: *

Disallow и Allow

Директивы Disallow и Allow разрешают или запрещают доступ к разделам сайта.

Например, чтобы запретить доступ ко всему сайту, введите:

Disallow: /

Чтобы при этом одновременно разрешить доступ к каталогу сайта catalog1, введите:

Allow: /catalog1

Если необходимо запретить индексацию страниц /catalog1/*, но разрешить для страниц /catalog1/catalog12, введите:

User-agent: * #или имя_бота

Disallow: /catalog1

Allow: /catalog/catalog12

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

Рекомендуется ограничивать доступ к сайту определенных ботов. Это позволяет снизить нагрузку на сайт. Например, сервис majestic.com использует поисковый бот MJ12bot, ahrefs.com – AhrefsBot. Для запрета доступа нескольких ботов введите:

User-agent: MJ12bot #правило работает для бота MJ12bot

User-agent: AhrefsBot #правило работает для бота AhrefsBot

User-agent: DotBot #правило работает для бота DotBot

User-agent: SemrushBot #правило работает для бота SemrushBot

Disallow: / # запрет доступа к всему сайту
  • Disallow:  - пустая директива, т.е. ничего не запрещает.
  • Allow: / - директива разрешает всё.
  • $ - обозначает строгое соответствие параметра. Например, директива Disallow: /catalog$ запрещает доступ только к этому каталогу. Доступ к каталогам catalog1 или catalog-best будет разрешен.

Sitemap

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

User-agent: *

Disallow:

Sitemap: https://domain.com/путь-к-файлу/sitemap.xml

Host

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

Например, если сайт также располагается на домене https://domain2.com, введите:

User-agent: YandexBot

Disallow:

Host: https://domain2.com

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

Если используется http, зеркало можно указать без протокола – domain2.com. Если используется https, необходимо указывать протокол - https://domain2.com.

Директива Host указывается после Disallow и Allow.

Crawl-delay

Директива Crawl-delay устанавливает минимальный интервал, с которым роботы могут обращаться к сайту. Это позволяет снизить нагрузку на сайт.

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

User-agent: Yandex

Disallow:

Crawl-delay: 0.6

Директива Crawl-delay указывается после Disallow и Allow.

Для Яндекса максимальное значение 2. (В Яндекс.Вебмастер можно установить большее значение).

Частота обращений Google-бота устанавливается в Search Console.

Clean-param

Данная директива предназначена для Яндекса и позволяет исключить из индексации страницы с динамическими параметрами в URL-адресах. Так робот не будет повторно индексировать содержимое страниц и создавать дополнительную нагрузку.

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

www.domain1.com/news.html?&parm1=1&parm2=2

www.domain1.com/news.html?&parm2=2&parm3=3

Фактически это две одинаковые страницы с разным динамическим содержимым. Чтобы Яндекс не индексировал каждую копию этой страницы, введите директиву:

User-agent: Yandex

Disallow:

Clean-param: parm1&parm2&parm3 /news.html

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

В справочнике Яндекса Вы можете ознакомиться с подробной инструкцией по настройке данной директивы.

Если у Вас остались вопросы - создайте тикет в техподдержку.