Сначало расскажу, что такое robots.txt.
Robots.txt – файл, который находится в корневой папки сайта, где прописываются специальные инструкции для поисковых роботов. Эти инструкции необходимы для того, чтобЫ при заходе на сайт, робот не учитывал страницу/раздел, другими словами мы закрываем страницу от индексации.
Зачем нужен robots.txt
Файл robots.txt считается ключевым требованием при SEO-оптимизации абсолютно любого сайта. Отсутствие этого файла может негативно сказаться на нагрузку со стороны роботов и медленной индексации и, даже более того, сайт полностью не будет проиндексирован. Соответственно пользователи не смогут перейти на страницы через Яндекс и Google.
Влияние robots.txt на поисковые системы?
Поисковые системы (в особенности Google) проиндексируют cайт, но если файла robots.txt нет, то, как и говорил не все страницы. Если имеется такой файл, то роботы руководствуются правилами, которые указываются в этом файле. Причем существует несколько видов поисковых роботов, если одни могут учитывать правило, то другие игнорируют. В частности, робот GoogleBot не учитывает директиву Host и Crawl-Delay, робот YandexNews совсем недавно перестал учитывать директиву Crawl-Delay, а роботы YandexDirect и YandexVideoParser игнорируют общепринятые директивы в robots.txt (но учитывают те, которые прописаны специально для них).
Нагружают сайт больше всего роботы, которые подгружают контент с вашего сайта. Соответственно, если мы укажем роботу, какие страницы индексировать, а какие игнорировать, а также с какими временными промежутками подгружать контент со страниц (это больше качается крупных сайтов у которых имеется более 100 000 страниц в индексе поисковых систем). Это позволит значительно облегчить роботу индексацию и процесс подгружения контента с сайта.
К ненужным для поисковых систем можно отнести файлы которые относятся к CMS, например, в Wordpress – /wp-admin/. Помимо этого, скрипты ajax, json, отвечающие за всплывающие формы, баннеры, вывод каптчи и так далее.
Для большинства роботов также рекомендую закрыть от индексации все файлы Javascript и CSS. Но для GoogleBot и Yandex такие файлы лучше индексировать, так как они используются поисковыми системами для анализа удобства сайта и его ранжирования.
Что такое директива robots.txt?
Директивы – это и есть правила для поисковых роботов. Первые стандарты по написанию robots.txt и соответственно появились в 1994, а расширенный стандарт в 1996 году. Однако, как вы уже знаете, что не все роботы поддерживают те или иные директивы. Поэтому ниже я расписал чем руководствуются основные роботы при индексации страниц сайта.
Читайте в нашем блоге: SEO специалист: что нужно знать о нем
Что означает User-agent?
Это самая главная директива, которая определяет для каких поисковых роботов будут действовать следовать дальнейшие правила.
Для всех роботов:
User-agent: *
Для определенного бота:
User-agent: Googlebot
Регистр в robots.txt не стол важен, писать можно как Googlebot так и googlebot
Поисковые роботы 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, Yahoo, Mail.ru, Rambler
Бот |
Функция |
Bingbot |
Основной индексирующий робот поисковой системы Bing |
Slurp |
Основной индексирующий робот поисковой системы Yahoo |
Mail.Ru |
Основной индексирующий робот поисковой системы Mail.Ru |
StackRambler |
В прошлом был индексирующим роботом Rambler, но позднее Rambler начал использовать на своих сервисах технологию Яндекса. Более не актуально. |
Директивы Disallow и Allow
Disallow закрывает от индексирования разделы и страницы вашего сайта. Соответственно Allow наоборот открывает их.
Есть некоторые особенности.
Во первых, дополнительные операторы - *, $ и #. Для чего они используются?
“*” – это любое количество символов и их отсутствие. По умолчанию она уже находится в конце строки, поэтому ставить ее еще раз смысла нет.
“$” – показывает, что символ перед ним должен идти последним.
“#” – комментарий, все что идет после этого символа робот не учитывает.
Примеры использования Disallow:
Disallow: *?s=
Disallow: /category/
Соответственно поисковый робот закроет страницы типа:
http://website.ru/namecategory/
Но открыты для индексации будут страницы вида:
Теперь вам необходимо понять, каким образом выполняются правила с вложенностью. Порядок записи директив совершено важен. Наследование правил, определяется по тому какие директории указаны, то есть если мы хотим закрыть страницу/документ от индексации достаточно прописать директиву. Давайте посмотрим на примере
Это наш файл robots.txt
Allow: *.js
Disallow: /template/
Соответственно:
http://website.ru/template/ - закрыто от индексации
http://website.ru/template/jquery.js - закрыто от индексирования
http://website.ru/javascript.js - открыто для индексирования
Если нужно, чтобы все файлы .js индексировались придется прописать дополнительно еще строку.
Allow: *.js
Allow: /template/* .js
Disallow: /template/
Теперь все файлы .js будут учитываться
Директива Sitemap
Это директива необходима для указания пути к вашей карте сайта (XML файл Sitemap). Достаточно прописать его в robots.txt
Sitemap: http://website.ru/sitemap.xml
Данная директива указывается так же в любом месте, причем можно прописать несколько файлов sitemap.
Директива Host в robots.txt
Данная директива необходима для указания главного зеркала сайта (часто с www или без). Обратите внимание, что директива host указывается без протокола http://, но с протоколом https://. Директиву учитывают только поисковые роботы Яндекса и Mail.ru, а другими роботами, в том числе GoogleBot правило не будет учтено. Host прописывать 1 раз в файле robots.txt
Пример с http://
Host: website.ru
Пример с https://
Host: https://website.ru
Директива Crawl-delay
Устанавливает временной интервал индексирования поисковым роботом страниц сайта. Значение указывается в секундах, и в миллисекундах.
Пример:
Crawl-Delay: 2
Crawl-Delay: 0.3
Применяется по большей части на крупных интернет-магазинах, информационных сайтах, порталах, где посещаемость сайта от 5 000 в день. Необходим для того, чтобы поисковый робот делал запрос на индексирование в определенный промежуток времени. Если не указывать данную директиву, то это может создать серьезную нагрузку на сервер.
Оптимальное значение crawl-delay для каждого сайта свое. Для поисковых систем Mail, Bing, Yahoo значение можно выставить минимальное значение 0.25, 0.3, так как роботы эти поисковиков могут переобходить ваш сайт раз в месяц, 2 месяца и так далее (очень редко). Для Яндекса лучше установить большее значение.
Если нагрузка вашего сайта минимальная, то указывать данную директиву смысла нет.
Директива Clean-param
Правило интересно тем, что сообщает краулеру, что страницы с определенными параметрами нет необходимости индексировать. Прописывается 2 агрумента: URL страницы и параметр. Данная директива поддерживается поисковой системой Яндекс.
Пример:
Clean-param: nameauthor_id http://website.ru/articles/
http://website.ru/articles/?nameauthor_id=267539 – индексироваться не будет
Так же Яндекс говорит, что лучше не индексироваться UTM-метки и идентификаторы сессий.
Clean-param: utm_source&utm_medium&utm_campaign
Директива Visit-time
Данная директива, сообщает роботу загружать страницы в определенное время по Гринвичу.
Например с часу ночи до 9 утра:
Visit-time: 0100-0900
Зачем нужен Закрывающий robots.txt ?
Обычно используется на этапе разработки сайта, чтобы поисковая система не учитывала все тестовые варианты сайта стоит прописать следующее:
User-agent: *
Disallow: /
12 важных правил по robots.txt
- Содержание только одной директивы в строке;
- Не нужно использовать кавычки в директиве;
- Формат написания директивы: Имя директивы: значение;
- Название файла прописывать обязательно в нижнем регистре: robots.txt;
- Использование спец символов в robots.txt не допускается;
- Слишком большие robots.txt (более 30 кб) не будут учитываться поисковым роботом;
- Обязательно указывайте Host для каждого сайта;
- Закрывайте от индексации все технические файлы (это касается админки в первую очередь). Так же не стоит индексировать информацию: корзину Интернет-магазина;
- Закрывать от индексации UTM-метки;
- Если необходимо для сайта пропишите Clean-Param и Crawl-Delay;
- Пропишите комментарии, чтобы могли понять что происходит в robots.txt и другие люди.
Пример robots.txt
# Пример robots.txt тестового сайта https://website.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://website.ru/sitemap.xml
Host: https://website.ru
В примере мы прописали правила для 3 разных ботов.
Куда добавить robots.txt?
Добавляется в корневую папку сайта. Помимо, чтобы по нему можно было перейти по ссылке:
Как проверить robots.txt?
Яндекс Вебмастер
На вкладке Инструменты выбираете Анализ robots.txt и далее нажимаете проверить
Google Search Console
На вкладке Cканирование выбираете Инструмент проверки файла robots.txt и далее нажимаете проверить.
Заключение:
Файл robots.txt должен быть обязательно на каждом продвигаемом сайте и лишь правильная его настройка позволит получить необходимую индексацию.
Ну и напоследок, если у вас возникли вопросы задавайте их в комментариях под статьей и еще мне интересно, а как вы прописываете robots.txt?