В служебном файле 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 в специальных сервисах, например, Yandex, Google.
Используемые директивы
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
Через & перечисляются параметры, которые не учитывает робот. Затем указывается страница, для которой применяется данная директива.
В справочнике Яндекса Вы можете ознакомиться с подробной инструкцией по настройке данной директивы.
Если у Вас остались вопросы - создайте тикет в техподдержку.