При оптимизации сайтов нужно создать и настроить файл robots.txt. Без него нагрузка на сайт со стороны поисковых роботов(краулеров) значительно увеличится, а скорость индексации и переиндексации упадет. Неправильная настройка файла чревата тем, что сайт будет индексироваться полностью. Под индексацию попадут лид-формы, страницы печати и прочие нежелательные данные.
Чтобы правильно настроить robots.txt, нужно разобраться во всех нюансах. Поговорим о них в статье.
Как индексация сайта связана с robots.txt
Поисковые роботы в любом случае индексируют сайт: это не зависит от наличия или отсутствия robots.txt. Если он есть, боты учитывают прописанные в файле правила, однако поведение краулеров отличается. Некоторые роботы не учитывают определенные правила, для других важны правила, которые обозначаются именно для них. Например, YandexNews вместе с GoogleBot игнорируют правила Host и Crawl-Delay. YandexVideoParser и YandexDirect безразличны общие правила в robots, но обоим важны специфичные.
Роботы, которые скачивают с сайта контент, оказывают на него максимальную нагрузку. Чтобы ее снизить и одновременно ускорить скачивание, нужно указать, что следует индексировать, а что нет. Кроме того, лучше обозначить временные промежутки скачивания и запретить обход ненужных страниц. В их числе — «ответственные» за баннеры и капчу скрипты json и ajax, всплывающие формы, поисковые функции, корзина для покупок, админка и личный кабинет.
Для большинства краулеров также стоит отключить индексацию всех CSS и JS. Исключение — GoogleBot и Yandex. Им файлы нужны для ранжирования сайта и анализа его удобства.
Директивы
Директивы — это свод правил для поисковых роботов. Не каждая поисковая система или бот поддерживает те или иные директивы. Лучше не действовать по стандарту, а разобраться, как главные роботы воспринимают определенные правила.
Теперь нужно рассмотреть директивы по порядку.
Основная директива, которая решает, для каких краулеров действуют дальнейшие правила.
Для всех поисковых роботов:
Для определенного бота:
Примечательно, что регистр символов в этом файле ни на что не влияет, поэтому юзер-агент для «Яндекса» можно записать и так: user-agent: yandex.
В таблице ниже приведены юзер-агенты разных поисковых систем.
Бот | Функция |
Google |
Googlebot | основной индексирующий робот Google |
Googlebot-News | Google Новости |
Googlebot-Image | Google Картинки |
Googlebot-Video | видео |
Mediapartners-Google | Google AdSense, Google Mobile AdSense |
Mediapartners | Google AdSense, Google Mobile AdSense |
AdsBot-Google | проверка качества целевой страницы |
AdsBot-Google-Mobile-Apps | Робот Google для приложений |
«Яндекс» |
YandexBot | основной индексирующий робот «Яндекса» |
YandexImages | «Яндекс.Картинки» |
YandexVideo | «Яндекс.Видео» |
YandexMedia | мультимедийные данные |
YandexBlogs | робот поиска по блогам |
YandexAddurl | робот, обращающийся к странице при добавлении ее через форму «Добавить URL» |
YandexFavicons | робот, индексирующий пиктограммы сайтов (favicons) |
YandexDirect | «Яндекс.Директ» |
YandexMetrika | «Яндекс.Метрика» |
YandexCatalog | «Яндекс.Каталог» |
YandexNews | «Яндекс.Новости» |
YandexImageResizer | робот мобильных сервисов |
Bing |
Bingbot | основной индексирующий робот Bing |
Yahoo! |
Slurp | основной индексирующий робот Yahoo! |
Mail.Ru |
Mail.Ru | основной индексирующий робот Mail.Ru |
Rambler |
StackRambler | Ранее был основным ботом-индексатором Rambler. В июне 2011 года поддержка собственной поисковой системы прекращена. Сейчас Rambler применяет технологию «Яндекса». |
Allow и Disallow
Директива Disallow позволяет закрыть от индексирования страницы сайта. С помощью Allow можно принудительно индексировать страницы и разделы. Для умелого обращения с директивами необходимо разбираться в дополнительных операторах и понимать, как ими пользоваться. Обратите внимание на символы *, # и $:
* — любое количество символов либо их отсутствие. Можно не ставить звездочку в конце строки, поскольку она находится там по умолчанию.
$ обозначает, что символ перед ним должен быть последним.
# — комментарий, поисковые роботы не учитывают все, что прописано после этого символа.
Примеры:
Disallow: *?s=
Disallow: /category/$
От индексации будут закрыты следующие ссылки:
http://sait.ru/?s=
http://sait.ru/?s=keyword
http://sait.ru/page/?s=keyword
http://sait.ru/category/
Для индексации будут открыты следующие ссылки:
http://sait.ru/category/cat1
http://sait.ru/category-folder/
Обратите внимание, как выполняются вложенные правила. Порядок записи директив не важен. То, какие именно директивы указаны, влияет на наследование правил: что должно открываться или закрываться от индексации. Простой пример:
Иногда все файлы .css должны оставаться открытыми. В таком случае этот параметр прописывают для каждой закрытой папки. Не имеет значения, в каком порядке записаны директивы.
Sitemap
Директива, которая указывает «дорогу» к файлу Sitemap. URL прописывают так же, как в адресной строке.
Директиву можно указать в любом месте robots.txt. Здесь не нужна привязка к определенному юзер-агенту. При необходимости можно прописать сразу несколько директив.
Host
Директива, которая указывает на главное зеркало веб-сайта (как правило, с www или без www). Зеркало прописывается без http://, но с https://. При необходимости указывают порт. Только краулеры Mail.ru и «Яндекса» поддерживают Host. Другие роботы вместе с GoogleBot не учитывают эту директиву, которую прописывают один раз.
Crawl-delay
С помощью этой директивы определяют интервал между скачиваниями ботом страниц сайта. Crawl-delay поддерживается поисковыми роботами «Яндекса», Mail.Ru, Bing, Yahoo. Интервал задают либо как целое число, либо как дробную единицу с точкой-разделителем. Время устанавливают в секундах.
Пример:
Crawl-delay: 4
Пример:
Crawl-delay: 0.6
Сайты с небольшой нагрузкой не нуждаются в такой директиве. Она требуется, если из-за индексирования превышается лимит сайта или возникают сбои в работе сервера. Многое зависит от значения — чем оно выше, тем меньшее количество страниц загружает робот за одну сессию. Для каждого ресурса значение определяется индивидуально. Лучше начинать со значений 0.1, 0.2, 0.5 и постепенно их повышать. У некоторых поисковых систем значение для результатов продвижения ниже, чем у других. Так, для роботов Bing и Yahoo можно сразу выставить большее значение, чем у бота «Яндекса».
Clean-param:
С помощью этой директивы краулер понимает, что URL-адресам с указанными параметрами не требуется индекс. Для правила задают параметр и URL раздела. Clean-param поддерживается «Яндексом».: http://site.ru/articles/?author_id=267539&sid=0995823627 - индексироваться не будет
«Яндекс» рекомендует применять Clean-param, чтобы не учитывать UTM-метки и идентификаторы сессий: Clean-Param: utm_source&utm_medium&utm_campaign:Другие параметры
Помимо перечисленных выше параметров, в перечне есть и другие. Расширенная спецификация предлагает такие директивы как Request-rate, Visit-time и пр. В данный момент их использование не особо целесообразно, поскольку они не поддерживаются основными поисковиками.
В чем заключается смысл этих правил:
-Request-rate: 1/4 — за 4 секунды загружается не больше 1 страницы;
-Visit-time: 0500-0745 — страницы загружаются только между 5 и 7:45 утра по Гринвичу.
Закрывающий файл
Иногда нужно закрыть ресурс для всех поисковых роботов. Чтобы сделать это, надо прописать директивы:
User-agent:
* Disallow: /
Как настроить robots.txt
В РФ и странах СНГ значительная доля трафика принадлежит «Яндексу» и Google, поэтому директивы нужно прописывать для всех роботов и отдельно для двух гигантов.
Чтобы правильно настроить файл, многое придется закрыть от индексирования. Лучше закрывать от индексации в такой последовательности:- Админка сайта.
- Авторизация, регистрация и личный кабинет.
- Форма заказа, корзина, данные о доставке.
- json и ajax.
- Папка cgi.
- Плагины, файлы js и css, темы оформления. Важно: для «Яндекса» и Google оставить открытыми.
- Функционал поиска.
- Служебные разделы, которые не представляют ценности для сайта в поиске (ошибка 404, перечень авторов).
- Дубли страниц, где повторяется контент с других страниц (календари и архивы).
- Страницы с параметрами UTM-меток и сессий.
- Страницы с параметрами сортировок, фильтров, сравнения.
- После этого нужно сделать следующее:
- Проверить с помощью параметра site: то, что уже проиндексировали «Яндекс» и Google. Для этого в поисковой строке наберите site:sait.ru. Если найдутся страницы, которые необходимо закрыть, их надо добавить в robots.txt.
- Указать Host и Sitemap.
- При необходимости прописать Crawl-delay и Clean-param.
- Проверить корректность robots.txt. Для этого понадобятся инструменты «Яндекса» или Google.
- Спустя две недели необходимо перепроверить результаты и посмотреть, появляются ли в поисковой выдаче не предназначенные для индексирования страницы. При необходимости следует повторить предыдущие шаги.
Пример
# Пример файла robots.txt для настройки гипотетического сайта https://site.ru
User-agent: *
Disallow: /admin/
Disallow: /plugins/
Disallow: /search/
Disallow: /cart/
Disallow: */?s=
Disallow: *sort=
Disallow: *view=
Disallow: *utm=
Crawl-Delay: 5
User-agent: GoogleBot
Disallow: /admin/
Disallow: /plugins/
Disallow: /search/
Disallow: /cart/
Disallow: */?s=
Disallow: *sort=
Disallow: *view=
Disallow: *utm=
Allow: /plugins/*.css
Allow: /plugins/*.js
Allow: /plugins/*.png
Allow: /plugins/*.jpg
Allow: /plugins/*.gif
User-agent: Yandex
Disallow: /admin/
Disallow: /plugins/
Disallow: /search/
Disallow: /cart/
Disallow: */?s=
Disallow: *sort=
Disallow: *view=
Allow: /plugins/*.css
Allow: /plugins/*.js
Allow: /plugins/*.png
Allow: /plugins/*.jpg
Allow: /plugins/*.gif
Clean-Param: utm_source&utm_medium&utm_campaign
Crawl-Delay: 0.5
Sitemap: https://site.ru/sitemap.xml
Host: https://site.ru
Как проверить файл
Корректность файла проверяют инструментами «Яндекса» и Google так:
1. В Google Search Console необходимо открыть «Сканирование» и выбрать инструмент проверки robots.txt.
2. В «Яндекс.Вебмастере» нужно открыть «Инструменты» и выбрать «Анализ robots.txt».
Типичные ошибки
Владельцы сайтов, как правило, допускают несколько распространенных ошибок:
- robots.txt отсутствует;
- сайт в файле закрыт от индексирования (директива Disallow: /);
- нет детальной проработки файла — в нем содержатся только базовые директивы, что отрицательно влияет на индексацию;
- не закрыты страницы с UTM-метками и идентификаторами сессий;
- несколько раз прописывается Host;
- в Host не указан htpps;
- неверный путь к Sitemap или неправильный протокол либо зеркало сайта.
В robots.txt могут быть указаны только:
Allow: *.css;
Allow: *.js;
Allow: *.png;
Allow: *.jpg;
Allow: *.gif.
При этом css, js, jpg и прочие закрыты в ряде директорий другими правилами.
Эта информация поможет вам настроить robots.txt.