Robots.txt: начальный гайд для быстрой работы без боли

Где уже только не писали о его настройке, но многие до сих пор задаются вопросами «что в него писать?» или «зачем он нужен?». В основном этим интересуются новички в SEO. Потому мы решили написать гайд по быстрой настройке без боли и последствий.

Начнем с того, что вообще такое этот robots.txt?

Это файл-инструкция, который дает рекомендации поисковым роботам какие страницы сканировать, а какие нет. Не будем вдаваться в подробности в какой кодировке (UTF-8) должен быть файл и какой размер не превышать (500 кб). Нас интересует что и как в нем в нём закрывать.

Обратите внимание, что я выделил слово «рекомендации», т.к. страницы всё равно могут появиться в индексе по тем или иным причинам.

Синтаксис

Все инструкции в файле пишутся латинскими буквами. Окончание каждой строки происходит через перенос строки (клавиши Enter), а не точки, запятые, точку с запятой.

Чтобы написать комментарий, указываем перед текстом решетку #, для окончания комментария — перенос строки.

Все пути в правилах указываются в «относительном формате», т.е. / — главная страница.

Каждому правилу автоматически присваивается символ *, даже если вы его не ставили. Он отвечает за произвольное количество любых символов. Поэтому скроются все файлы, вложенные в указанную папку. Да, даже если мы их не указывали, он тоже не будут сканироваться, т.к. мы запретили родительскую.

Чтобы запретить символ * и скрыть папку, только ту, что указали — используем символ $. Он ограничивает правило.

Обязательно помните, что при конфликте правил двух директорий приоритет отдается тому, у кого правило состоит из большего количества символов.

Директивы

User-agent — данная директива отвечает к какому роботу будут относиться правила, описанные до конца файла или до следующей такой же директивы.
Правила можно указать сразу для всех роботов также через символ *, т.к. «звездочка» отвечает за любое количество символов.

Также, можно указать отдельных роботов, например: Yandex, GoogleBot и другие. Посмотреть полный список роботов от Яндекса и для Google.

У многих в привычку вошло указывать правила сначала для Яндекса (User-agent: Yandex), а потом дублировать их же для всех (User-agent: *). Правильно и так, и так.

Disallow — указывает какие папки не сканировать.

Allow — указывает какие папки сканировать.

Обращаю внимание, что между ними могут происходить конфликты и тут играет роль у какого правила большее количество символов.

Host — указывает на главный домен. Директива неактуальна, но для общего сведения стоит знать о ней.

Sitemap — указывает на карту сайта формата XML. Ссылка должна быть в абсолютном формате. Вставляем директиву после правил сканирования для каждого поискового робота. Отдельно про XML карту сайта поговорим в другой статье.

Crawl-delay — директива отвечает за частоту сканирования сайта роботом. Более не актуальна, т.к. в вебмастерах обоих поисковых систем есть функция такой настройки.

 Скриншот скорости обхода для Яндекса

Скорость обхода для Яндекса — аналог Crawl-delay

 Скриншот скорости обхода для Google

Скорость обхода для Google — аналог Crawl-delay

Clean-param — снижает нагрузку сканирования при динамических URL и один из способов удаления дублей страниц (но это не точно). Лучше всего описана в справке Яндекса: https://yandex.ru/support/webmaster/controlling-robot/robots-txt.html#clean-param. Используется в крайних случаях, зачастую проще закрыть динамические страницы от индексации.

Теория хорошо, но что же написать в файл?

Во первых, смотрим какая CMS установлена на сайте. Если WordPress, ModX, Bitrix, Opencard и другие популярные коробочные, то смело заходим в любой поисковик и вводим в поисковую систему «готовый robots.txt для %Наша CMS%». В нем зачастую запрещены все файлы от системы управления и различные системные файлы. Могут быть запрещены динамические страницы следующим правилом: «Disallow: /*?» и тому производных. Тут необходимо задуматься о них, т.к. могут запрещать страницы пагинации, реализованные через вид ?page=2 и т.д.

Фильтры, сортировки, поиск и другие популярные функции, реализованные через динамические страницы можно смело запрещать. Иначе будут возникать дубли страниц, а это — бяка. Конечно, для первых двух не соберутся поведенческие факторы установленными счетчиками от поисковых систем и ещё много причин зачем их не запрещать сканировать, но другие способы реализации сложны и мучительны. Идем дальше.

Вот мы скачали готовый robots.txt, переписали директивы Host и Sitemap под свои сайты, вроде бы всё готово. Но, зачастую запрещенные к сканированию папки могут содержать в себе не только лишние файлы, и различные изображения, стили и важные скрипты. Поэтому необходимо пройтись по каждой папке (способов множество, поэтому описывать не буду) и просмотреть на наличие вышеупомянутых в них.

Тут нам пригодиться директива Allow. Открываем файлы через неё так: Allow: /zakritaya-papka/*.jpg, также с форматами *.png, *.gif, *.css, *.js и другие.
Вспоминаем о том, что приоритет отдается директиве с наибольшим количество знаков. Поэтому путь к файлам должен быть длиннее самой закрытой папки.

Также, зачастую закрываются страницы сайта, которые ненужны в поисковой выдаче. Например личные кабинеты, пустующие разделы и другое.

#Primer
User-agent: Yandex
Disallow: /adminka
Disallow: /papka1
Disallow: /papka2
Disallow: /poisk
Disallow: /user-id
Allow: /papka1/*.jpg
Allow: /papka1/*.css
Allow: /papka1/*.js

Sitemap: https://site.ru/sitemap.xml

Дублируем правила для User-agent: *

Готовый файл обязательно размещаем в корне сайта: site.ru/robots.txt.
Готово!

Стандартный robots.txt для: ModX, Bitrix.

Полезные информация от поисковых систем: Google и Яндекс