Как правильно настроить robots.txt: правила и примеры
Практика3 минРедакция Innovialabs
Коротко
robots.txt управляет обходом сайта роботами: закрывайте служебные разделы и дубли, не закрывайте CSS, JS и важные страницы, укажите Sitemap и проверьте файл в Search Console и Вебмастере.
Короткий ответ
robots.txt — текстовый файл в корне сайта (https://example.com/robots.txt), который говорит поисковым роботам, какие разделы обходить не нужно. Он управляет сканированием, а не индексацией: закрытая страница все равно может попасть в выдачу, если на нее есть ссылки. Чтобы убрать страницу из поиска, используйте noindex, а robots.txt — чтобы не тратить ресурсы робота на мусорные URL.
Основные директивы
| Директива | Что делает |
|---|---|
User-agent | Для какого робота правила (* — для всех) |
Disallow | Запрещает обход пути |
Allow | Разрешает путь внутри запрещенного раздела |
Sitemap | Указывает адрес карты сайта |
Clean-param | Только Яндекс: какие GET-параметры игнорировать |
Правила группируются по User-agent. Робот выбирает самую конкретную группу для себя, а внутри нее при конфликте Allow и Disallow побеждает правило с более длинным совпадением пути.
Подстановочные символы
*— любая последовательность символов:Disallow: /*?sort=закроет все URL с параметром сортировки.$— конец строки:Disallow: /*.pdf$закроет файлы PDF, но не/pdf-guide/.
Пути чувствительны к регистру, и правило Disallow: /catalog закроет также /catalog-old/. Если нужен только раздел, пишите /catalog/.
Clean-param для Яндекса
Директива говорит Яндексу, что параметры не меняют содержимое страницы, и он будет считать такие URL одной страницей:
User-agent: Yandex
Clean-param: utm_source&utm_medium&utm_campaign /
Clean-param: ref /catalog/
Первая строка убирает UTM-метки на всем сайте, вторая — параметр ref в каталоге. Google эту директиву не поддерживает: для него дубли решаются через rel="canonical".
Готовые шаблоны
WordPress:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /*?replytocom=
Sitemap: https://example.com/sitemap.xml
1С-Битрикс:
User-agent: *
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /search/
Disallow: /*?sort=
Allow: /bitrix/*.css
Allow: /bitrix/*.js
Sitemap: https://example.com/sitemap.xml
Сайт на фреймворке (Next.js и подобные):
User-agent: *
Disallow: /api/
Disallow: /admin/
Sitemap: https://example.com/sitemap.xml
Шаблоны — отправная точка. Перед публикацией сверьте их со структурой своего сайта.
Как проверить файл
- Откройте
/robots.txtв браузере: файл должен отдавать код 200 и простой текст. - Google Search Console — отчет о файле robots.txt показывает, какую версию видит Google и есть ли ошибки.
- Яндекс Вебмастер — «Инструменты» → «Анализ robots.txt»: можно проверить конкретные URL на разрешение.
- После изменений проверьте несколько ключевых страниц — они должны оставаться доступными.
Спецификация протокола: документация Google по robots.txt.
Частые ошибки
Disallow: /на рабочем сайте после переноса с тестового сервера.- Закрыты CSS и JS — поисковик не может корректно отрисовать страницу.
- Попытка удалить страницу из выдачи через robots.txt вместо noindex.
- Закрытые в robots.txt страницы с noindex: робот не увидит тег.
- Устаревшие директивы вроде
Host, которые Яндекс больше не учитывает.