Как составить robots.txt
robots.txt — это текстовый файл в корне сайта, который подсказывает поисковым роботам, какие страницы можно обходить, а какие не нужно. Это первое, что робот читает, заходя на сайт. Правильный robots.txt помогает не пускать в индекс мусор — служебные страницы, корзину, дубли — и направляет робота на карту сайта. Разберём, как его составить.
Из чего состоит robots.txt
Файл состоит из простых директив. Главные четыре:
- User-agent — для какого робота правила (
*— для всех); - Disallow — что закрыть от обхода;
- Allow — что разрешить (исключение внутри закрытого раздела);
- Sitemap — адрес карты сайта.
Пример простого robots.txt
Вот базовый рабочий вариант для большинства сайтов: открыт весь сайт, закрыты служебные разделы, указана карта сайта.
Здесь мы закрыли админку, корзину, страницы поиска и адреса с параметрами (/*? — частый источник дублей), оставив весь остальной сайт открытым, и указали карту.
По сути файл сортирует робота на входе: куда пускать, куда нет и где взять карту сайта.
Спецсимволы: * и $
Чтобы не перечислять каждый адрес вручную, в правилах используют два символа-маски:
- Звёздочка
*— любое количество любых символов.Disallow: /*?закроет все адреса, где есть знак?(то есть с параметрами).Disallow: /*.pdf— все PDF-файлы. - Доллар
$— конец адреса.Disallow: /*.php$закроет адреса, заканчивающиеся на.php, но не тронет/script.php?id=1.
Без $ правило срабатывает по «вхождению», поэтому Disallow: /catalog закроет и /catalog/, и /catalog-2/, и /catalogue/ — будьте внимательны с границами.
User-agent: правила для разных роботов
Директива User-agent задаёт, к какому роботу относится блок правил. * — для всех сразу, но можно прописать отдельные блоки для конкретных:
Робот выбирает самый подходящий блок: если для него есть именной (например, Yandex или Googlebot), он читает его и игнорирует блок *. Поэтому, прописав отдельный блок для Яндекса, не забудьте продублировать в нём и общие запреты — иначе они на этого робота не распространятся. Бывают и узкие роботы — YandexImages, Googlebot-Image для картинок: ими можно управлять обходом изображений отдельно.
Чего нельзя закрывать
Частая и дорогая ошибка — «на всякий случай» закрыть служебные папки, в которых лежат стили (CSS) и скрипты (JS). Если робот не может их загрузить, он видит страницу «сломанной» — без оформления и интерактива — и не может оценить её мобильность и удобство. А поскольку оценка идёт по мобильной версии, это прямо вредит ранжированию. Правило: ресурсы, нужные для отрисовки страницы (CSS, JS, важные картинки), должны быть открыты роботу. Закрывают только то, что не должно попадать в поиск как страница, — а не то, из чего страница собирается.
robots.txt, noindex и canonical — кто за что
Эти три механизма постоянно путают, хотя они решают разные задачи. Короткая шпаргалка:
| Инструмент | Что делает | Когда применять |
|---|---|---|
| robots.txt | Запрещает обход (робот не заходит на страницу) | Сэкономить краулинговый бюджет, не пускать робота в служебные разделы |
| noindex | Запрещает индексацию (робот заходит, но не показывает в выдаче) | Точно убрать страницу из поиска |
| canonical | Склеивает дубли, указывая главную версию | Несколько URL с одинаковым содержимым |
Ключевой нюанс: если закрыть страницу в robots.txt, робот на неё не зайдёт и не увидит ни noindex, ни canonical на ней. Поэтому, чтобы убрать страницу из выдачи, её нельзя одновременно прятать в robots.txt — оставьте обход открытым и поставьте noindex. Подробнее — в статьях про noindex и nofollow и canonical и дубли.
Что обычно закрывают
Типичные кандидаты на закрытие: административные разделы, личный кабинет и корзина, страницы внутреннего поиска, технические и дублирующие адреса с параметрами, страницы для печати. Цель — не пускать в индекс то, что не нужно показывать в поиске и что создаёт дубли.
Частые ошибки
Самая опасная ошибка — случайно закрыть весь сайт строкой Disallow: /. Из-за неё сайт целиком вылетает из поиска, и такое, к сожалению, случается. Другие промахи: закрыть в robots.txt папки со стилями и скриптами (тогда робот видит сайт «сломанным»), забыть указать sitemap, надеяться, что Disallow гарантированно скроет страницу из выдачи (для надёжного скрытия нужен мета-тег noindex). После настройки обязательно проверьте файл в Яндекс.Вебмастере и Google Search Console.
robots.txt и индексация
Важно понимать: robots.txt управляет обходом, а не гарантированным исключением из индекса. Если на закрытую страницу ведёт много ссылок, она может попасть в выдачу даже при Disallow. Чтобы страница точно не индексировалась, используйте мета-тег noindex на самой странице. А robots.txt — это про то, куда роботу ходить, а куда нет.
Clean-param и Crawl-delay для Яндекса
У Яндекса есть две собственные директивы, которых нет у Google:
- Clean-param — лучший способ справиться с незначащими GET-параметрами (UTM-метки, идентификаторы сессий, сортировки). Вместо грубого
Disallowона говорит роботу «игнорируй этот параметр, страницы с ним и без него — одна и та же». Так несколько адресов схлопываются в один без потери обхода. Подробно — в статье про Clean-param и параметры URL. - Crawl-delay — раньше задавала паузу между запросами робота, чтобы снизить нагрузку. Сейчас она устарела: Яндекс рекомендует регулировать скорость обхода в Вебмастере, а Google её никогда не поддерживал. Прописывать
Crawl-delayв новых файлах не нужно.
Где лежит файл и как проверить
robots.txt должен лежать строго в корне домена и быть доступен по адресу https://вашсайт.ru/robots.txt — в подпапках или с другим именем он не работает. У каждого поддомена (например, m.site.ru или shop.site.ru) — свой отдельный robots.txt. После настройки обязательно проверьте файл инструментами поисковиков: в Яндекс.Вебмастере («Инструменты» → «Анализ robots.txt») и в Google Search Console можно ввести конкретный URL и убедиться, что он закрыт или открыт именно так, как вы хотели. Это страхует от самой обидной ошибки — случайно закрытого сайта.
robots.txt для популярных CMS
На готовых движках не нужно писать файл с нуля — у каждого свои типовые служебные пути для закрытия:
- WordPress — обычно закрывают
/wp-admin/(но сAllow: /wp-admin/admin-ajax.php), служебные/?s=(поиск), феды и теги-дубли по необходимости. SEO-плагины (Yoast, Rank Math) умеют отдавать robots.txt сами. - 1С-Битрикс — закрывают
/bitrix/,/personal/(личный кабинет),/*?и служебные скрипты; в типовых решениях базовый robots.txt уже есть. - Tilda и конструкторы — файл обычно формируется автоматически, вмешиваться нужно редко.
В любом случае не копируйте чужой robots.txt вслепую: пути и разделы у сайтов разные, и чужой запрет легко закроет ваш нужный раздел.
Соберите robots.txt за минуту
Отметьте нужные правила — получите готовый файл.
Сгенерировать robots.txt →robots.txt — маленький файл, но ошибки в нём дорого обходятся. Составьте его аккуратно, проверьте в панелях вебмастеров и не забудьте про карту сайта. Как это вписано в техническую оптимизацию — в статье про технический аудит сайта и в гайде как раскрутить сайт самостоятельно.