Главная Статьи Оптимизация

Как составить robots.txt

robots.txt — это текстовый файл в корне сайта, который подсказывает поисковым роботам, какие страницы можно обходить, а какие не нужно. Это первое, что робот читает, заходя на сайт. Правильный robots.txt помогает не пускать в индекс мусор — служебные страницы, корзину, дубли — и направляет робота на карту сайта. Разберём, как его составить.

Из чего состоит robots.txt

Файл состоит из простых директив. Главные четыре:

Пример простого robots.txt

Вот базовый рабочий вариант для большинства сайтов: открыт весь сайт, закрыты служебные разделы, указана карта сайта.

User-agent: * Disallow: /admin/ Disallow: /cart/ Disallow: /search/ Disallow: /*? Allow: / Sitemap: https://вашсайт.ru/sitemap.xml

Здесь мы закрыли админку, корзину, страницы поиска и адреса с параметрами (/*? — частый источник дублей), оставив весь остальной сайт открытым, и указали карту.

🛠
Не хотите писать руками? Соберите файл в пару кликов: генератор robots.txt — отметьте, что закрыть, и получите готовый файл.

По сути файл сортирует робота на входе: куда пускать, куда нет и где взять карту сайта.

🤖 робот 📄 robots.txtчитает первым делом Allow Disallow Sitemap ✓ Обходит/catalog/ · /blog/ · карточки товаров ✕ Не обходит/admin/ · /cart/ · /search/ · /*? 🗺 Карта сайтаsitemap.xml — список важных страниц
robots.txt — это «вахтёр» на входе: одни пути пропускает к обходу, другие закрывает, а ещё указывает роботу карту сайта.

Спецсимволы: * и $

Чтобы не перечислять каждый адрес вручную, в правилах используют два символа-маски:

Без $ правило срабатывает по «вхождению», поэтому Disallow: /catalog закроет и /catalog/, и /catalog-2/, и /catalogue/ — будьте внимательны с границами.

User-agent: правила для разных роботов

Директива User-agent задаёт, к какому роботу относится блок правил. * — для всех сразу, но можно прописать отдельные блоки для конкретных:

User-agent: * Disallow: /admin/ User-agent: Yandex Disallow: /admin/ Clean-param: utm_source&utm_medium

Робот выбирает самый подходящий блок: если для него есть именной (например, 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:

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

robots.txt должен лежать строго в корне домена и быть доступен по адресу https://вашсайт.ru/robots.txt — в подпапках или с другим именем он не работает. У каждого поддомена (например, m.site.ru или shop.site.ru) — свой отдельный robots.txt. После настройки обязательно проверьте файл инструментами поисковиков: в Яндекс.Вебмастере («Инструменты» → «Анализ robots.txt») и в Google Search Console можно ввести конкретный URL и убедиться, что он закрыт или открыт именно так, как вы хотели. Это страхует от самой обидной ошибки — случайно закрытого сайта.

robots.txt для популярных CMS

На готовых движках не нужно писать файл с нуля — у каждого свои типовые служебные пути для закрытия:

В любом случае не копируйте чужой robots.txt вслепую: пути и разделы у сайтов разные, и чужой запрет легко закроет ваш нужный раздел.

Соберите robots.txt за минуту

Отметьте нужные правила — получите готовый файл.

Сгенерировать robots.txt →

robots.txt — маленький файл, но ошибки в нём дорого обходятся. Составьте его аккуратно, проверьте в панелях вебмастеров и не забудьте про карту сайта. Как это вписано в техническую оптимизацию — в статье про технический аудит сайта и в гайде как раскрутить сайт самостоятельно.

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

Что такое robots.txt и зачем он нужен?
Это текстовый файл в корне сайта, который подсказывает поисковым роботам, какие страницы можно обходить, а какие нет. Робот читает его первым делом при заходе на сайт. Правильный robots.txt не пускает в обход служебные разделы, корзину и дубли, экономит краулинговый бюджет и указывает роботу адрес карты сайта (sitemap.xml).
Какие директивы есть в robots.txt?
Главные четыре: User-agent (для какого робота правила, * — для всех), Disallow (что закрыть от обхода), Allow (что разрешить, исключение внутри закрытого раздела) и Sitemap (адрес карты сайта). У Яндекса есть дополнительная директива Clean-param для незначащих GET-параметров. В правилах используют спецсимволы * (любые символы) и $ (конец адреса).
Чем robots.txt отличается от noindex?
robots.txt запрещает обход — робот не заходит на страницу. noindex запрещает индексацию — робот заходит, но не показывает страницу в выдаче. Это разные задачи: чтобы точно убрать страницу из поиска, нужен noindex. Важный нюанс: если закрыть страницу в robots.txt, робот на неё не зайдёт и не увидит noindex на ней, поэтому для исключения из выдачи обход оставляют открытым, а ставят noindex.
Можно ли закрыть в robots.txt папки со стилями и скриптами?
Нет, это вредная ошибка. Если робот не может загрузить CSS и JS, он видит страницу «сломанной» и не может оценить её мобильность и удобство, а оценка идёт по мобильной версии — это бьёт по ранжированию. Ресурсы, нужные для отрисовки страницы (CSS, JS, важные картинки), должны быть открыты роботу. Закрывают только то, что не должно попадать в поиск как страница.
Где должен лежать файл robots.txt?
Строго в корне домена, по адресу вида https://сайт.ru/robots.txt — в подпапках или с другим именем он не работает. У каждого поддомена (m.site.ru, shop.site.ru) свой отдельный robots.txt. После настройки проверьте файл в Яндекс.Вебмастере («Анализ robots.txt») и Google Search Console: введите конкретный URL и убедитесь, что он закрыт или открыт именно так, как нужно.
Какая самая опасная ошибка в robots.txt?
Случайно закрыть весь сайт строкой Disallow: / — из-за неё сайт целиком вылетает из поиска. Другие частые промахи: закрыть папки со стилями и скриптами (робот видит сайт сломанным), забыть указать sitemap, надеяться, что Disallow гарантированно скроет страницу из выдачи (для этого нужен noindex). Поэтому после настройки обязательно проверяйте файл в панелях вебмастеров.
Нужна ли директива Crawl-delay?
Нет, она устарела. Раньше Crawl-delay задавала паузу между запросами робота для снижения нагрузки, но сейчас Яндекс рекомендует регулировать скорость обхода в Вебмастере, а Google её никогда не поддерживал. В новых файлах прописывать Crawl-delay не нужно. Для управления параметрами у Яндекса используйте Clean-param.