Начало работы
Файл robots.txt находится в корневом каталоге вашего сайта. Например, на сайте www.example.com он будет находиться по адресу www.example.com/robots.txt. Он представляет собой обычный текстовый файл, который соответствует стандарту исключений для роботов и содержит одно или несколько правил. Каждое из них запрещает или разрешает тому или иному поисковому роботу доступ к определенному пути на сайте.
Ниже приведен пример простого файла robots.txt с двумя правилами. За ним следуют пояснения.
# Group 1 User-agent: Googlebot Disallow: /nogooglebot/ # Group 2 User-agent: * Allow: / Sitemap: http://www.example.com/sitemap.xml
Пояснения
- Агент пользователя с названием Googlebot не должен сканировать каталог
http://example.com/nogooglebot/
и его подкаталоги. - У всех остальных агентов пользователя есть доступ ко всему сайту (это правило можно опустить, и результат будет тем же, так как полный доступ предоставляется по умолчанию).
- Файл Sitemap этого сайта находится по адресу http://www.example.com/sitemap.xml.
Далее представлен более подробный пример.
Основные правила использования файлов robots.txt
Ниже приведены базовые принципы работы с файлами robots.txt. Мы рекомендуем вам изучить полный синтаксис этих файлов, так как у него есть неочевидные особенности, в которых вам следует разобраться.
Формат и расположение
Создать файл robots.txt можно почти в любом текстовом редакторе с поддержкой кодировки UTF-8. Не используйте текстовые процессоры, поскольку зачастую они сохраняют файлы в проприетарном формате и добавляют в них недопустимые символы, например фигурные кавычки, которые не распознаются поисковыми роботами.
Правила в отношении формата и расположения файла
- Файл должен носить название robots.txt.
- На сайте должен быть только один такой файл.
- Файл robots.txt нужно разместить в корневом каталоге сайта. Например, чтобы контролировать сканирование всех страниц сайта
http://www.example.com/
, файл robots.txt необходимо разместить по адресуhttp://www.example.com/robots.txt
. Он не должен находиться в подкаталоге (например, по адресуhttp://example.com/pages/robots.txt
). В случае затруднений с доступом к корневому каталогу обратитесь к хостинг-провайдеру. Если у вас нет доступа к корневому каталогу сайта, используйте альтернативный метод блокировки, например метатеги. - Файл robots.txt можно добавлять по адресам с субдоменами (например,
http://website.example.com/robots.txt
) или нестандартными портами (например,http://example.com:8181/robots.txt
). - Любой текст после символа # считается комментарием.
Синтаксис
- Файл robots.txt должен представлять собой текстовый файл в кодировке UTF-8 (которая включает коды символов ASCII). Другие наборы символов использовать нельзя.
- Файл robots.txt состоит из групп.
- Каждая группа может включать несколько правил, по одному на строку. Эти правила также называются директивами.
- Группа содержит следующую информацию:
- К какому агенту пользователя относятся директивы группы.
- К каким каталогам или файлам у этого агента есть доступ.
- К каким каталогам или файлам у этого агента нет доступа.
- Правила групп считываются сверху вниз. Робот будет следовать правилам только одной группы с наиболее точно соответствующим ему агентом пользователя.
- По умолчанию предполагается, что агенту пользователя разрешено сканировать любые страницы и каталоги, доступ к которым не заблокирован правилом
Disallow:
. - В правилах имеет значение регистр. К примеру, правило
Disallow: /file.asp
распространяется наhttp://www.example.com/file.asp
, но не наhttp://www.example.com/FILE.asp
.
Директивы, которые используются в файлах robots.txt
User-agent:
(обязательная директива, может повторяться в пределах группы). Определяет, к какому поисковому роботу должны применяться правила. С такой строки начинается каждая группа. Большинство агентов пользователя, относящихся к роботам Google, можно найти в списке на этом сайте и в базе данных роботов Интернета. Поддерживается подстановочный знак*
для обозначения префикса или суффикса пути, а также всего пути. Используйте звездочку (*
), как показано в примере ниже, чтобы заблокировать доступ всем поисковым роботам (кроме роботов AdsBot, которых нужно указывать отдельно). Рекомендуем ознакомиться со списком роботов Google. Ознакомьтесь с примерами ниже.# Example 1: Block only Googlebot User-agent: Googlebot Disallow: / # Example 2: Block Googlebot and Adsbot User-agent: Googlebot User-agent: AdsBot-Google Disallow: / # Example 3: Block all but AdsBot crawlers User-agent: * Disallow: /
Disallow:
(в каждой группе должна быть по крайней мере одна директиваDisallow
илиAllow
). В этой директиве указывается каталог или страница, которую запрещено сканировать агенту пользователя. Путь вводится относительно корневого домена. Если запрет касается страницы, должен быть указан полный путь к ней, как в адресной строке браузера. Если запрет касается каталога, строка должна заканчиваться косой чертой (/
). Поддерживается подстановочный знак*
для обозначения префикса или суффикса пути, а также всего пути.Allow:
(в каждой группе должна быть по крайней мере одна директиваDisallow
илиAllow
). В этой директиве указывается каталог или страница, которые разрешено сканировать агенту пользователя. Путь вводится относительно корневого домена. Используется для того, чтобы отменить директивуDisallow
и разрешить сканирование подкаталога или страницы в закрытом для обработки каталоге. Если запрет касается страницы, должен быть указан полный путь к ней, как в адресной строке браузера. Если запрет касается каталога, строка должна заканчиваться косой чертой (/
). Поддерживается подстановочный знак*
для обозначения префикса или суффикса пути, а также всего пути.Sitemap:
(необязательная директива, может повторяться несколько раз или не использоваться совсем). Указывает на расположение файла Sitemap, используемого на сайте. URL должен быть полным. Google не перебирает варианты URL с префиксами http и https или с элементом www и без него. Файлы Sitemap позволяют указать, какие страницы нужно сканировать роботам Google. Они не предназначены для указания контента, который можно или нельзя сканировать. Подробнее о файлах Sitemap… Пример:Sitemap: https://example.com/sitemap.xml Sitemap: http://www.example.com/sitemap.xml
Другие правила игнорируются.
Ещё один пример
Файл robots.txt состоит из групп. Каждая из них начинается со строки User-agent
, определяющей, какому роботу адресованы правила. Ниже приведен пример файла с двумя группами и с поясняющими комментариями к обеим.
# Block googlebot from example.com/directory1/... and example.com/directory2/... # but allow access to directory2/subdirectory1/... # All other directories on the site are allowed by default. User-agent: googlebot Disallow: /directory1/ Disallow: /directory2/ Allow: /directory2/subdirectory1/ # Block the entire site from anothercrawler. User-agent: anothercrawler Disallow: /
Полный синтаксис файла robots.txt
Полный синтаксис описан в этой статье. Рекомендуем вам ознакомиться с ней, так как в синтаксисе файла robots.txt есть некоторые важные нюансы.
Полезные правила
Вот несколько распространенных правил для файла robots.txt:
Правило | Пример |
---|---|
Запретить сканирование всего сайта. Следует учесть, что в некоторых случаях URL сайта могут присутствовать в индексе, даже если они не были просканированы. Обратите внимание, что это правило не относится к роботам AdsBot, которых нужно указывать отдельно. |
User-agent: * Disallow: / |
Запретить сканирование каталога вместе с его содержимым. После названия каталога указывается косая черта. Не используйте файл robots.txt для защиты конфиденциальной информации! Для этих целей следует применять аутентификацию. URL, сканирование которых запрещено в файле robots.txt, все же могут быть проиндексированы, а посмотреть содержимое файла robots.txt может любой пользователь. Это чревато раскрытием места хранения контента, который вы хотите скрыть. |
User-agent: * Disallow: /calendar/ Disallow: /junk/ |
Разрешить сканирование только для одного поискового робота. |
User-agent: Googlebot-news Allow: / User-agent: * Disallow: / |
Разрешить сканирование для всех поисковых роботов, за исключением одного. |
User-agent: Unnecessarybot Disallow: / User-agent: * Allow: / |
Запретить сканирование отдельной страницы. Название страницы указывается после косой черты. |
User-agent: * Disallow: /private_file.html |
Скрыть определенное изображение от робота Google Картинок. |
User-agent: Googlebot-Image Disallow: /images/dogs.jpg |
Скрыть все изображения на сайте от робота Google Картинок. |
User-agent: Googlebot-Image Disallow: / |
Запретить сканирование всех файлов определенного типа (в данном случае |
User-agent: Googlebot Disallow: /*.gif$ |
Запретить сканирование всех страниц сайта, но продолжать на них показ объявлений AdSense. Для этого необходимо добавить директиву Disallow для всех роботов, за исключением |
User-agent: * Disallow: / User-agent: Mediapartners-Google Allow: / |
Применить правило к URL, которые заканчиваются определенной последовательностью символов. Для этого добавьте символ $ . В примере справа блокируется доступ ко всем URL, которые заканчиваются на .xls . |
User-agent: Googlebot Disallow: /*.xls$ |