Robots.txt — маленький текстовый файл который говорит Яндексу какие страницы индексировать, а какие нет. Ошибка в нём может закрыть весь сайт от поиска или открыть технические страницы которые не должны попасть в индекс. Разбираем как настроить правильно.

Что такое robots.txt и зачем он нужен

Файл robots.txt лежит в корне сайта по адресу вашсайт.ru/robots.txt. Когда Яндекс приходит сканировать сайт, он первым делом читает этот файл и узнаёт что ему разрешено, а что — нет. Без robots.txt бот будет сканировать всё подряд: корзину, личный кабинет, страницы фильтров — впустую тратя краулинговый бюджет на страницы которые вредят SEO.

Базовая структура файла

Файл состоит из групп инструкций. Каждая группа начинается с User-agent — для кого правило, затем идут Allow и Disallow — что разрешено и что запрещено:

User-agent: *
Disallow: /admin/
Disallow: /wp-admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /search/
Disallow: /?s=
Allow: /

Sitemap: https://вашсайт.ru/sitemap.xml

User-agent: * означает «для всех роботов». Можно указать конкретно: User-agent: Yandex — тогда правило будет только для Яндекс-ботов.

Что закрывать от индексации

Технические страницы — всегда

  • /admin/, /wp-admin/ — панели управления
  • /login/, /register/ — страницы авторизации
  • /cart/, /checkout/ — корзина и оформление заказа
  • /account/, /profile/ — личный кабинет
  • /search/, /?s= — страницы результатов внутреннего поиска

Дублирующиеся страницы

Страницы с параметрами вида ?sort=price&order=asc, ?color=red — дубли. Их нужно либо закрыть в robots.txt, либо поставить canonical. Для интернет-магазинов это особенно критично — фильтры могут создавать тысячи дублей. О дублях подробно — в статье дублированный контент.

Технические файлы CMS

  • /wp-json/ — REST API WordPress
  • /feed/ — RSS ленты
  • /xmlrpc.php — XML-RPC интерфейс
  • /trackback/ — трекбеки

Что не надо закрывать — частые ошибки

Случайное закрытие всего сайта

Самая страшная ошибка — Disallow: / для всех роботов. Это значит «никому ничего не индексировать». Сайт полностью выпадает из поиска. Такое случается когда разработчик включает закрытый режим на время разработки и забывает его убрать. Проверяйте robots.txt после любых правок через Яндекс.Вебмастер.

Закрытие CSS и JS файлов

Иногда закрывают папки /css/ и /js/ «для безопасности». Это ошибка: Яндекс должен видеть стили и скрипты чтобы правильно отрендерить страницу и оценить её содержимое. Закрытые стили = Яндекс видит сайт как текст без оформления.

Закрытие важных страниц по ошибке

Если закрыта директория /blog/ — весь блог выпадает из поиска. Если закрыта /products/ — все товары. Перед публикацией изменений проверяйте каждую важную страницу через инструмент анализа robots.txt в Вебмастере.

Специфика для разных CMS

WordPress

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-json/
Disallow: /feed/
Disallow: /?s=
Allow: /wp-admin/admin-ajax.php
Allow: /

Sitemap: https://вашсайт.ru/sitemap.xml

Битрикс

User-agent: *
Disallow: /bitrix/
Disallow: /personal/
Disallow: /basket.php
Disallow: /order/
Disallow: /search/
Allow: /

Sitemap: https://вашсайт.ru/sitemap.xml

Как проверить robots.txt

  1. Откройте Яндекс.Вебмастер → Инструменты → Анализ robots.txt
  2. Введите URL любой важной страницы сайта
  3. Проверьте что страница доступна для индексации
  4. Проверьте что технические страницы закрыты

Также проверяйте robots.txt как часть общего SEO-аудита — это один из первых пунктов технической проверки.

Директива Host для Яндекса

Яндекс поддерживает директиву Host — она указывает главное зеркало сайта. Если у вас есть и www- и не-www версия, добавьте:

Host: вашсайт.ru

Это помогает Яндексу понять какая версия главная. Проблемы с дублями из-за www/без-www решаются также через 301 редирект на уровне сервера.

Хотите проверить robots.txt вашего сайта?

Проведу технический аудит — найду ошибки в robots.txt, sitemap и индексации. Часто именно технические проблемы мешают сайту попасть в топ.

Написать в Telegram