Robots.txt: как настроить файл для сайта, директивы и примеры

Настройка robots.txt: директивы, разрешённые и закрытые пути сайта
Robots.txt задаёт правила обхода для поисковых роботов.

Robots.txt управляет обходом сайта поисковыми роботами: помогает не тратить краулинговый ресурс на служебные разделы, фильтры и дубли URL. Ниже разберём директивы, популярных ботов, GET-параметры, способы снизить нагрузку и готовые примеры для Яндекса, Google и AI-поиска.


Краткий ответ

Файл robots.txt размещают в корне сайта по адресу https://site.ru/robots.txt. Он сообщает роботам, какие URL можно обходить, а какие лучше не запрашивать. Для удаления страницы из поисковой выдачи одного Disallow недостаточно: оставьте страницу доступной роботу и используйте noindex или HTTP-заголовок X-Robots-Tag.

Что такое robots.txt и когда он нужен

Robots.txt нужен прежде всего для управления обходом. На сайте с каталогом, фильтрами, поиском и личным кабинетом один и тот же контент часто открывается по множеству адресов. Если не ограничить технические URL, робот будет расходовать запросы на дубли, а важные карточки, статьи и посадочные страницы может посещать реже.

Файл не является защитой данных. Недобросовестный бот может проигнорировать правила, а URL, закрытый от обхода, иногда всё равно появляется в поиске без сниппета. Конфиденциальные разделы закрывают авторизацией, а URL, который нельзя показывать в поиске, помечают noindex.

Где лежит файл и как проверить его доступность

ТребованиеЧто проверить
АдресФайл доступен только из корня хоста: /robots.txt.
Ответ сервераВозвращается HTTP 200. У Яндекса допустим переход на другой robots.txt при корректном ответе 200.
ФорматОбычный текстовый файл, без кириллицы в путях. Кириллические URL указывают в percent-encoding.
РазмерДелайте файл компактным. Яндекс указывает лимит 500 КБ и рекомендует объединять похожие правила масками.

После публикации проверьте URL в браузере и в Анализе robots.txt Яндекс Вебмастера. Для Google используйте проверку URL в Search Console и убедитесь, что Googlebot получает доступ к нужным страницам.

Все основные директивы robots.txt

ДирективаНазначениеГде учитывать
User-agentНачинает группу правил для конкретного робота или всех роботов через *.Стандарт REP, Яндекс, Google, Bing и большинство добросовестных ботов.
DisallowЗапрещает обход пути. Пустая строка после двоеточия означает, что запрета нет.Основная директива.
AllowРазрешает более конкретный путь внутри закрытого раздела.Поддерживается крупными поисковыми системами, включая Яндекс и Google.
SitemapУказывает полный URL XML-карты сайта. Можно добавить несколько строк.Межсекционная директива, место в файле не критично.
Clean-paramСообщает Яндексу, какие GET-параметры не меняют содержимое страницы.Расширение Яндекса.
Crawl-delayПросит робота делать паузу между запросами.Поддерживается Bingbot. Google эту директиву не использует.

Базовый шаблон для корпоративного сайта

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /component/search/
Disallow: /index.php?option=com_users
Allow: /

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

Как работают Allow, Disallow и маски

Путь всегда начинайте со слеша. Символ * заменяет любую последовательность символов, а $ обозначает конец URL. Чем точнее правило, тем безопаснее настройка. Не закрывайте папку с CSS, JavaScript и изображениями, если роботу нужен рендеринг страницы или индексация медиа.

ЗаписьРезультат
Disallow: /admin/Запрещает обход всего раздела /admin/.
Disallow: /*?sort=Закрывает URL, где в строке запроса встречается sort=.
Disallow: /*.pdf$Закрывает PDF-файлы с окончанием .pdf.
Disallow: /files/
Allow: /files/price.pdf
Закрывает раздел, но делает исключение для конкретного файла.

Лайфхак: перед массовым запретом возьмите 10 реальных URL из логов, Вебмастера или Search Console и проверьте каждый адрес. Ошибочная маска может закрыть целый каталог или полезные страницы пагинации.

Как исключить GET-параметры и не потерять позиции

GET-параметры появляются в UTM-метках, сортировках, фильтрах, идентификаторах сессии и внутреннем поиске. Сначала разделите их на два типа: параметры, которые не меняют контент, и параметры, которые создают самостоятельную ценную страницу. Закрывать одинаково все фильтры нельзя.

SEO-специалист анализирует URL с параметрами и нагрузку сайта
Параметры сортировки, метки и фильтры требуют разных решений: Disallow, canonical или noindex.

Яндекс: Clean-param для незначащих параметров

Если UTM, ref или идентификатор сессии не меняют содержимое, используйте Clean-param. Яндекс объединяет такие адреса с основной страницей и не расходует обход на дубли.

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

Синтаксис и ограничения смотрите в официальной документации Яндекса по Clean-param. Не добавляйте туда параметры, которые меняют цену, наличие, регион или набор товаров.

Google: canonical и настройка самих URL

Google не поддерживает Clean-param. Для дублей с параметрами используйте канонический URL в HTML, внутренние ссылки на каноническую версию и понятную логику параметров в CMS. Для страниц, которые не должны появляться в поиске, используйте noindex, но не блокируйте их в robots.txt.

Подробности: руководство Google по robots.txt и правила noindex.

Как снизить нагрузку на сайт от поисковых роботов

Начните не с Crawl-delay, а с диагностики. В логах сервера найдите URL, которые роботы запрашивают чаще всего. Обычно нагрузку создают поиск по сайту, фасетные фильтры, сортировки, страницы сессий и бесконечные комбинации параметров.

  • Закройте действительно технические разделы через Disallow: поиск, черновики, служебные обработчики, корзину и личный кабинет.
  • Для Яндекса примените Clean-param к незначащим меткам и параметрам. Это безопаснее, чем массово закрывать URL с UTM.
  • Проверьте canonical, чтобы одинаковые страницы не конкурировали между собой.
  • Для Bingbot при реальной перегрузке можно задать Crawl-delay. Для Google используйте настройки скорости обхода и ответы сервера, а не неподдерживаемые директивы.
  • Если робот получает 429 или 5xx, сначала устраните проблему производительности. Искусственно замедлять обход без диагностики не стоит.

Популярные User-agent: кого встречают в логах

АгентЗадачаПрактический вывод
GooglebotОсновной робот Google Search, включая связанные поисковые продукты.Не закрывайте нужные страницы, CSS и JavaScript.
BingbotПоисковый робот Bing.При подтверждённой перегрузке учитывает Crawl-delay.
YandexBotОсновной индексирующий робот Яндекса.Проверяйте правила в Яндекс Вебмастере.
YandexImagesИндексирует изображения для Яндекс Картинок.Не закрывайте нужные изображения и страницы, где они размещены.
OAI-SearchBotПомогает обнаруживать публичный контент для поиска ChatGPT.Разрешайте, если хотите, чтобы публичные страницы были доступны AI-поиску.
OAI-AdsBotПроверяет посадочные страницы для рекламных сценариев ChatGPT.Не блокируйте рекламные лендинги, если используете этот канал.
GPTBotОтдельный агент, связанный с настройками использования контента для обучения.Если не хотите разрешать такое использование, задайте отдельное правило именно для GPTBot.

Не доверяйте только строке User-agent: её можно подделать. Яндекс рекомендует проверять робота обратным и прямым DNS-запросом, а для Google используйте официальную проверку роботов. Не создавайте отдельные блоки для каждого агента без причины: специфичная группа может перестать наследовать правила из User-agent: *.

Что не нужно писать в robots.txt

  • Noindex не является рабочей директивой robots.txt для Google. Используйте meta robots или X-Robots-Tag.
  • Host не добавляйте как способ выбора главного зеркала. Используйте корректные редиректы, canonical и настройку основного адреса сайта.
  • Nofollow в robots.txt не управляет ссылками. Для ссылок применяют HTML-атрибут rel.
  • Не закрывайте через robots.txt страницу, на которой уже стоит noindex. Робот не увидит метатег.
  • Не используйте robots.txt для защиты административной панели, файлов резервных копий или персональных данных. Эти ресурсы должны быть недоступны без авторизации.

Пошаговая проверка после изменения robots.txt

  1. Сохраните предыдущую версию файла, чтобы можно было быстро откатить ошибку.
  2. Проверьте ответ https://site.ru/robots.txt: нужен код 200 и правильное содержимое.
  3. Протестируйте важные URL в Яндекс Вебмастере: главную, карточку товара, фильтр, поиск, корзину и страницу с параметрами.
  4. В Search Console проверьте, может ли Googlebot получить нужную страницу, а на исключаемой странице увидит ли он noindex.
  5. Через 1-2 недели посмотрите логи и отчёты об индексировании: сократился ли обход дублей и не исчезли ли нужные разделы.

Нужна проверка robots.txt и индексации?

Проверим технические разделы, фильтры, GET-параметры, карту сайта и доступность страниц для поисковых роботов. После аудита дадим понятный список правок и объясним риски для SEO.

Обсудить проверку сайта

Частые вопросы о robots.txt

Можно ли закрыть страницу от индексации через Disallow?

Нет, это только запрет обхода. URL может сохраниться в поиске, если на него есть ссылки. Для удаления из выдачи используйте noindex или X-Robots-Tag и не закрывайте страницу от обхода до того, как робот увидит это правило.

Нужно ли писать Allow: /?

Обычно нет: отсутствие Disallow уже означает, что путь открыт. Allow: / полезен как явная запись в шаблоне, но не заменяет конкретные правила и не повышает позиции.

Можно ли закрыть UTM-метки через Disallow?

Не стоит делать это по умолчанию. Для Яндекса используйте Clean-param, для Google настройте canonical и внутренние ссылки. Так поисковые системы лучше поймут основную страницу и не потеряют сигналы.

Как быстро уменьшить нагрузку от Яндекса?

Сначала найдите источник нагрузки в логах. Яндекс рекомендует Clean-param для незначащих параметров и Disallow для действительно ненужных разделов. При экстренной перегрузке сервер должен корректно отдавать 429, а не нестабильные ошибки.

Поддерживает ли Google Crawl-delay?

Нет, Google не использует эту директиву. Управляйте качеством URL, настройками обхода и стабильностью сервера. Для Bingbot Crawl-delay поддерживается.

Нужно ли разрешать AI-ботов?

Это решение владельца сайта. Если публичный контент должен быть доступен для AI-поиска, не блокируйте OAI-SearchBot. Для рекламных лендингов в сценариях ChatGPT важен OAI-AdsBot. GPTBot настраивается отдельно.

Когда изменения вступят в силу?

Роботы периодически обновляют копию robots.txt, поэтому изменения не всегда видны мгновенно. Яндекс Вебмастер хранит версии файла и позволяет проверить конкретный URL, а Google требует повторного обхода для оценки новых правил.

Что важно запомнить

Хороший robots.txt короткий и основан на реальных URL сайта. Закрывайте технические разделы и дубли, но не прячьте важные страницы от роботов. Для GET-параметров используйте Clean-param в Яндексе и canonical в Google, а для удаления URL из поиска применяйте noindex или X-Robots-Tag. Проверка в Вебмастере, Search Console и логах важнее длинного списка случайных запретов.

Полезные статьи