Создание файла 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 нужно разместить в корневом каталоге сайта. Например, на сайте http://www.example.com/ он должен располагаться по адресу http://www.example.com/robots.txt. Он не должен находиться в подкаталоге (например, по адресу http://example.com/pages/robots.txt). Если вы не знаете, как получить доступ к корневому каталогу, или у вас нет соответствующих прав, обратитесь к хостинг-провайдеру. Если у вас нет доступа к корневому каталогу сайта, используйте альтернативный метод блокировки, например метатеги.
  • Для файлов robots.txt можно использовать URL с субдоменами (например, http://website.example.com/robots.txt) или нестандартными портами (например, http://example.com:8181/robots.txt).

Синтаксис

  • Файл robots.txt должен представлять собой текстовый файл в кодировке UTF-8 (которая включает коды символов ASCII). Другие наборы символов использовать нельзя.
  • Файл robots.txt состоит из одной или более групп.
  • Каждая группа может включать несколько правил, по одному на строку. Эти правила также называются директивами или инструкциями.
  • Группа содержит следующую информацию:
    • К какому агенту пользователя относятся директивы группы.
    • К каким каталогам или файлам у этого агента есть доступ.
    • К каким каталогам или файлам у этого агента нет доступа.
  • Группы обрабатываются сверху вниз. Агент пользователя может следовать только одному, наиболее подходящему для него набору правил, который будет обработан первым.
  • По умолчанию агенту пользователя разрешено сканировать любые страницы и каталоги, доступ к которым не заблокирован правилом Disallow:.
  • Правила должны указываться с учетом регистра. К примеру, правило Disallow: /file.asp распространяется на URL http://www.example.com/file.asp, но не на http://www.example.com/FILE.asp.
  • Любой текст после символа # считается комментарием.

Директивы, которые используются в файлах robots.txt

  • User-agent: (обязательная директива, может повторяться в пределах группы). Определяет, к какому именно автоматическому клиенту (поисковому роботу), относятся правила в группе. С такой строки начинается каждая группа правил. Названия агентов пользователя Google перечислены в этом списке. Используйте знак *, как показано в примере ниже, чтобы заблокировать доступ всем поисковым роботам (кроме роботов AdsBot, которых нужно указывать отдельно). Ознакомьтесь с примерами ниже.
    # 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 файла Sitemap должен быть полным. Google не перебирает варианты URL с префиксами http и https или с элементом www и без него. Из файлов Sitemap роботы Google получают информацию о том, какой контент нужно сканировать и как отличить его от материалов, которые можно или нельзя обрабатывать. Подробнее о файлах Sitemap… Ознакомьтесь с примером:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

Все директивы, кроме sitemap, поддерживают подстановочный знак * для обозначения префикса или суффикса пути, а также всего пути.

Строки, не соответствующие ни одной из этих директив, игнорируются.

Ещё один пример

Файл 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 веб-сайта могут индексироваться, даже если они не были просканированы.

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, а также добавить запрет для всех роботов за исключением Mediapartners-Google. В результате робот Mediapartners-Google сможет получить доступ к удаленным вами из результатов поиска страницам, чтобы подобрать объявления для показа тому или иному пользователю.


User-agent: *
Disallow: /

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

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