Игорь Шулежко: «Pinterest и другие источники трафика»
Что такое robots.txt и как правильно его настроить?

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

1.1. Почему важно управлять индексацией
1.2. Что нужно закрывать в robots.txt
1.3. Влияние файла robots.txt на Яндекс и Google
1.4. Онлайн-генераторы
2. Структура и правильная настройка robots.txt
2.1. Директива User-agent
2.2. Директива Allow
2.3. Директива Disallow
2.4. Директива Host
2.5. Директива Sitemap
2.6. Директива Clean-param
2.7. Директива Crawl-Delay
2.8. Дополнение
3. 6 популярных косяков в robots.txt
4. Пример robots.txt
5. Проверка и валидация
6. Файл robots.txt для популярных CMS
7. Заключение
Что такое robots.txt?

*Чтобы найти все страницы сайта, которые закрыты в robots.txt, можно использовать «Аудит сайта» Serpstat.
Почему важно управлять индексацией
Но у вас не простой сайт-визитка из пары страниц (хотя и такие уже давно создаются на CMS вроде Wordpress/MODx и других) и вы работаете с любой CMS (а значит и с языками программирования, скриптами, базой данных и т. д.) — то столкнетесь с такими «прелестями», как:
- дубли страниц;
- мусорные страницы;
- недостаточно качественные страницы и многое другое.
Вроде бы не так страшно, место в Яндексе не закончится, но быстро закончится доверие поисковой системы к вашему ресурсу. Как следствие — понижение позиций и трафика, фильтры, депрессия и т. д.

Что нужно закрывать в robots.txt
Даже, если вы сразу не сможете закрыть 100% проблем, остальное дозакрывается на этапе индексации. Не всегда сразу можно понять, какие косяки вылезут, и не всегда они вылезают из-за технических проблем. Существует и человеческий фактор.
Влияние файла robots.txt на Яндекс и Google
Google же считает себя умнее и сам решает что и как ему индексировать. Однако если СРАЗУ закрыть страницы в robots.txt (до выпуска сайт в индекс), то вероятность того, что они попадут в Google намного ниже.
Но как только на закрытые страницы пойдут ссылки или трафик — поисковая система сочтет их нужными для индексации.
Потому в Google надежнее закрывать страницы от индексации через мета-тег robots:
<html>
<head>
<meta name=“robots” content=“noindex,nofollow”>
<meta name=“description” content=“Эта страница ….”>
<title>…</title>
</head>
<body>
Онлайн-генераторы
Для примера возьмем генератор PR-CY.
Все, что он делает — подставляет за вас слово «Disallow» и «User-agent». Экономии времени — 0, пользы — 0, смысла использовать — тоже 0.

Структура и правильная настройка robots.txt
- Указание робота
- Директивы для выполнения данным роботом
- Дополнительные опции
- Директивы для выполнения данным роботом
- Указание робота 2
- Директивы для выполнения данным роботом
- Дополнительные опции
- Директивы для выполнения данным роботом
- И т. д.
Для понимания:
- /catalog — короткий;
- /catalog/tag/product — длинный.
Давайте разбирать директивы.
Директива User-agent
- User-agent: * (для всех роботов);
- User-agent: Yandex (конкретно для всех роботов Яндекса).
Для Яндекса у нас есть следующие юзер-агенты (если вы решите закрывать страницы именно для конкретного бота, а не всех):
- YandexBlogs — робот, индексирующий посты и комментарии;
- YandexBot — основной индексирующий робот;
- YandexCalendar — робот Яндекс.Календаря;
- YandexDirect — скачивает информацию о контенте сайтов-партнеров Рекламной сети, чтобы уточнить их тематику для подбора релевантной рекламы, интерпретирует robots.txt особым образом;
- YandexDirectDyn — робот генерации динамических баннеров, интерпретирует robots.txt особым образом;
- YaDirectFetcher — робот Яндекс.Директа, интерпретирует robots.txt особым образом;
- YandexImages — индексатор Яндекс.Картинок;
- YandexMarket — робот Яндекс.Маркета;
- YandexMedia — робот, индексирующий мультимедийные данные;
- YandexMetrika — робот Яндекс.Метрики;
- YandexNews — робот Яндекс.Новостей;
- YandexPagechecker — валидатор микроразметки.
- 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 вида:
- /search?q=poiskoviy-zapros
- /search?q=poiskoviy-zapros-2
- /search?q=poiskoviy-zapros-3
Disallow: /search
Директива Host
User-agent: Yandex
Disallow: /cgi-bin
Host: site.ru
Сейчас достаточно иметь 301 редирект с «Не главного» зеркала на «Главное».
Директива Sitemap
Sitemap: https://site.ru/site_structure/my_sitemaps1.xml
Директива Clean-param
Т. е. вы дадите понять роботу Яндекса, чтобы он не напрягался лишний раз и не сканировал одинаковые страницы, а уделял больше времени важным документам.
Пример от Яндекса:
Например, на сайте есть страницы:
- www.example.com/some_dir/get_book.pl?ref=site_1&book_id=123
- www.example.com/some_dir/get_book.pl?ref=site_2&book_id=123
- www.example.com/some_dir/get_book.pl?ref=site_3&book_id=123
User-agent: Yandex
Clean-param: ref /some_dir/get_book.pl
- www.example.com/some_dir/get_book.pl?book_id=123
P.S. От себя еще добавлю, что данная директива на практике используется нечасто. В основном для UTM-меток.
Директива Crawl-Delay
Кажется, что можно заставить бота посещать страницы сайта 10 раз за секунду, указав значение 0.1, но нет:

- Crawl-delay: 2.5 — Задаст таймаут в 2.5 секунды
Дополнение
Символ * — любая последовательность символов.
Пример использования:
У вас есть товары и в каждом товаре есть отзывы:
- Site.ru/product-1/reviews/
- Site.ru/product-2/reviews/
- Site.ru/product-3/reviews/
Следовательно, нам нужно как бы пропустить названия продуктов:
Disallow: /*/reviews
- Site.ru/product-1/reviews/George
- Site.ru/product-1/reviews/Huan
- Site.ru/product-1/reviews/Pedro
Решение:
Disallow: /*/reviews/$
Да, мы могли просто вернуть отзыв Жорика с помощью Allow и повторить еще 2 раза для 2 других URL, но это не рационально, потому что если завтра нужно будет открыть 1 тыс. отзывов — вы же не будете 1 тыс. строк писать?
6 популярных косяков в robots.txt
Пустой Disallow
Disallow:
Кривое закрытие от Яндекса
Disallow: Yandex
Ошибка названия
Перечисление папок
Disallow: /category-1
Disallow: /category-2
Перечисление файлов
Забивание на проверки
Всегда используйте валидатор!
Пример robots.txt
User-agent: Yandex # Обращение к роботу Яндекса
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 # Абсолютная ссылка на карту сайта
Проверка и валидация

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 http://romanus.ru/random-1/?s=random-page. Дело в том, что у меня URL поиска имеют вид строго site.ru/?s=… Они не могут быть в какой-то папке.
В другом случае, мне пришлось бы заменить правило Disallow: /?s= на Disallow: */?s=
Файл robots.txt для популярных CMS
Поэтому если у вас окажется немного нестандартное решений или дополнительные плагины, которые меняют URL и т. д., то могут быть проблемы с индексацией и закрытием лишнего.
Поэтому предлагаю ознакомиться и взять за основу robots.txt для следующих CMS:
Заключение
Рекомендуемые статьи
Кейсы, лайфхаки, исследования и полезные статьи
Не успеваешь следить за новостями? Не беда! Наш любимый редактор Анастасия подберет материалы, которые точно помогут в работе. Присоединяйся к уютному комьюнити :)
Нажимая кнопку, ты соглашаешься с нашей политикой конфиденциальности.
Комментарии