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

Robots.txt — это файл, который размещается в папке сайта на хостинге и содержит правила индексирования вашего сайта поисковыми системами. Как понятно из названия, файл имеет обычный текстовый формат. Если при обращении в браузере к вашему сайту по ссылке вида http://site.com/robots.txt корректно отображается содержимое файла — значит он будет правильно прочитан роботами поисковиков.

Зачем нужен robots.txt?

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

GoogleIndex

Страницы, которые нужно закрывать от индексации:

  • Страницы поиска по сайту
  • Корзина
  • Сравнение, сортировка и фильтры товаров
  • Теги, если их нельзя оптимизировать и модерировать
  • Страницы регистрации и авторизации
  • Личный кабинет и профайлы пользователей
  • Системные файлы и каталоги
  • Версии для печати
  • Пустые страницы и т. д.

Блокировать индексацию следует для всех тех страниц, которые не несут пользу для посетителя, недоработаны, содержат чувствительные данные или являются дублями.

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

Структура файла robots.txt имеет такой вид:

  • Поисковый робот 1
  • Инструкции для робота 1
  • Дополнительные опции
  • Поисковый робот 2
  • Инструкции для робота 2
  • Дополнительные опции

и т. д.

Порядок написания инструкций не имеет значения, поскольку обработка их происходит от менее вложенного к более вложенному. Регистр написания правил важен: cart.php и Cart.PHP — это разные страницы.

User-agent

Данная директива отвечает за имя робота, для которого будут указаны правила в этой секции. Обычно для User-agent используют два значения:

  • User-agent: * — для всех роботов
  • User-agent: Yandex — для всех роботов системы Yandex.

Также при необходимости можно указывать любые другие существующие user-агенты.

Disallow

Отвечает за запрет индексации указанных директорий. Нельзя указывать несколько папок в одной строке, поскольку роботы не смогут правильно интерпретировать правило. Данная директива может быть проигнорирована Googlebot, если на запрещенные к индексации директории есть ссылки на вашем сайте или других сайтах.

Если ваш сайт находится на стадии разработки и вы не хотите показывать его поисковикам, то запретить индексирование можно командами:

User-agent: * 
Disallow: /

Не забудьте изменить эти настройки после завершения всех работ по созданию сайта.

Allow

А эта директива, соответственно, открывает доступ роботов к указанным каталогам.

Причем указывать Allow: / не имеет смысла, поскольку по умолчанию индексация разрешена для всех каталогов, на которые не установлен запрет (Disallow).

Allow применяется обычно в комбинации с Disallow, например:

Disallow: /
Allow: /catalog

Запрет индексации корневой папки, но индексировать папку catalog можно.

Host

На данный момент директива не обрабатывается поисковыми роботами Google и Yandex (с марта 2018 года). Потому можно ее не использовать.

Ранее директива Host указывала на основное зеркало вашего сайта:

Host: https://site.com

Сейчас достаточно правильно настроить редиректы 301 с неосновных зеркал на основное.

Sitemap

Указывает ботам, где находится карта сайта, если это не стандартный путь https://site.com/sitemap.xml. Важно указывать полную ссылку на карту сайта, а не относительный путь:

Sitemap: https://site.com/private/sitemaps/sitemap_new.xml

Вы можете указывать разные карты для разных роботов при необходимости.

Crawl-Delay

Если роботы Yandex сильно нагружают хостинг, можно задать минимальный интервал между запросами. Например:

Crawl-Delay: 10 

Запись означает, что роботу разрешено делать запросы не чаще, чем раз в 10 секунд.

На практике это правило не всегда соблюдается, а Googlebot и вовсе его игнорирует — скорость обхода сайта регулируется в Search Console.

Также указав интервал, например, 0.1 сек вы можете ускорить индексацию сайта. Не факт, что запросы будут приходить по 10 раз в секунду, но сайт точно будет проиндексирован быстрее. Будьте осторожны с этой настройкой, если не уверены, что ваш сервер выдержит такой большой поток запросов.

Clean-param

Эта команда используется довольно редко и призвана убрать дубли страниц, которые образуются различными utm-метками, сессиями, сортировками, фильтрами.

Например, при переходе на страницу сайта в URL подставляется referrer — сайт откуда был сделан переход:

https://site.com/catalog/dveri?ref=google.com.ua&model_id=125

https://site.com/catalog/dveri?ref=yandex.ua&model_id=125

https://site.com/catalog/dveri?ref=ek.ua&model_id=125

Поисковики будут считать эту страницу как три разных. Чтобы склеить дубли, нужно добавить команду:

Clean-param: ref /catalog/dveri

Подстановочные символы

Подстановочные символы в robots.txt используются для упрощения и сокращения записей.

Символ * — любая последовательность символов.

Disallow: /images/*.jpg$

Запись означает: запретить индексирование всех изображений jpg в папке images.

Символ $ — конец строки. Данный символ ограничивает раскрытие содержимого каталогов, например:

Disallow: /images/$ 

Эта запись не позволит попасть в индекс элементам непосредственно в папке images, но элементы в папках /images/public1/, /images/public2/ и т. д. будут индексироваться.

Символ # — комментирование. Все символы в строке, идущие за этим символом будут проигнорированы ботами.

Какие ошибки часто допускают при написании robots.txt?

  1. Имя робота в Disallow.
    Неправильно:

    Disallow: Yandex 

    Правильно:

    User-agent: Yandex
    Disallow: /
  2. Несколько папок в одной строке Disallow.
    Неправильно:

    Disallow: /admin/ /tmp/ /private/

    Правильно:

    Disallow: /admin/
    Disallow: /tmp/
    Disallow: /private/
  3. Сам файл должен называться только robots.txt, а не Robots.txt, ROBOTS.TXT и т. д.
  4. Нельзя оставлять пустым правило User-agent, нужно прописать * или имя робота, для которого далее будут прописаны правила.
  5. Имена папок и доменов кириллицей. URL нужно писать в формате URL-encode, а IDN-домены в puny-code.
    Неправильно:

    Disallow: /корзина

    Правильно:

    Disallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0

    Неправильно:

    Sitemap: https://мойсайт.com/admin/sitemap1.xml

    Правильно:

    Sitemap: https://xn--80arbjktj.com/admin/sitemap1.xml
  6. Очень много правил — большой размер файла. Если файл robots.txt весит больше 32 КБ, то он не обрабатывается и считается полностью разрешающим.

Надеемся, что мы смогли ответить на некоторые вопросы о настройке robots.txt и процессе индексации в поисковых системах.

Ниже оставим ссылки с примерами файла robots.txt для популярных CMS. Если будете использовать эти файлы, не забудьте изменить имя домена на свое!
WordPress

Joomla

OpenCart

Bitrix

Drupal

MODX Evolution

MODX Revolution

Webasyst