Robots.txt

Robots.txt – что это? Это файл, использующийся для регулирования индексации web-сайта ПС (поисковыми системами). Он находится в корневом каталоге. В разделах файла находятся директивы, открывающие или закрывающие доступ индексирующим ботам к разделам/страницам ресурса. Каждый поисковый робот использует свой алгоритм обработки этого файла. Настройки robots.txt не оказывают влияние на обработку ссылок на страницы ресурса с других web-сайтов.

Функции robots.txt

Основной функцией данного файла является размещение указаний для роботов ПС. К главным директивам robots.txt относят следующие.

  • Disallow – накладывает запрет на индексацию;
  • Allow – значит, что индексация конкретного раздела/файла разрешена;
  • User-agent – определяет, к каким роботам относятся разрешающие/запрещающие директивы.

Инструкции robots.txt носят рекомендательный характер – то есть иногда они могут игнорироваться роботами.

Пример

User-agent: *

Disallow: /

Файл с таким содержанием запрещает индексацию ресурса для всех роботов.
User-agent: Yandex

Disallow: /private/

Robots.txt с таким содержанием (директорий /private/) нужно применить, чтобы запретить индексацию для основного робота ПС Yandex.

Как создавать и где размещать robots.txt

У файла должно быть расширение txt. После создания он закачивается в корневой каталог при помощи любого FTP-клиента. После нужно проверить доступность файла по адресу site.com/robots.txt (в браузере он должен отображаться целиком).

Требования к файлу robots.txt

Поговорим о требованиях к файлу. Web-мастера знают, что отсутствие robots.txt в корневом каталоге ресурса либо его некорректная настройка могут угрожать посещаемости сайта и его доступности в поиске. По стандартам, в файле robots.txt должна использоваться латиница. Для работы с доменами на кириллице следует использовать Punycode. Кодировка URL должна в полной мере соответствовать кодировке применяемой структуры сайта.

Другие директивы файла

  • Host

Данная директива активно используется роботами всех ПС. Она позволяет указывать зеркало сайта (именно оно будет главным при индексировании). Это помогает избегать попадание в индекс страниц разных зеркал ресурса, появления дублей в выдаче поисковиков.

Примеры использования

Если для нескольких ресурсов главное зеркало – https://onetwosite.com, то:

User-Agent: Yandex

Disallow: /blog

Disallow: /custom

Host: https://onetwosite.com

При наличии в файле robots.txt нескольких значений директивы Host робот ПС использует только первую, а прочие игнорирует.

  • Sitemap

Чтобы индексация проходила корректно и быстро, нужно использовать файл Sitemap либо группу подобных файлов. Эта директива является межсекционной – робот будет ее учитывать при размещении в любом месте robots.txt. Но обычно ее вставляют в самом конце. В процессе обработки директивы робот запоминает и перерабатывает информацию. Именно эти данные лежат в основе формирования следующих сессий загрузки страниц для индексации сайта.

Примеры использования:

User-agent: *

Allow: /catalog

sitemap: https://mmysite.com/mmy_sitemaps0.xml

sitemap: https://mmysite.com/mmy_sitemaps1.xml

  • Clean-param

Это дополнительная директива для ботов ПС Яндекс. Современные ресурсы отличаются сложной структурой названий. Часто системами управления контентом в названиях страниц формируются динамические параметры. Через них могут передаваться дополнительные данные о referrer, сессиях пользователей и пр.

Стандартный синтаксис данной директивы выглядит так:

Clean-param: s0[&s1&s2&..&sn] [path]

В первом поле размещены параметры, которые не нужно учитывать. Они отделяются при помощи символа &. Во втором поле содержится префикс пути страниц, подпадающих под действие данного правила.

Допустим, движок форума при обращении пользователя к страницам генерирует длинные ссылки следующего вида:

http://4forum.com/index.php?id=132879525&topic=60

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

User-agent: *

Disallow:

Clean-param: id /4forum.com/index.php

  • Crawl-delay

Данная директива актуальна в случаях, когда роботы ПС слишком нагружают сервер ресурса. В ней задается минимальное время между концом загрузки страницы сайта и обращением робота к следующей. Период времени указывается в секундах. Робот ПС Яндекс также может считывать дробные значения чисел (0,5 сек., 0,3 сек. и т. п.).

Примеры использования:

User-agent: *

Disallow: /cgi

Crawl-delay: 4.2 # таймаут 4.2 секунды для роботов

Данную директиву не учитывают роботы ПС Google.

$ и другие спецсимволы

Важно не забывать, что в процессе внесения любых директив всегда нужно прописывать в конце специальный символ *. Действие указания распространяется на все разделы/страницы web-сайта, которые начинаются с определенной комбинации символов.

Для отмены действия по умолчанию используют специальный символ $. Пример использования:

User-agent: Googlebot

Disallow: /pictures$ # запрещает ‘/pictures’,

# но не запрещает ‘/pictures.html’

Стандартное использование файла robots.txt предполагает выставление пустого перевода строки после каждой группы директив User-agent. При этом спецсимвол # используется для размещения комментариев в файле. Роботы не станут учитывать содержание, размещенное за символом # до знака пустого перевода.

Как запретить индексацию ресурса либо его разделов

Запретить индексацию отдельных страниц/разделов либо всего сайта через директиву Disallow можно так:

User-agent: *

Disallow: /

# блокирует доступ ко всему сайту

User-agent: Yandex

Disallow: / bin

# блокирует доступ к страницам,

# которые начинаются с ‘/bin’

Как проверить robots.txt на правильность

Проверка корректности файла robots.txt является обязательной операцией сразу после внесения в него любых правок. Это важно, потому что даже мелкая случайная ошибка в размещении символа может привести к очень серьезным проблемам. Нужно обязательно проверить robots.txt в инструментах для web-мастеров Яндекса. Такую проверку следует производить и в ПС Google. Для этого требуется регистрация и ввод в панель вебмастера данных своего ресурса.