70188 12 2
SEO Читать 20 минут 18 августа 2021

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

Что такое robots.txt и как правильно его настроить?
Фото Романа Вердыша, автора статьи о настройке robots.txt
Роман Вердыш
Автор блога romanus.ru и директор SEO-компании в Минске acades.by
Robots.txt это служебный файл, который содержит правила для индексации вашего сайта определенными (или всеми) ботами поисковых систем. Например, WordPress автоматически отредактирует файл, если вы отметите в настройках: «Попросить поисковые системы не индексировать сайт». С помощью robots можно попробовать закрыть сайт от индексации Google, используя директиву robots txt allow и disallow.

Получится ли? Держите ответ в уме, ниже вы сможете проверить, совпадают ли наши мысли.
Да-да, опять robots.txt — вы все-все знаете лучше меня. И я опять буду писать прописные истины, но какого же черта я это делаю?

Я просто оставлю скрин переписки действующего сеошника с программистом (который, конечно же, «шарит в SEO»), после того, как я посоветовал их клиенту закрыть мусор от индексации простым правилом Disallow: *? :
Диалог SEO-специалиста и разработчика о закрытии страницы от индексации
Диалог SEO-специалиста и программиста о закрытии сайта от индексации
Я замазал фамилии, все же этика и все в этом духе. Но после таких перлов от людей, которые продвигают сайт за деньги и называют себя специалистами мне кажется статья более, чем актуальна :)
#1

Что такое robots.txt?

robots.txt — это простой текстовый файл, название которого пишется в нижнем регистре и лежит он в корневой директории сайта:
Файл robots.txt в каталоге документов сайта
Файл robots.txt в корневом каталоге сайта
Если вы правильно его разместили, то он откроется по адресу: site.ru/robots.txt

*Чтобы найти все страницы сайта, которые закрыты в robots.txt, можно использовать «Аудит сайта» Serpstat.

Почему важно управлять индексацией

Если у вас сайт на голом HTML + CSS, т. е. вы каждую страничку верстаете вручную, не используете скрипты и базы данных (сайт из 100 страниц — это 100 HTML-файлов у вас на хостинге), то вам эта статья не нужна. В таких сайтах управлять индексацией незачем.

Но у вас не простой сайт-визитка из пары страниц (хотя и такие уже давно создаются на CMS вроде Wordpress/MODx и других) и вы работаете с любой CMS (а значит и с языками программирования, скриптами, базой данных и т. д.) то столкнетесь с такими «прелестями», как:
Основная проблема в том, что в поисковый индекс попадает то, что там быть не должно — страницы, не несущие никакой пользы людям и засоряющие поиск.

Вроде бы не так страшно, место в Google не закончится, но быстро закончится доверие поисковой системы к вашему ресурсу. Как следствие — понижение позиций и трафика, фильтры, депрессия и т. д.
Наличие дублей страниц сайта в индексе поисковика
Когда из 500 страничного сайта в индексе оказывается 3100 страниц
Так же есть такая штука, как краулинговый бюджет — определенное количество страниц, которые робот может просканировать за один раз. Он определяется для каждого сайта индивидуально. Имея кучи незакрытого мусора страницы могут дольше индексироваться из-за того, что им не хватило краулингового бюджета.
Краулинговый или рендеринговый бюджет: не вместо, а вместе

Что нужно закрывать в robots.txt

Чаще всего в индекс попадает следующий хлам:
1
Страницы поиска. Если вы не собираетесь их модерировать и прорабатывать — их индексация должна быть закрыта.
2
Корзина магазина.
3
Страницы благодарности и оформления заказов.
4
Иногда имеет смысл закрывать страницы пагинации.
5
Сравнения товаров.
6
Сортировки.
7
Фильтры, если невозможно их оптимизировать и модерировать.
8
Теги, если вы не можете их оптимизировать и модерировать.
9
Страницы регистрации и авторизации.
10
Личный кабинет.
11
Список желаний.
12
Профили юзеров.
13
Фиды.
14
Различные лэндинги, созданные только под акции и распродажи.
15
Системные файлы и каталоги.
16
Языковые версии, если они не оптимизированы.
17
Версии для печати.
18
Пустые страницы и т. д.
Закрывать нужно все, что не полезно для пользователя, не готово, не доработано или является дублем. Изучайте свой сайт, используя перечисленные выше подсказки, и смотрите, какие URL генерируются на выходе.

Даже, если вы сразу не сможете закрыть 100% проблем, остальное дозакрывается на этапе индексации. Не всегда сразу можно понять, какие косяки вылезут, и не всегда они вылезают из-за технических проблем. Существует и человеческий фактор.
Заказ персональной демонстрации Serpstat
Хотите узнать, как с помощью Serpstat найти ошибки на сайте?

Заказывайте бесплатную персональную демонстрацию сервиса, и наши специалисты вам все расскажут! ;)

Влияние файла robots.txt на Google

Google считает себя умнее и сам решает, что и как ему индексировать. Однако если СРАЗУ закрыть страницы в robots.txt (до выпуска сайт в индекс), то вероятность того, что они попадут в Google намного ниже.

Но как только на закрытые страницы пойдут ссылки или трафик — поисковая система сочтет их нужными для индексации.
Как задать в robots.txt директивы для роботов Google
Потому в Google надежнее закрывать страницы от индексации через мета-тег robots:
<html>
 <head>
  <meta name=“robots” content=“noindex,nofollow”>
  <meta name=“description” content=“Эта страница ….”>
   <title>…</title>
 </head>
<body>

Онлайн-генераторы

По аналогии с sitemap.xml у многих людей может возникнуть мысль о генераторах. Они есть. Они бесплатно. Они нафиг никому не нужны.

Для примера возьмем генератор PR-CY.

Все, что он делает — подставляет за вас слово «Disallow» и «User-agent». Экономии времени — 0, пользы — 0, смысла использовать — тоже 0.
Онлайн генераторы robots.txt не работают
Ищем смысл онлайн-генераторов robots.txt
#2

Структура и правильная настройка robots.txt

Структура файла robots.txt имеет следующий вид:
1
Указание робота
  • Директивы для выполнения данным роботом
  • Дополнительные опции
2
Указание робота 2
  • Директивы для выполнения данным роботом
  • Дополнительные опции
3
И т. д.
Порядок следования директив в файле не играет роли, т. к. поисковая система интерпретирует ваши правила в зависимости от длины префикса URL (от коротких к длинным).

Для понимания:
  • /catalog — короткий;
  • /catalog/tag/product — длинный.
Также хочу заметить, что важен регистр написания: Catalog, CataloG и catalog — это 3 разных алиаса (псевдонима страницы).

Давайте разбирать директивы.

Директива User-agent

Здесь указывается робот, для которого будут актуальны правила, которые описаны ниже. Чаще всего встречаются записи:
  • User-agent: * (для всех роботов);
Для Google:
  • APIs-Google — агент пользователя, который API Google применяет для отправки push-уведомлений;
  • Mediapartners-Google — робот, осуществляющий анализ AdSense;
  • AdsBot-Google-Mobile — проверяет качество рекламы на веб-страницах, предназначенных для устройств Android и IOS;
  • AdsBot-Google — проверяет качество рекламы на веб-страницах, предназначенных для компьютеров;
  • Googlebot-Image — робот индексирующий картинки;
  • Googlebot-News — робот Google новостей;
  • Googlebot-Video — робот Google видео;
  • Googlebot — основной инструмент для сканирования контента в Интернете;
  • Googlebot-Mobile — робот индексирующий сайты для мобильных устройств.

Директива Disallow

Запрет указанного URL для индексации. Используется практически в каждом robots.txt, поскольку чаще нужно закрывать мусор, а не открывать отдельные части сайта.

Пример использования:

У нас есть поиск на сайте, который генерирует URL вида:
  • /search?q=poiskoviy-zapros
  • /search?q=poiskoviy-zapros-2
  • /search?q=poiskoviy-zapros-3
Видим, что у него есть основа /search. Смотрим структуру сайта, чтобы убедиться, что с такой же основной нет ничего важного и закрывает весь поиск от индексации:
Disallow: /search 

Директива Host

Раньше это был указатель на главное зеркало сайта. Как правило, директива Host указывается в самом конце файла robots.txt:
Для Google — бесполезная строка. Сейчас достаточно иметь 301 редирект с «Не главного» зеркала на «Главное».

Директива Sitemap

Указывает пути до карты сайта. В идеале sitemap.xml должен лежать в корне сайта. Но если ваш путь отличается — данная директива поможет поисковым ботам ее найти.
Важно! Указывайте именно абсолютный путь.
Указывается он так:
Sitemap: https://site.ru/site_structure/my_sitemaps1.xml

Директива Crawl-Delay

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

Кажется, что можно заставить бота посещать страницы сайта 10 раз за секунду, указав значение 0.1, но нет:
Ускорение индексации сайта
Реализация:
  • Crawl-delay: 2.5 — Задаст таймаут в 2.5 секунды
P.S. Я никогда не парюсь и оставляю все на усмотрение поисковика. Проблем пока не наблюдал.

Дополнение

Символ # — комментирование. Все, что находится после данного символа (в этой же строке) — игнорируется.
Символ * — любая последовательность символов.

Пример использования:

У вас есть товары и в каждом товаре есть отзывы:
  • Site.ru/product-1/reviews/
  • Site.ru/product-2/reviews/
  • Site.ru/product-3/reviews/
У нас отличается товар, но отзывы имеют одинаковый алиас. Закрыть отзывы с помощью Disallow: /reviews мы не можем, т .к. у нас префикс начинается не с /reviews, а с /product-1, /product-2 и т. д.

Следовательно, нам нужно как бы пропустить названия продуктов:
Disallow: /*/reviews 
Символ $ — означает конец строки. Чтобы объяснить суть его работы, вернемся к примеру выше. Нам также нужно закрыть отзывы, но оставить открытой страницы отзывы от Жорика и его друзей:
  • Site.ru/product-1/reviews/George
  • Site.ru/product-1/reviews/Huan
  • Site.ru/product-1/reviews/Pedro
Если мы используем наш вариант с Disallow: /*/reviews — отзыв Жорика погибнет, как и всех его друзей. Но Жорик оставил хороший отзыв!

Решение:
Disallow: /*/reviews/$
Мы поставили / на конце URL и поставили $, чтобы показать, что на слэше закончилась наша строка.

Да, мы могли просто вернуть отзыв Жорика с помощью Allow и повторить еще 2 раза для 2 других URL, но это не рационально, потому что если завтра нужно будет открыть 1 тыс. отзывов — вы же не будете 1 тыс. строк писать?
#3

6 популярных косяков в robots.txt

На самом деле нет ничего сложного в ковырянии robots.txt. Важно пользоваться валидатором, знать директивы и следить за регистром. Однако стоит избегать некоторых ошибок:
#1

Пустой Disallow

Удобно копировать Disallow, когда пишешь его кучу раз, но потом забываешь удалить пустой и остается строка:
Disallow: 
Disallow без указания значения = разрешение к индексации сайта.
#2

Ошибка названия

Написать Robots.txt, т. е. нарушить регистр 1 буквы. Все должно быть в нижнем регистре. Сюда же идет написание robots.txt.
Всегда пишется robots.txt
#3

Перечисление папок

Перечисления в директиве Disallow различных каталогов через запятую или пробел. Это так не работает.
Каждое правило идет с новой строки. И либо вы пользуетесь символами * и $ для решения задачи, либо закрываете каждый раздел отдельно с новой строки, т. е.:

Disallow: /category-1
Disallow: /category-2

#4

Перечисление файлов

Перечисление файлов, которые нужно закрыть.
Достаточно закрыть папку, и все файлы в ней также будут закрыты для индексации.
#5

Забивание на проверки

Есть люди, которые закрывают страницы, используют сложные правила, но при этом забивают на проверку своего robots.txt в валидаторе, а иногда даже не могут проверить в нем определенные варианты.
Яркий пример этого был в начале поста. Есть много случаев, когда оптимизаторы, не перепроверив данные, закрывали целые разделы сайта.
Всегда используйте валидатор!
#4

Пример robots.txt

В качестве примера я возьму свой блог, и его robots и дам комментарии к каждой строке. Данный файл не менялся с момента создания блога, потому есть устаревшие моменты:
User-agent: # Обращение к роботу 
Disallow: /wp-content/uploads/ # Закрываем всю папку 
Allow: /wp-content/uploads/*/*/ # Открываем папки картинок вида /uploads/close/open/
Disallow: /wp-login.php # Закрытие файла. Делать не нужно 
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /template.html
Disallow: /cgi-bin # Закрываем папку
Disallow: /wp-admin # Закрываем все служебные папки в CMS
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: */trackback # Закрываем URL содержащие /trackback
Disallow: */feed # Закрываем URL содержащие /feed
Disallow: */comments # Закрываем URL содержащие /comments
Disallow: /archive # Закрываем архивы
Disallow: /?feed= # Закрываем фиды
Disallow: /?s= # Закрываем URL поиска по сайту
Allow: /wp-content/themes/RomanusNew/js* # Открываем только папку js
Allow: /wp-content/themes/RomanusNew/style.css # Открываем файл style.css
Allow: /wp-content/themes/RomanusNew/css* # Открываем только папку css
Allow: /wp-content/themes/RomanusNew/fonts* # Открываем только папку fonts
Host: romanus.ru # Указание главного зеркала, уже неактуально
Sitemap: http://romanus.ru/sitemap.xml # Абсолютная ссылка на карту сайта
#5

Проверка и валидация

Не стоит публиковать файл robots.txt сразу на сайт, лучше зайти в сервис вебмастера и проверить его корректность, а также что именно он закрывает:
анализ robots.txt с помощью Яндекс.Вебмастер
Анализ robots.txt в вебмастере
Давайте проверим самые «скользкие» моменты:
Disallow: /wp-content/uploads/
Allow: /wp-content/uploads/*/*/
Disallow: */trackback
Disallow: /?feed=
Disallow: /?s=
Allow: /wp-content/themes/RomanusNew/js*
Allow: /wp-content/themes/RomanusNew/style.css
Итого:
Итоговый отчет с закрытыми от индексации страницами
Итоговый отчет, в котором страницы закрыты от индексации
Отлично, все, что нужно — закрыто. Открыты нужные файлы и папки. Так же подсвечивается по какому правилу блочится каждый URL.

Особо внимательные могли увидеть, что открыт для индексации URL http://romanus.ru/random-1/?s=random-page. Дело в том, что у меня URL поиска имеют вид строго site.ru/?s=… Они не могут быть в какой-то папке.

В другом случае, мне пришлось бы заменить правило Disallow: /?s= на Disallow: */?s=
#6

Файл robots.txt для популярных CMS

Сразу скажу, что не стоит в лоб использовать любые найденные в сети файлы robots.txt. Это относится к любым файлам и любой информации.

Поэтому если у вас окажется немного нестандартное решений или дополнительные плагины, которые меняют URL и т. д., то могут быть проблемы с индексацией и закрытием лишнего.

Поэтому предлагаю ознакомиться и взять за основу robots.txt для следующих CMS:
Для тех, кто не любит читать — я снял короткое видео с пояснениями и основными моментами:

Заключение

Если подвести итог, то алгоритм работы с файлом robots.txt:
1
Создать и разместить в корне сайта.
2
Взять за основу типовой robots.txt для своей CMS.
3
Добавить в него типовые мусорные страницы, описанные в статье.
4
Просканировать свой сайт любым краулером (типа Screaming Frog SEO Spider или Netpeak Spider), чтобы посмотреть на общую картину URL и того, что вы закрыли. Возможно встретятся еще мусорные страницы.
5
Пустить сайт в индекс.
6
Мониторить Google Webmasters на предмет мусорных страниц и оперативно их закрывать от индексации (и делать это не только с помощью robots.txt).

FAQ

Где находится файл robots txt?

Файл robots txt находится в корневом каталоге сайта на хостинге. Обычно его можно просмотреть, добавив к адресу сайта /robots.txt. В файле содержатся директивы, управляющие доступом поисковых роботов ко всему сайту или его отдельным разделам, а также указан адрес карты сайта Sitemap.xml.

Как снять ограничения в файле robots txt?

Ограничения доступа поисковых ботов ко всему сайту, его отдельным разделам и страницам прописывается с помощью директивы Disallow. Убрав из файла эту директиву, вы откроете доступ к индексации всех страниц сайта, в том числе и служебных. Отдельные разделы и страницы можно открыть с помощью директивы Allow.

Как проверить наличие robots txt?

Чтобы проверить наличие файла robots txt на сайте, введите в поисковую строку его URL-адрес таким образом: site.com/robots.txt. В сервисах вебмастеров можно проанализировать, не содержит ли robots txt ошибки.

Serpstat — набор инструментов для поискового маркетинга!

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

Набор инструментов для экономии времени на выполнение SEO-задач.

7 дней бесплатно

Оцените статью по 5-бальной шкале

4.52 из 5 на основе 92 оценок
Нашли ошибку? Выделите её и нажмите Ctrl + Enter, чтобы сообщить нам.

Используйте лучшие SEO инструменты

Проверка обратных ссылок

Быстрая проверка обратных ссылок вашего сайта и конкурентов

API для SEO

Получите быстро большие объемы данных используя SЕО API

Анализ конкурентов

Сделайте полный анализ сайтов конкурентов для SEO и PPC

Мониторинг позиций

Отслеживайте изменение ранжирования запросов используя мониторинг позиций ключей

Поделитесь статьей с вашими друзьями

Вы уверены?

Знакомство с Serpstat

Узнайте об основных возможностях сервиса удобным способом!

Отправьте заявку и наш специалист предложит вам варианты обучения: персональную демонстрацию, пробный период или материалы для самостоятельного изучения и повышения экспертизы. Все для комфортного начала работы с Serpstat.

Имя

Email

Телефон

Будем рады вашему комментарию
Я принимаю условия Политики конфиденциальности.

Спасибо, мы сохранили ваши новые настройки рассылок.

Сообщить об ошибке

Отменить
Открыть чат технической поддержки
mail pocket flipboard Messenger telegramm