Это свободный перевод статьи “How to write and submit a robots.txt file” из официальной справки Google.

Что вы узнаете в этой статье:

С помощью файла robots.txt вы можете указывать, какие файлы на вашем сайте будут видны поисковым работам. Файл robots.txt находится в корневом каталоге вашего сайта. К примеру, на сайте  www.example.com он находится по адресу  www.example.com/robots.txt

Он является обычным текстовым файлом, соответствующим  стандарту исключений для роботов  и содержащим одно или несколько правил. Каждое из них запрещает или разрешает всем поисковым работам или выбранным доступ к определенному пути в домене или субдомене, в котором размещается файл robots.txt. 

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

Ниже приведён пример простого файла robots.txt с двумя правилами:

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

Sitemap: https://www.example.com/sitemap.xml

Объяснение:

  1. Запрещаем User-agent с именем Googlebot сканировать любые URL-адреса, которые начинаются с https://example.com/nogooglebot/.
  2. Любым другим агентам пользователя (User-agent) можно сканировать весь сайт. Это правило можно не указывать, и результат буде таким же. По умолчанию User-agent-ы могут сканировать сайт полностью.
  3. Файл Sitemap этого сайта находится по адресу https://www.example.com/sitemap.xml.

Более подробно вы найдете описание в разделе Синтаксис .

Основные рекомендации, касающиеся создания файла robots.txt

Работа с файлом robots.txt включает четыре этапа:

  1. Создайте файл robots.txt
  2. Добавьте в него правила
  3. Опубликуйте готовый файл у корневом каталоге своего сайта
  4. Протестируйте свой файл robots.txt

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

Создать файл robots.txt можно в любом текстовом редакторе, таком как Блокнот, TextEdit, vi или Emacs. Не используйте оффисные программы (Word и подобные), поскольку они часто сохраняют файлы в проприетарном формате и добавляют в них лишние символы, например фигурные кавычки, не распознаваемые поисковыми роботами. Обязательно сохраните файл в кодировке UTF-8, если вам будет предложено выбрать кодировку.

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

  • Файл должен называться robots.txt
  • На сайте должен быть только один файл.
  • Файл robots.txt следует разместить в корневом каталоге сайта. Например, на сайте  https://www.example.com/он должен размещаться по адресу  https://www.example.com/robots.txt. Он  не должен  находиться в подкаталоге (например, по адресу  https://example.com/pages/robots.txt). Если вы не знаете, как получить доступ к корневому каталогу сайта, или у вас нет соответствующих прав, обратитесь к хостинг-провайдеру ( куда загружать файлы? ). Если у вас нет доступа к корневому каталогу сайта, используйте альтернативный метод, например  meta-теги .
  • Файл robots.txt можно использовать на субдоменах (например,  https://website.example.com/robots.txt) или он может быть доступен через нестандартный порт (например,  https://example.com:8181/robots.txt)
  • Действие robots.txt распространяется только по пути в пределах протокола, хоста и порта, где он расположен. Другими словами, правило по адресу  <strong>https://example.com/robots.txt</strong> действует только для файлов, принадлежащих к домену  <strong>https://example.com/</strong>, но не к субдомену, такому как  https://<strong>m.</strong>example.com/, или не для других протоколов, например  <strong>http</strong>://example.com/.
  • Файл robots.txt должен быть текстовым файлом в кодировке UTF-8 (включая коды символов ASCII). Google может проигнорировать символы, не относящиеся к UTF-8, в результате чего будут обработаны не все правила файла robots.txt.

    Как писать правила в файле robots.txt

    Правила – это указания для поисковых роботов, говорящие, какие разделы сайта можно сканировать. Добавляя правила к файлу robots.txt, учитывайте следующее:

    • Файл robots.txt состоит из одной или нескольких групп (наборов правил).
    • Каждая группа может содержать несколько правил по одному на строку. Эти правила также называются директивами. Каждая группа начинается со строки  User-agent, которая определяет, к какому агенту адресованы правила в ней.
    • Группа содержит следующую информацию:
      • К какому агенту пользователя относятся директивы группы.
      • К каким каталогам или файлам этот агент  имеет доступ  .
      • К каким каталогам или файлам у этого агента  нет доступа  .
    • Поисковые работы обрабатывают группы по порядку сверху вниз. Агент пользователя может следовать только одному, наиболее подходящему для него набору правил, который будет обработан первым. Если для одного пользовательского агента описано несколько групп правил, все они будут объединены в одну.
    • По умолчанию пользователю разрешено сканировать любые страницы и каталоги, доступ к которым не заблокирован правилом  disallow.
    • Правила должны указываться с учетом регистра. К примеру, правило  disallow: /file.asp распространяется на URL  https://www.example.com/file.asp, но не на   https://www.example.com/FILE.asp
    • Символ  # означает начало комментария. При обработке комментарии игнорируются.

    Правила файлов robots.txt, которые поддерживает робот Google

    • user-agent:(Обязательное правило может повторяться внутри группы). Определяет, к какому клиенту (поисковому роботу) относятся правила в группе. 
      С такой строки начинается каждая группа правил. Названия пользовательских агентов Google перечислены в  этом списке  . Используйте знак  *, чтобы заблокировать доступ для всех поисковых роботов (за исключением роботов AdsBot, которых нужно указывать отдельно). 
      Примеры:
    # Example 1: блокировать только Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: блокировать Googlebot и Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # Example 3: блокировать всех роботов, кроме AdsBot (AdsBot нужно указывать отдельно в правилах)
    User-agent: *
    Disallow: /
      • disallow: (каждое правило должно содержать не менее одной директивы  disallow или  allow). Указывает на каталог или страницу относительно корневого домена, который нельзя сканировать пользовательскому агенту. Если правило касается страницы, должен быть указан полный путь к ней, как в адресной строке браузера. В начале строки должен быть символ  /. Если правило касается каталога, строка должна оканчиваться символом  /.
      • allow:(каждое правило должно содержать не менее одной директивы  disallow или  allow). Указывает на каталог или страницу корневого домена, которые можно сканировать агенту пользователя. Используется для того, чтобы переопределить правило  disallow и разрешить сканирование подкаталога или страницы в закрытом для обработки каталоге. Если правило касается страницы, должен быть указан полный путь к ней, как в адресной строке браузера. В начале строки должен быть символ  /. Если правило касается каталога, строка должна оканчиваться символом  /.
      • sitemap:(Необязательная директива, которая может повторяться несколько раз или совсем не использоваться). Указывает на расположение файла Sitemap, используемого на сайте. URL файла Sitemap должен быть полным. Google не перебирает варианты URL с префиксами http и https или с элементом www и без него. Из файлов Sitemap роботы Google  получают  информацию о том, какой контент нужно сканировать и как отличить его от  обрабатываемых материалов  . Подробнее… 
        Примеры:
        Sitemap: https://example.com/sitemap.xml
        Sitemap: https://www.example.com/sitemap.xml

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

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

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

        Как загрузить файл robots.txt

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

        Обратитесь к своему хостинг-провайдеру за дополнительными инструкциями или попробуйте самостоятельно найти документацию (пример запроса: » куда загружать файлы сайта «).

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

        Как протестировать разметку файла robots.txt 

        Чтобы убедиться, что загруженный файл robots.txt общедоступен, откройте в браузере  окно в режиме инкогнито  (или аналогичное) и перейдите по адресу файла. Пример:  https://example.com/robots.txt. Если вы видите содержимое файла robots.txt, можно перейти к тестированию разметки.

        Для этого Google предлагает два средства:

        1. Инструмент проверки файла robots.txt  в Search Console. Этот инструмент можно использовать только для файлов robots.txt, которые уже доступны на вашем сайте.
        2. Если вы разработчик, рекомендуем использовать  библиотеку с открытым кодом  , которая также применяется в Google Поиске. С помощью этого инструмента можно локально тестировать robots.txt непосредственно на компьютере.

          Как отправить файл robots.txt в Google

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

          Полезные правила

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

          Полезные правила
          Это правило запрещает сканировать весь веб-сайт.Следует учитывать, что в некоторых случаях URL-адреса сайта могут индексироваться, даже если они не были просканированы. Обратите внимание, что это правило  не относится  к роботам AdsBot, которые нужно указывать отдельно.
          User-agent: *
          Disallow: /
          Это правило запрещает сканирование каталога со всем его содержимым.Чтобы запретить сканирование целого каталога, поставьте слэш после его названия.
          Внимание:  не используйте файл robots.txt для ограничения доступа к определенному контенту. Вместо этого используйте аутентификацию посетителей. 
          URL адреса , сканирование которых запрещено в файле robots.txt, все же могут быть проиндексированы. Кроме того, злоумышленники могут просмотреть содержимое файла robots.txt и узнать, где находится контент, который вы хотите скрыть.
          User-agent: *
          Disallow: /calendar/
          Disallow: /junk/
          Disallow: /books/fiction/contemporary/
          Это правило позволяет сканировать сайт только одному поисковику.Сканировать весь сайт может только робот  googlebot-news.
          User-agent: Googlebot-news
          Allow: /
          User-agent: *
          Disallow: /
          Это позволяет сканироваться всем поисковым работам кроме одного.Робот  Unnecessarybot не может сканировать сайт, а остальные могут.
          User-agent: Unnecessarybot
          Disallow: /
          User-agent: *
          Allow: /
          Это правило запрещает сканирование отдельной страницы.Например, можно запретить сканирование страниц  useless_file.html и  other_useless_file.html каталог junk.
          User-agent: *
          Disallow: /useless_file.html
          Disallow: /junk/other_useless_file.html
          Это правило запрещает сканировать весь сайт, за исключением определенного подкаталога.Поисковым работам предоставлен доступ только к подкаталогу  public.
          User-agent: *
          Disallow: /
          Allow: /public/
          Это правило скрывает определенное изображение от работы Google Картинок.Например, вы можете запретить сканирование изображения  dogs.jpg.
          User-agent: Googlebot-Image
          Disallow: /images/dogs.jpg
          Это правило скрывает все изображения на сайте от Google Картинок.Google не сможет индексировать изображения и видео, которые недоступны для сканирования.
          User-agent: Googlebot-Image
          Disallow: /
          Это правило запрещает сканирование всех файлов данного типа.Например, вы можете запретить работам доступ ко всем файлам  .gif.
          User-agent: Googlebot
          Disallow: /*.gif$
          Это правило запрещает сканировать весь сайт, но он может обрабатываться роботомMediapartners-GoogleРобот  Mediapartners-Google сможет получить доступ к закрытым от поискового робота страницам, чтобы подобрать объявление для показа тому или иному пользователю.
          User-agent: *
          Disallow: /
          User-agent: Mediapartners-Google
          Allow: /
          Воспользуйтесь символами подстановки  *и  $для сопоставления URL, которые заканчиваются определенной строкой.К примеру, можно исключить все файлы  .xls
          User-agent: Googlebot
          Disallow: /*.xls$

          Если эта информация оказалась полезной – поделитесь ею в соцсетях!