webtrajans
ru

Как настроить robots.txt: правила, примеры и типичные ошибки

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

Обновлено: 5 мин чтения

Каждый добросовестный поисковый робот — Googlebot, YandexBot, Bingbot — перед обходом сайта запрашивает файл /robots.txt и выполняет его правила. С его помощью вы экономите краулинговый бюджет: роботы не тратят время на корзину, фильтры с параметрами и служебные разделы, а быстрее находят важные страницы.

Синтаксис robots.txt

Файл состоит из групп правил. Каждая группа начинается с User-agent (для какого робота) и содержит директивы.

User-agent: *
Disallow: /admin/
Allow: /admin/ajax.php

Sitemap: https://example.ru/sitemap.xml
Директива Что делает Кто поддерживает
User-agent Указывает робота (* — все) Все
Disallow Запрещает сканирование пути Все
Allow Разрешает путь внутри запрещённого раздела Google, Яндекс, Bing
Sitemap Адрес карты сайта (полный URL) Google, Яндекс, Bing
Clean-param Указывает незначащие GET-параметры Только Яндекс
Crawl-delay Пауза между запросами Bing; Google и основной робот Яндекса игнорируют
Host Главное зеркало Не поддерживается с 2018 года

Специальные символы:

  • * — любая последовательность символов: Disallow: /*?sort=;
  • $ — конец адреса: Disallow: /*.pdf$.

Важные правила разбора:

  • Пути чувствительны к регистру: /Admin/ и /admin/ — разные адреса.
  • При конфликте Allow и Disallow побеждает более длинное (более конкретное) правило.
  • Если для робота есть своя группа (User-agent: Yandex), он выполняет только её и игнорирует группу *.
  • Пустой Disallow: означает «можно всё».

Директива Clean-param для Яндекса

Интернет-магазины и сайты с UTM-метками часто имеют тысячи дублей вида /catalog/?utm_source=vk или /product/?ref=123. Clean-param говорит Яндексу, что эти параметры не меняют содержимое:

User-agent: Yandex
Clean-param: utm_source&utm_medium&utm_campaign&ref /

Яндекс будет считать такие адреса одной страницей и не станет обходить каждую копию. Google эту директиву не понимает — для него дубли решаются через rel="canonical".

Пример для WordPress

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Disallow: /*?replytocom=

Sitemap: https://example.ru/sitemap_index.xml

Не закрывайте /wp-content/ и /wp-includes/ целиком: там лежат CSS, JS и изображения, без которых Google не сможет корректно отрисовать страницу.

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

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

User-agent: Yandex
Disallow: /cart/
Disallow: /checkout/
Disallow: /personal/
Disallow: /search/
Clean-param: sort&filter&utm_source&utm_medium&utm_campaign /

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

Обратите внимание: в группе Yandex повторены все нужные запреты, потому что Яндекс прочитает только свою группу. Параметры сортировки и фильтров для него вынесены в Clean-param.

Если часть фильтров у вас — продвигаемые посадочные страницы (например, «диваны серые»), не закрывайте их: сделайте для них отдельные чистые URL.

Собрать файл без ошибок можно в генераторе robots.txt, а проверить, закрыт ли конкретный адрес, — в проверке robots.txt.

Robots.txt или noindex: что выбрать

Это разные инструменты, и путаница между ними — самая частая ошибка.

Задача Инструмент
Не тратить бюджет обхода на мусорные URL Disallow в robots.txt
Убрать страницу из результатов поиска <meta name="robots" content="noindex"> или заголовок X-Robots-Tag
Склеить дубли rel="canonical" (Google), Clean-param (Яндекс)
Закрыть от всех, включая людей Пароль на уровне сервера

Главная ловушка: если страница закрыта в robots.txt, робот не увидит на ней noindex. В итоге URL может остаться в индексе Google с пометкой «Описание недоступно из-за ограничений в файле robots.txt». Чтобы удалить страницу из поиска, сначала откройте её для сканирования и поставьте noindex, дождитесь выпадения из индекса, и только потом при желании закрывайте в robots.txt.

Robots.txt — это не защита. Файл публичный, и любой может прочитать, какие разделы вы «прячете». Конфиденциальные данные защищайте паролем.

Как проверить, что робот видит ваш файл

После любых изменений проверьте файл тремя способами:

  1. Откройте https://ваш-сайт/robots.txt в браузере — убедитесь, что отдаётся актуальная версия, а не закэшированная CDN.
  2. Проверьте конкретные URL. В проверке robots.txt введите адрес важной страницы и убедитесь, что она разрешена для Googlebot и Yandex, а служебная — запрещена.
  3. Посмотрите отчёты поисковиков. В Google Search Console есть отчёт о файле robots.txt с датой последней загрузки и ошибками разбора, в Яндекс Вебмастере — инструмент «Анализ robots.txt», где можно проверить список адресов.

Google обычно кэширует robots.txt до 24 часов, поэтому изменения применяются не мгновенно.

Роботы нейросетей

В последние годы появились краулеры, собирающие данные для обучения ИИ-моделей, например GPTBot или Google-Extended (это не отдельный робот, а токен управления для использования контента в моделях Google). Если вы не хотите, чтобы ваш контент использовался для обучения, их можно запретить отдельными группами:

User-agent: GPTBot
Disallow: /

Запрет Google-Extended не влияет на индексацию в Google Поиске.

Частые ошибки

  • Disallow: / на рабочем сайте. Остаётся после разработки на тестовом домене — сайт полностью выпадает из обхода. Проверяйте файл после каждого запуска.
  • Отдельная группа для Яндекса без общих запретов — Яндекс игнорирует группу *.
  • Закрыты CSS и JS — Google видит «сломанную» страницу.
  • Кириллица в путях без кодирования. Пути с русскими буквами указывайте в URL-кодированном виде, как их отдаёт сервер.
  • Неверный адрес Sitemap — относительный путь вместо полного URL.
  • Файл отдаёт код 5xx. Если robots.txt недоступен из-за ошибки сервера, Google может временно приостановить обход всего сайта. Код 404 же означает «ограничений нет».
  • Размер. Google обрабатывает только первые 500 КиБ файла.

Чек-лист

  • Файл доступен по адресу /robots.txt и отдаёт код 200.
  • Нет строки Disallow: / в общей группе (если сайт должен индексироваться).
  • Служебные разделы, корзина, поиск и параметры сортировки закрыты.
  • CSS, JS и изображения открыты.
  • Для Яндекса заданы Clean-param и повторены все нужные запреты.
  • Указан полный адрес Sitemap.
  • Страницы, которые нужно убрать из индекса, закрыты через noindex, а не через robots.txt.
  • Файл проверен в Google Search Console и в Яндекс Вебмастере («Анализ robots.txt»).

Robots.txt и карта сайта работают в паре: первый говорит, куда не ходить, вторая — что важно найти. Про карту сайта читайте в гайде Что такое sitemap.xml.

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

Запрещает ли robots.txt индексацию страницы?

Не гарантированно. Disallow запрещает сканирование, но Google может проиндексировать URL без содержимого, если на него есть ссылки. Чтобы страница точно не попала в индекс, используйте meta robots noindex и не закрывайте её в robots.txt.

Где должен лежать robots.txt?

Строго в корне домена: https://example.ru/robots.txt. Для каждого поддомена и протокола нужен свой файл. В подпапках файл не работает.

Учитывает ли Яндекс директиву Crawl-delay?

Основной робот Яндекса с 2018 года не учитывает Crawl-delay; скорость обхода настраивается в Яндекс Вебмастере. Google эту директиву тоже игнорирует.

Нужна ли директива Host?

Нет. Яндекс прекратил поддержку Host в 2018 году; главное зеркало определяется 301-м редиректом. Строка Host не вредит, но и пользы не приносит.

Похожие гайды

Что такое sitemap.xml и как правильно его настроитьКарта сайта sitemap.xml — список адресов, которые вы хотите видеть в поиске. Она помогает Google и Яндексу быстрее находить новые и обновлённые страницы.Индекс массы тела: как рассчитать ИМТ и правильно понять результатИМТ — простой способ оценить, соответствует ли вес росту. Он удобен для скрининга, но не показывает, из чего состоит вес, поэтому его стоит дополнять другими измерениями.Core Web Vitals: как понять и улучшить LCP, INP и CLSCore Web Vitals — три метрики Google, которые описывают, как быстро страница показывает контент, как быстро реагирует на действия и насколько стабилен её макет.Как посчитать дни между датами: календарные, рабочие и возрастСколько дней до отпуска, сколько длился договор, сколько рабочих дней в периоде — задачи простые, но легко ошибиться на один день или забыть про праздники.