Как проверить robots.txt: пошаговая инструкция и 9 частых ошибок интернет-магазинов

Коротко

  • robots.txt — текстовый файл в корне сайта, который говорит поисковым роботам, какие адреса не нужно обходить. Он управляет обходом, а не индексацией.
  • Файл должен открываться по адресу site.ru/robots.txt и отдавать код ответа 200. Для каждого поддомена и протокола нужен свой файл.
  • Робот выбирает одну группу правил — самую точную для своего User-agent — и применяет из неё самое длинное подходящее правило. При равной длине побеждает Allow.
  • Проверяйте не файл целиком, а конкретные адреса: карточки, категории, фильтры, корзину, поиск, CSS и JS. Быстрее всего — тестером robots.txt для списка URL.

Что такое robots.txt и на что он влияет

robots.txt — обычный текстовый файл, который лежит в корне сайта и содержит правила для поисковых роботов: какие разделы можно обходить, а какие нет. Яндекс и Google запрашивают его перед обходом сайта и следуют найденным правилам.

Главное, что нужно понимать: robots.txt управляет обходом, а не индексацией. Если закрыть страницу в robots.txt, робот не будет её загружать, но адрес всё равно может попасть в индекс Google — например, если на него ведут ссылки. Чтобы убрать страницу из поиска, используют meta robots noindex или заголовок X-Robots-Tag, а саму страницу в robots.txt оставляют открытой: иначе робот просто не увидит запрет на индексацию.

Для интернет-магазина robots.txt решает две задачи. Первая — не тратить внимание робота на служебные адреса: корзину, личный кабинет, внутренний поиск, сортировки и бесконечные комбинации параметров. Вторая — не закрыть случайно то, что должно приносить трафик: категории, карточки товаров, полезные фильтры.

Где находится robots.txt и как его открыть

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

  • Один файл на хост. У shop.ru, m.shop.ru и blog.shop.ru — свои файлы robots.txt. Правила основного домена на поддомены не распространяются.
  • Код ответа 200. Файл должен отдаваться с кодом 200. Если сервер отвечает ошибкой 5xx, Google считает, что обходить сайт нельзя, и временно приостанавливает сканирование.
  • Обычный текст в UTF-8. Не HTML-страница с ошибкой и не редирект на главную — так бывает, когда CMS перехватывает несуществующие адреса.
Быстро проверить файлВставьте содержимое robots.txt и список адресов в тестер robots.txt — он покажет, какие URL открыты для Яндекса и Google и какое правило сработало.

Основные директивы

ДирективаЧто делаетКто учитывает
User-agentНачинает группу правил для конкретного робота или для всех (*)Все поисковики
DisallowЗапрещает обход адресов, которые начинаются с указанного путиВсе поисковики
AllowРазрешает обход — используется как исключение из DisallowЯндекс и Google
SitemapУказывает адрес карты сайтаЯндекс и Google
Clean-paramСклеивает адреса с параметрами, которые не меняют содержимое страницы, — например, UTM-меткиТолько Яндекс
HostРаньше указывал главное зеркалоНе учитывается с 2018 года
Crawl-delayЗадавал паузу между запросами роботаGoogle не учитывает, Яндекс перестал учитывать

В правилах работают два спецсимвола: * — любая последовательность символов и $ — конец адреса. Правила чувствительны к регистру: Disallow: /Catalog/ не закроет /catalog/.

Как роботы читают правила

Ошибки в robots.txt чаще всего появляются из-за того, что файл читают сверху вниз, как список команд. Роботы Яндекса и Google работают иначе:

  1. Выбирают одну группу. Робот ищет группу с самым точным совпадением своего имени. Если в файле есть группа User-agent: Yandex, Яндекс будет использовать только её, а группу User-agent: * проигнорирует полностью.
  2. Ищут все подходящие правила внутри выбранной группы — и Allow, и Disallow, в любом порядке.
  3. Применяют самое длинное правило. Побеждает правило с самым длинным путём. Если длина одинаковая, побеждает Allow.

Пример: в группе есть правила Disallow: /catalog/ и Allow: /catalog/divany/. Адрес /catalog/divany/uglovye/ подходит под оба, но второе правило длиннее — значит, страница открыта. А /catalog/stoly/ закрыт, потому что под него подходит только Disallow.

Пошаговая проверка robots.txt

  1. Откройте файл по адресу site.ru/robots.txt и убедитесь, что это текст, а не страница-заглушка или редирект.
  2. Проверьте код ответа — он должен быть 200. Сделать это можно в Яндекс Вебмастере, в инструментах разработчика браузера или любым сервисом проверки кодов ответа.
  3. Соберите список важных адресов: главная, 3–5 категорий, 5–10 карточек товаров, страницы пагинации, полезные фильтры, статьи блога. Добавьте служебные адреса, которые должны быть закрыты: корзина, оформление заказа, личный кабинет, поиск, сортировки.
  4. Прогоните список через тестер отдельно для Яндекса и для Googlebot. Важные страницы должны быть открыты, служебные — закрыты.
  5. Проверьте CSS, JS и картинки. Возьмите пару адресов стилей и скриптов из кода страницы — они должны быть открыты, иначе поисковик не сможет корректно отрисовать страницу.
  6. Сверьтесь с данными поисковиков. В Яндекс Вебмастере есть инструмент «Анализ robots.txt», в Google Search Console — отчёт о файле robots.txt в настройках. Они покажут, какую версию файла видит робот и есть ли в ней ошибки.
  7. Повторяйте проверку после каждого релиза, переезда, смены CMS или шаблона — именно в эти моменты файл чаще всего ломается.
Нужно собрать файл с нуля?Генератор robots.txt соберёт правила для WordPress, 1С-Битрикс или OpenCart, добавит Clean-param для UTM-меток и ссылку на карту сайта.

9 частых ошибок интернет-магазинов

  1. Забытый Disallow: /. Тестовую копию сайта закрывают от индексации, а при переносе на боевой домен файл переезжает вместе с запретом. Результат — весь сайт закрыт.
  2. Отдельная группа для Яндекса без общих правил. Добавили User-agent: Yandex ради одной директивы — и Яндекс перестал видеть все правила из группы *. Правила нужно дублировать в каждой группе.
  3. Закрыты CSS и JS. Типичный пример — Disallow: /bitrix/ без исключений для папок шаблонов и скриптов. Страница для робота выглядит сломанной.
  4. Закрыта страница с noindex. Робот не может загрузить страницу и не видит meta robots noindex, поэтому адрес может остаться в индексе Google.
  5. Закрыты полезные фильтры. Правило Disallow: /*? закрывает все адреса с параметрами — вместе с фильтрами, которые собирают трафик по запросам вроде «диваны с ящиком для белья».
  6. UTM-метки без Clean-param. Ссылки из рекламы и рассылок создают дубли страниц, и робот тратит на них время.
  7. Ошибка в регистре или пути. Disallow: /Search не закроет /search/, а Disallow: cart без слеша в начале не сработает как задумано.
  8. Устаревшие директивы как главный инструмент. Host больше не задаёт главное зеркало — для этого нужны 301 редиректы. Проверить правила переадресации поможет генератор редиректов.
  9. Карта сайта на чужом протоколе или домене. Директива Sitemap ведёт на http://-версию или на старый домен после переезда.

Пример robots.txt для интернет-магазина

Базовый вариант, который подходит большинству магазинов. Адреса корзины, кабинета и поиска замените на свои — они зависят от CMS.

User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /personal/
Disallow: /search/
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?utm_
Disallow: /*&utm_

Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term

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

В этом файле нет отдельной группы для Яндекса, поэтому все роботы используют одни и те же правила. Clean-param можно указывать в общей группе — Google его просто пропустит.

Чек-лист проверки

  • Файл открывается по адресу site.ru/robots.txt и отдаёт код 200.
  • В файле нет Disallow: / для основных роботов.
  • Категории, карточки, пагинация и полезные фильтры открыты.
  • Корзина, оформление заказа, кабинет, поиск и сортировки закрыты.
  • CSS, JS и изображения открыты.
  • Если есть группа для Яндекса или Google, в ней продублированы общие правила.
  • Для UTM-меток и рекламных параметров указан Clean-param.
  • Директива Sitemap ведёт на актуальный адрес карты сайта по HTTPS.
  • Страницы, которые нужно убрать из индекса, закрыты через noindex, а не только в robots.txt.

Частые вопросы

Нужно ли закрывать в robots.txt страницы пагинации?

Обычно нет. Страницы пагинации помогают роботу находить товары в глубине каталога. Закрывать их стоит, только если они создают дубли с неуникальным содержимым, и то лучше решать это canonical-тегом, а не запретом обхода.

Сколько времени поисковики учитывают изменения в robots.txt?

Google обычно перечитывает файл в течение суток, Яндекс — тоже достаточно быстро. Ускорить можно через инструменты вебмастера: в Яндекс Вебмастере — анализ robots.txt, в Search Console — запрос на повторное сканирование файла в отчёте о robots.txt.

Можно ли закрыть сайт от нейросетей через robots.txt?

Можно запретить обход отдельным ботам, которые собирают данные для обучения моделей, — например GPTBot или Google-Extended. Это не влияет на обычный поиск Яндекса и Google. Но если вы хотите, чтобы ИИ-ассистенты рекомендовали ваш магазин, ботов поиска ИИ лучше не блокировать.

Чем robots.txt отличается от meta robots noindex?

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

Где проверить, какую версию robots.txt видит Яндекс?

В Яндекс Вебмастере, в разделе инструментов, — «Анализ robots.txt». Там видна загруженная версия файла и можно проверить конкретные адреса. В Google аналогичные данные — в отчёте о файле robots.txt в настройках Search Console.

Владимир Родионов
Об автореВладимир Родионов

Интернет-маркетолог, частный SEO-специалист cetto.ru. 10+ лет в IT, 200+ реализованных проектов, сертификация Яндекса и Google.

Сделано практиком

Нужен не чек-лист, а результат?

Проведу технический аудит интернет-магазина: robots.txt, редиректы, дубли, индексация, скорость — с приоритетами и понятным планом исправлений. Напишите в Telegram — отвечу лично.