Robots.txt – файл, расположенный в корне сайта, отвечающий за указание краулерам поисковых систем правил по индексированию ресурса. Ниже поговорим обо всех нюансах создания данного файла, а также приведем варианты robots.txt для популярных CMS.
Что такое robots.txt и для чего нужен?
SEO-продвижение сайта подразумевает его оптимизацию под требования поисковых систем. Главная цель – это улучшение позиций в органической выдаче поисковиков, и как следствие, привлечение целевого трафика. При этом не все страницы сайта имеют ценность для потенциальной аудитории, и, соответственно, часть из них не должна участвовать в ранжировании.
Перед процессом ранжирования, поисковики собирают информацию со страниц сайта, индексируя ее с помощью специальных роботов – краулеров. Владелец сайта имеет в своем распоряжении инструмент, который позволяет запрещать или разрешать индексацию тех или иных страниц для конкретно выбранных поисковых краулеров. Этим инструментом и выступает файл robots.txt.
Приведем перечень страниц, которые наверняка не должны участвовать в поисковом ранжировании:
- Файлы и страницы административной части сайта.
- Различные формы, например, авторизации пользователей и т.д.
- Страницы поисковых инструментов внутри сайта.
- Опции сравнения товаров в интернет-магазинах. Не путать с фильтрами в категориях товаров.
- Дубли страниц.
- Прочие служебные страницы, к примеру, личный кабинет.
Подобные страницы, если они доступны для сканирования, могут приводить к ряду проблем:
- На сканирование сайта выделяется краулинговый бюджет, определяющий количество страниц, которые поисковый робот обойдет за условный промежуток времени. Нецелевые документы, которые не решают задач сайта, будут тратить этот бюджет понапрасну. Если сайт большой, то могут возникнуть задержки в процессе индексации целевых страниц. Другими словами, новые или измененные страницы в поисковой выдаче могут появляться с задержками.
- Представим ситуацию, когда нецелевая страница попала в органическую выдачу. Перейдя на нее, пользователь с большой долей вероятности покинет ее, негативно повлияв при этом на процент отказов. Который в свою очередь, является важнейшим фактором ранжирования не только одного конкретно взятого документа, но и иногда сайта в целом. Так что одной из основных задач при комплексном SEO-продвижении является снижение количества отказов.
- В некоторых случаях в индекс могут попадать дубликаты страниц. Это приведет к тому, что поисковые алгоритмы попытаются самостоятельно определить каноническую (главную) версию документа, и часто в индексе вместо нее остается дубликат.
Правила создания robots.txt
Структура файла состоит из групп правил, адресованных поисковым роботам.
Следует понимать следующие принципы заполнения файла:
- Структура представляет собой набор разделов и непосредственно правил-директив.
- Разделы начинаются с директивы User-agent, обозначающей название поискового робота, на которого распространяется запрет/разрешение, указанное в текущей секции.
- При этом каждый из разделов является самостоятельной единицей и обрабатываются краулерами отдельно друг от друга. Другими словами, предыдущие правила переписывают последующие.
- Разделы обрабатываются сверху вниз, по порядку.
- Если в robots.txt отсутствует директива для документа, то по умолчанию его разрешено индексировать всем краулерам.
- Следует учитывать регистр букв в написании подстрок, т.е., /file.html и /FILE.HTML – разные документы.
- Для комментирования используется символ решетки (#). Им удобно пользоваться, когда требуется временно отключить определенные директивы.
- Каждый из наборов правил для определенных ботов должен разделяться пустой строкой.
- Между правилами для одного бота пустые строки должны отсутствовать.
Технические требования к файлу:
- Размер файла не должен превышать 500 КБ.
- Формат файла – TXT, сохраненного в кодировке UTF-8.
- Должен быть расположен в корневой директории сайта. В ином случае краулером будет зафиксировано его отсутствие.
- Доступ к файлу должен быть открытым, а при посещении возвращать код 200.
- Допускается использование одного файла в рамках одного ресурса.
- Заполняется исключительно в латинице. Если в домен входят кириллические символы, то он должен быть сконвертирован с помощью Punycode в латиницу.
Директивы
Robots.txt содержит в себе набор инструкций, распространяющихся на всех или некоторых поисковых краулеров.
Синтаксис файла включает в себя следующие символы:
- # – комментарии, та текстовая часть файла, которая не учитывается ботами.
- * – этот символ допускает любой набор символов после себя. Т.е., например, директива «Disallow: *» закрывает все директории ресурса от индексации.
- $ – перекрывает действие *, обозначает, что после этого символа следует остановиться.
Теперь разберем директивы файла robots.txt для сайта.
User-agent
Относится к обязательным директивам, с нее должна начинаться каждая группа правил. В этом поле указывается тип краулера, на которого распространяется действие группы правил.
User-agent содержит в себе название поискового робота, но если инструкция распространяется на все типы ботов, то указывается «*».
Список основных ботов, которые можно указывать в robots.txt:
- Yandex – касается всех роботов Яндекса.
- YandexBot – основной краулер Яндекса, отвечает за индексацию текстового контента.
- YandexImages – также краулер от Яндекса, который индексирует изображения.
- YandexMedia – бот Яндекса, который индексирует мультимедийный контент по типу видео.
- Google – все роботы Google.
- Googlebot – основной бот Google.
- Googlebot-Image – робот Google, целью работы которого является индексация изображений.
Одну и ту же директорию сайта можно запретить или разрешить для индексирования разным поисковым ботам.
Пример – не забываем вставлять пустую строку между правилами:
User-agent: Google Disallow: /main/ User-agent: Yandex Allow: /main/
Пример с набором нескольких директив для одного робота. Между директивами не должно быть пустых строк:
# Правильно: User-agent: Google Disallow: /files/ Disallow: /wp-admin/ # Неправильно User-agent: Google Disallow: /files/ Disallow: /wp-admin/
Как говорилось выше, файл считывается роботами сверху вниз по порядку. Все последующие инструкции для конкретно взятого робота игнорируются. Т.е., в приоритете всегда первая директива.
# Директива для робота Googlebot-Image. В ней разрешается индексация папки images: User-agent: Googlebot-Image Allow: /images/ # Директива для всех ботов, запрещающая индексацию папки images. При этом правило не будет распространяться на Googlebot-Image: User-agent: * Disallow: /images/
Disallow
Это обязательная директива – в каждой из групп правил должно содержаться Disallow или Allow. Суть ее заключается в указании документа или каталога на сайте, запрещенного для индексирования. Для документов (страниц) следует прописывать полный путь, а для каталога достаточно завершить его название символом «/» – в этом случае, все последующие директории также будут закрыты от индексации.
# Запрет на индексацию всего сайта: User-agent: * Disallow: / # Запрет индексирования конкретного раздела (директории): User-agent: * Disallow: /main/ # Запрет на индексацию всех URL-адресов, начинающихся с /main: User-agent: * Disallow: /main
Если в «Disallow» не указана директория, то правило игнорируется:
# Весь сайт доступен для индексации: User-agent: * Disallow:
Allow
Allow содержит в себе адрес документа или каталога, для которых разрешена индексация. Аналогичным образом, если указывается страница, то для нее прописывается полный URL-адрес, если это каталог, то после его названия ставится символ «/».
С помощью следующей комбинации Allow и Disallow можно строить правила исключений, например:
# Запрет на индексацию директории main, при этом ее подкаталог images доступен для сканирования: User-agent: * Disallow: /main/ # индексирование запрещено Allow: /main/ images/ # данный подкаталог доступен для индексации всеми поисковиками
Если в правилах указаны противоречащие друг другу директивы: Allow и Disallow, то Allow имеет приоритет:
# Запрет на индексацию директории main, при этом ее подкаталог images доступен для сканирования: User-agent: * Disallow: /main/ # индексирование запрещено Allow: /main/ images/ # данный подкаталог доступен для индексации всеми поисковиками
Sitemap
С помощью этой директивы можно подсказать роботам расположение файла карты сайта.
Sitemap: https://sitename.com/sitemap.xml
Допускается указание нескольких файлов карт.
Замечание: просмотр файла robots.txt доступен для всех, а с помощью карты сайта любой желающий может найти недавно опубликованные, но не проиндексированные страницы.
Clean-param
Если URL-адрес содержит в себе какие-либо динамические параметры, например, UTM-метки, но не влияющие на отображение документа, то это можно указать в директиве Clean-param.
Схема директивы: <параметр> <URL-адрес документа (страницы) для которой не учитывается параметр>:
User-agent: * Disallow: /main/ # Указывает на то, что параметры utm в URL-адресе с cat.php не обладают какой-либо значимостью. # (например, в адресе sitename.com/cat.php?utm=1 параметр utm не учитывается. Clean-param: utm cat.php
Эта директива призвана помочь алгоритмам Яндекса в определении тех страниц, URL-адреса которых должны попасть в органическую выдачу.
Также допускается указание нескольких директив «Clean-param» в одной группе правил.
Примеры robots.txt для разных CMS
Ниже представлены варианты robots.txt для некоторых CMS, их можно использовать по умолчанию, но не стоит использовать их вслепую, предварительно ознакомьтесь с основными директивами и спецсимволами.
WordPress
User-agent: * Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-json/ Disallow: /xmlrpc.php Disallow: /readme.html Disallow: /*? Disallow: /?s= Allow: /*.css Allow: /*.js Sitemap: https://site.ru/sitemap.xml
Joomla
Robots.txt для Joomla, скрыты от индексации основные директории со служебным контентом.
User-agent: * Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /xmlrpc/ Sitemap: https://sitename.com/sitemap.xml
1С-Битрикс
User-agent: * Disallow: /cgi-bin Disallow: /bitrix/ Disallow: /local/ Disallow: /*index.php$ Disallow: /auth/ Disallow: *auth= Disallow: /personal/ Disallow: *register= Disallow: *forgot_password= Disallow: *change_password= Disallow: *login= Disallow: *logout= Disallow: */search/ Disallow: *action= Disallow: *print= Disallow: *?new=Y Disallow: *?edit= Disallow: *?preview= Disallow: *backurl= Disallow: *back_url= Disallow: *back_url_admin= Disallow: *captcha Disallow: */feed Disallow: */rss Disallow: *?FILTER*= Sitemap:
Каждый из представленных robots.txt следует дорабатывать под особенности своего проекта, это лишь примеры расширенных вариантов базовых файлов.
Проверка robots.txt
Первым делом следует проверить файл на доступность. Сделать это можно в панели Вебмастера от Яндекса: «Инструменты – Проверка ответов сервера».
Проверяем ответ сервера
Файл должен отдавать 200 код ответа.
Затем переходим по следующему пути: «Инструменты – Анализ robots.txt».
Здесь будут показаны ошибки, если они есть, а также можно удобно изучить структуру файла.
Анализ robots.txt в Яндекс.Вебмастере
Далее переходим в инструмент Google Search Console «Анализ robots.txt» и проверяем наш файл повторно.
Пример отчета
Robots.txt является важнейшим файлом при SEO-продвижении, к его созданию следует подходить основательно. Неправильная его настройка может привести к тому, что сайт перестанет индексироваться или в индекс попадут «мусорные» страницы.