Как создать файл robots.txt

Тем, кто пользуется сервисами хостинга сайтов, например WIX или Blogger, обычно не нужно создавать или изменять файл robots.txt.

Начало работы

Файл 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

Пояснения

  1. Агент пользователя с названием Googlebot не должен сканировать каталог http://example.com/nogooglebot/ и его подкаталоги.
  2. У всех остальных агентов пользователя есть доступ ко всему сайту (это правило можно опустить, и результат будет тем же, так как полный доступ предоставляется по умолчанию).
  3. Файл Sitemap этого сайта находится по адресу http://www.example.com/sitemap.xml.

Далее представлен более подробный пример.

Основные правила использования файлов robots.txt

Ниже приведены базовые принципы работы с файлами robots.txt. Мы рекомендуем вам изучить полный синтаксис этих файлов, так как у него есть неочевидные особенности, в которых вам следует разобраться.

Формат и расположение

Создать файл robots.txt можно почти в любом текстовом редакторе с поддержкой кодировки UTF-8. Не используйте текстовые процессоры, поскольку зачастую они сохраняют файлы в проприетарном формате и добавляют в них недопустимые символы, например фигурные кавычки, которые не распознаются поисковыми роботами.

При создании и изменении файлов robots.txt используйте инструмент проверки. Он позволяет проанализировать синтаксис файла и узнать, как он будет функционировать на вашем сайте.

Правила в отношении формата и расположения файла

  • Файл должен носить название 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: /

Запретить сканирование всех файлов определенного типа (в данном случае .gif).


User-agent: Googlebot
Disallow: /*.gif$

Запретить сканирование всех страниц сайта, но продолжать на них показ объявлений AdSense. Для этого необходимо добавить директиву Disallow для всех роботов, за исключением Mediapartners-Google. Тогда этот робот сможет анализировать удаленные из результатов поиска страницы для подбора подходящих объявлений.


User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
Применить правило к URL, которые заканчиваются определенной последовательностью символов. Для этого добавьте символ $. В примере справа блокируется доступ ко всем URL, которые заканчиваются на .xls.

User-agent: Googlebot
Disallow: /*.xls$