hosting:robots

2.38. robots.txt

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

Файл robots.txt состоит из групп правил, которые определяют поведение роботов на сайте.

  • Файл robots.txt должен иметь именно такое название и его кодировка должна быть UTF-8.
  • Файл robots.txt должен находиться в корневом каталоге сайта. То есть он должен быть доступен через браузер по адресу вида http://www.example.com/robots.txt.
  • На одном сайте может существовать только один файл robots.txt.
  • Каждая директива должна начинаться с новой строки.
  • По умолчанию все страницы сайта разрешены для обработки роботом. Запрет для определенных страниц производится при помощи директивы Disallow.
  • Правила чувствительны к регистру.

Каждая группа может содержать несколько одинаковых правил. К примеру, это удобно для указания нескольких роботов или страниц.

Группа правил должна быть в следующем порядке и состоять из указанных директив:

  1. User-agentобязательная директива, может быть указана множество раз в одной группе правил.
  2. Disallow и Allowобязательные директивы. Как минимум одна из них должна быть указана в каждой группе правил.
  3. Host, Crawl-delay, Sitemap — необязательные директивы.

Для указания регулярных выражений используются:

  • * — означает последовательность любой длины из любых символов.
  • $ — означает конец строки.
Стоит учитывать, что указываемые в правилах адреса или имена чувствительны к регистру. Указание Example и example будет давать разный результат.

Директива User-agent определяет имя робота, на которого будет распространяться правило. Для указания всех роботов можно использовать:

User-agent: *

Если данная директива будет указана с определенным именем робота — правило с * будет проигнорировано.

Указанные директивы разрешат доступ роботу с именем Googlebot и запретят остальным:

User-agent: *
Dissalow: /
User-agent: Googlebot
Dissalow: 

Директива Disallow определяет страницы, к которым запрещён доступ роботов.

Запретить доступ ко всему сайту можно, указав:

Dissalow: /

Запрет к отдельным страницам можно указать так:

Dissalow: /admin
При указании /admin доступ будет запрещён к каталогу admin и файлам с таким именем, например admin.php и admin.html. Для запрета доступа только к каталогу можно указать /admin/.

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

Следующее правило указывает заблокировать для робота Googlebot весь сайт, кроме каталога pages:

User-agent: Googlebot
Disallow: /
Allow: /pages/

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

Пример использования директивы в рамках сайта с доменами example.com и domain.com, где для всех роботов example.com будет основным доменом:

User-agent: *
Disallow: 
Host: domain.com

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

Пример использования:

User-Agent: *
Disallow:
Crawl-delay: 3

Директива Sitemap определяет URL-адрес файла sitemap на сайте. Данная директива может быть указана множество раз. Указание адреса должно быть обязательно в формате протокол://адрес/путь/к/sitemap.

Пример использования:

Sitemap: https://example.com/sitemap.xml
Sitemap: http://www.example.com/sitemap.xml
  • hosting/robots.txt
  • Последние изменения: 2019/08/29 14:49
  • — karlov