2.37. robots.txt
Внимание!
Директивы, указанные в файлеrobots.txt
, являются лишь рекомендациями для ботов, они не гарантируют их выполнение отдельными сервисами.
Файл robots.txt
состоит из групп правил, которые определяют поведение роботов на сайте.
Важные моменты:
- Файл
robots.txt
должен иметь именно такое название и его кодировка должна быть UTF-8. - Файл
robots.txt
не должен иметь размер более 32 КБ. - Файл
robots.txt
должен находиться в корневом каталоге сайта. То есть он должен быть доступен через браузер по адресу видаhttp://www.example.com/robots.txt
. - На одном сайте может существовать только один файл
robots.txt
. - Каждая директива должна начинаться с новой строки.
- По умолчанию все страницы сайта разрешены для обработки роботом. Запрет для определенных страниц производится при помощи директивы
Disallow
. - Правила чувствительны к регистру.
Синтаксис
Каждая группа может содержать несколько одинаковых правил. К примеру, это удобно для указания нескольких роботов или страниц.
Группа правил должна быть в следующем порядке и состоять из указанных директив:
User-agent
— обязательная директива, может быть указана множество раз в одной группе правил.Disallow
иAllow
— обязательные директивы. Как минимум одна из них должна быть указана в каждой группе правил.Host
,Crawl-delay
,Sitemap
— необязательные директивы.
Для указания регулярных выражений используются:
*
— означает последовательность любой длины из любых символов.$
— означает конец строки.
Основные директивы
Внимание!
Стоит учитывать, что указываемые в правилах адреса или имена чувствительны к регистру. УказаниеExample
и example
будет давать разный результат.
User-agent
Директива User-agent
определяет имя робота, на которого будет распространяться правило. Для указания всех роботов можно использовать:
User-agent: *
Если данная директива будет указана с определенным именем робота — правило с *
будет проигнорировано.
Указанные директивы разрешат доступ роботу с именем Googlebot
и запретят остальным:
User-agent: * Disallow: / User-agent: Googlebot Disallow:
Disallow
Директива Disallow
определяет страницы, к которым запрещён доступ роботов.
Запретить доступ ко всему сайту можно, указав:
Disallow: /
Запрет к отдельным страницам можно указать так:
Disallow: /admin
Внимание!
При указании/admin
доступ будет запрещён к каталогу admin
и файлам с таким именем, например admin.php
и admin.html
. Для запрета доступа только к каталогу можно указать /admin/
.
Allow
Директива Allow
определяет страницы, к которым запрещён доступ роботов. Директива используется для создания исключений при указании Disallow
.
Следующее правило указывает заблокировать для робота Googlebot
весь сайт, кроме каталога pages
:
User-agent: Googlebot Disallow: / Allow: /pages/
Host
Директива Host
определяет основной домен сайта. Директива полезна, если к сайту привязано несколько доменных имён и для корректной поисковой индексации, таким образом, можно указать, какой домен будет являться основным, чтобы остальные домены были определены как зеркала, технические адреса и т. д.
Пример использования директивы в рамках сайта с доменами example.com
и domain.com
, где для всех роботов example.com
будет основным доменом:
User-agent: * Disallow: Host: domain.com
Crawl-delay
Директива Crawl-delay
определяет интервал между окончанием загрузки одной страницы и началом загрузки следующей для роботов. Данная директива полезна для уменьшения запросов к сайту, что помогает снизить нагрузку на сервер. Интервал указывается в секундах.
Пример использования:
User-Agent: * Disallow: Crawl-delay: 3
Sitemap
Директива Sitemap
определяет URL-адрес файла sitemap на сайте. Данная директива может быть указана множество раз. Указание адреса должно быть обязательно в формате протокол://адрес/путь/к/sitemap
.
Пример использования:
Sitemap: https://example.com/sitemap.xml Sitemap: http://www.example.com/sitemap.xml
Мультидоменный robots.txt
Внимание!
Для реализации существующий файлrobots.txt
должен быть удалён, а также в настройках сайта должен быть установлен параметр «Передавать запросы на бекенд в случае, если файл не найден» или расширение txt
должно быть удалено из статических файлов.
Если на сайте используется несколько доменов, например с помощью псевдонимов, то настройки, указываемые в файле robots.txt
, могут отличаться для каждого сайта в связи с определённой SEO-оптимизацией или другими задачами. Для реализации динамического robots.txt
выполните следующее:
- Ознакомьтесь с важной информацией из данной статьи и убедитесь, что все условия выполнены.
- Создайте файлы
domain.com-robots.txt
в корневом каталоге сайта, где вместоdomain.com
укажите домен, для которого будут применяться указанные правила. - Укажите необходимые правила для каждого домена в созданных файлах.
- Настройте вывод файлов, добавив в начале файла
.htaccess
следующие правила:RewriteEngine On RewriteCond %{REQUEST_URI} ^/robots\.txt$ RewriteRule ^robots\.txt$ %{HTTP_HOST}-robots.txt [L]
- Проверьте вывод правил по каждому из доменов.