Перейти к содержимому
Попробовать

robots.txt для SEO: синтаксис, примеры и частые ошибки

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

В этом гайде разбираем синтаксис, все поддерживаемые директивы, готовые шаблоны для WordPress, Bitrix и интернет-магазина, семь ошибок, которые встречаются на каждом третьем сайте, и как проверять robots.txt — вручную и автоматически. В конце — чек-лист для быстрой сверки.

Что такое robots.txt и зачем он нужен

robots.txt — это текстовый файл в корне сайта, в котором записаны инструкции для поисковых роботов: какие разделы можно обходить, а какие — нет. Файл доступен по фиксированному адресу https://example.com/robots.txt. Каждый бот, заходя на сайт, запрашивает его в первую очередь и только потом переходит к обходу страниц.

Задач у файла три. Первая — не пускать краулер в служебные разделы: админка, корзина, личный кабинет, внутренний поиск. Вторая — экономить crawl budget: у Google и Яндекса есть лимит на количество обращений к сайту в сутки, и тратить его на бесполезные URL невыгодно. Третья — подсказать боту, где лежит sitemap.xml, чтобы он быстрее находил новые страницы.

Важно различать обход и индексацию. robots.txt управляет обходом — запросом HTML-страницы у сервера. А индексация — это решение поисковика добавить страницу в выдачу. Закрыв страницу в robots.txt, вы не гарантируете её отсутствие в индексе: если на неё стоят внешние ссылки, Google может показать её без содержимого. Для гарантированного исключения нужен noindex.

Синтаксис и основные директивы

Каждая строка в файле — пара «директива: значение». Регистр директив строчный, кодировка — UTF-8 без BOM. Комментарии начинаются с # и игнорируются роботом. Пустые строки разделяют группы правил для разных ботов.

User-agent

Указывает, для какого робота предназначены правила ниже. Значения:

  • * — для всех ботов
  • Googlebot — только для Google
  • Yandex — только для Яндекса
  • Bingbot, GPTBot, AhrefsBot и другие — для конкретных поисковиков и краулеров

Можно задать несколько групп, у каждой — свой набор правил. Если в файле есть группа с именем конкретного бота, этот бот игнорирует группу User-agent: * и читает только свою.

Disallow и Allow

Самые важные директивы. Disallow запрещает обход URL, Allow — разрешает (используется, чтобы открыть часть запрещённого раздела).

User-agent: *
Disallow: /admin/
Disallow: /cart
Allow: /admin/login.html

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

Значения — частичные пути. Disallow: /admin/ блокирует всё, что начинается с /admin/: /admin/users, /admin/products/new и так далее. Пустое значение Disallow: означает «не запрещать ничего».

Sitemap

Абсолютный URL до sitemap.xml. Размещается на любой строке файла, вне групп User-agent. Можно указать несколько — Google и Яндекс учтут все.

Crawl-delay

Пауза между запросами бота в секундах. Google игнорирует директиву с 2019 года (скорость обхода настраивается в Search Console). Яндекс и Bing — учитывают.

User-agent: Yandex
Crawl-delay: 2

Clean-param

Только для Яндекса. Позволяет указать GET-параметры, которые не меняют содержимое страницы (например, utm_source, sessionid), чтобы бот не считал их разными URL.

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

Host

Устаревшая директива для Яндекса — указание главного зеркала. С марта 2018 Яндекс рекомендует 301-редирект с неглавного зеркала, директива осталась для обратной совместимости. В современных конфигурациях не требуется.

Готовые примеры robots.txt

Ниже — шаблоны под три популярных сценария. Подставляйте свой домен в Sitemap: и адаптируйте запретные пути под структуру сайта.

Базовый robots.txt — всё открыто

User-agent: *
Disallow:

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

Подходит для лендинга, портфолио, блога без личного кабинета. Ничего не запрещает, указывает расположение карты сайта.

robots.txt для WordPress

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

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

Закрыты админка, форма входа, XML-RPC и внутренний поиск. Открыт admin-ajax.php — он нужен некоторым плагинам для работы на публичных страницах. Карта сайта обычно генерируется плагином Yoast или Rank Math.

robots.txt для Bitrix

User-agent: *
Disallow: /bitrix/
Disallow: /local/
Disallow: /personal/
Disallow: /cart
Disallow: /auth/
Disallow: /search
Disallow: /*?PAGEN
Disallow: /*?SECTION_ID
Allow: /bitrix/templates/*.css
Allow: /bitrix/templates/*.js

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

Закрыты служебные разделы и пагинация через GET-параметры. Важно: CSS и JS из /bitrix/templates/ открыты — без них Google не сможет отрендерить страницу и посчитает её «без стилей».

robots.txt для интернет-магазина

User-agent: *
Disallow: /cart
Disallow: /checkout
Disallow: /my-account
Disallow: /search
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*?page=
Allow: /products/
Allow: /categories/

Sitemap: https://shop.example.com/sitemap.xml

Главная боль интернет-магазинов — фасетная фильтрация. Каждое сочетание фильтров даёт новый URL, они размножаются в десятки тысяч и съедают crawl budget. Запрет Disallow: /*?filter= закрывает все URL с фильтром, оставляя открытыми чистые страницы категорий.

Запрет индексации всего сайта

User-agent: *
Disallow: /

Используется на staging-серверах и тестовых окружениях. После переноса на боевой домен эту строку обязательно нужно удалить — иначе сайт выпадет из выдачи.

Проверьте свой robots.txt за 10 секунд
SEO Crawler покажет, какие страницы закрыты от обхода, найдёт ошибки синтаксиса и конфликты с sitemap.
Проверить robots.txt

Шаблоны и спецсимволы

Стандарт robots.txt поддерживает три спецсимвола, и они часто используются неправильно.

Символ Значение Пример
* Любая последовательность символов Disallow: /*?sort=
$ Конец URL Disallow: /*.pdf$
# Начало комментария # закрываем фильтры

Disallow: /*.pdf$ закроет все PDF-файлы, но разрешит /docs/file.pdf?v=2 (потому что $ требует точного окончания). Без $ правило Disallow: /*.pdf закроет и файл, и URL с параметрами.

Между группами User-agent и правилами Disallow/Allow не должно быть пустой строки — это приведёт к тому, что правила будут считаться относящимися к «нет бота», а не к указанному.

7 частых ошибок в robots.txt

  1. Закрыли весь сайт через Disallow: /. Классика после миграции с тестового домена — забыли удалить строку. Симптом: через 2–4 недели сайт выпадает из индекса.
  2. Заблокировали /static/, /assets/ или /wp-content/. Google не может прочитать CSS и JS, страницы выглядят «без стилей» и считаются некорректно отрендеренными. На мобильной оценке это бьёт особенно сильно.
  3. Sitemap указан относительным URL. Sitemap: /sitemap.xml не работает — поисковики игнорируют. Только полный абсолютный URL с протоколом: Sitemap: https://example.com/sitemap.xml.
  4. Файл лежит не в корне, а в подкаталоге. robots.txt работает только по адресу /robots.txt. Файл в /static/robots.txt или /blog/robots.txt поисковик не увидит.
  5. Ошибка в имени бота. YandexBot вместо Yandex, Google вместо Googlebot — правила не применяются. Регистр имеет значение.
  6. Используют robots.txt, чтобы убрать страницу из выдачи. Не работает. Запрет обхода ≠ запрет индексации. Страница останется в индексе без содержимого, если на неё ведут внешние ссылки. Для удаления нужен noindex.
  7. Файл недоступен — отдаёт 404 или 403. Поисковый робот считает сайт полностью открытым и может начать обходить всё, включая админку. Проверка доступности — первый шаг любого SEO-аудита.

robots.txt vs meta robots vs X-Robots-Tag

Три разных инструмента управления поведением роботов. Часто их путают, и из-за этого страницы или выпадают из индекса, или, наоборот, не выпадают, когда нужно.

Способ Где размещается Чем управляет На что действует
robots.txt Корень сайта Обход (crawl) Любые URL, включая картинки и PDF
meta robots В <head> HTML-страницы Индексация (index) Только HTML-страницы
X-Robots-Tag HTTP-заголовок ответа Индексация (index) Любые ресурсы, включая не-HTML

Правило выбора простое. Нужно закрыть раздел от обхода, чтобы бот туда не ходил → robots.txt. Нужно убрать страницу из выдачи, оставив её доступной пользователям → meta robots="noindex". Нужно закрыть PDF или картинку от индексации → X-Robots-Tag: noindex в заголовках.

Главный подводный камень: если страница закрыта в robots.txt, бот не может её обойти и, соответственно, не прочитает тег noindex на ней. Страница остаётся в индексе. Чтобы точно убрать из выдачи — сначала уберите Disallow, дождитесь переиндексации, потом поставьте noindex.

Как проверить robots.txt

Первая проверка — вручную. Откройте в браузере https://yoursite.ru/robots.txt. Файл должен показаться как текст. Если браузер показывает 404, файла нет. Если редиректит на другую страницу — это баг конфигурации, поисковики не следуют редиректам robots.txt предсказуемо.

Вторая проверка — синтаксис. Бесплатный валидатор robots.txt в SEO Crawler разбирает директивы, показывает какие URL разрешены и запрещены для каждого бота, подсвечивает ошибки и конфликты с sitemap.xml.

Третья проверка — в панелях поисковиков. У Google Search Central есть официальная документация по robots.txt и инструмент проверки в Search Console. У Яндекса — справка по robots.txt в Вебмастере и тестер конкретных URL.

Четвёртая проверка — на всём сайте. Когда у вас 1000+ страниц, недостаточно проверить один URL. SEO Crawler обходит сайт целиком и сверяет каждый URL с robots.txt, показывая какие страницы доступны для бота, а какие — случайно закрыты. Подробнее — в статье «Проверка сайта на ошибки SEO».

Чек-лист готового robots.txt

Пункт Норма Как проверить
Расположение/robots.txt в корнеОткрыть в браузере
Код ответа200 OK, не 404 и не 301Проверить HTTP-статус
КодировкаUTF-8 без BOMОткрыть в текстовом редакторе, проверить в настройках
СинтаксисБез ошибокВалидатор SEO Crawler
User-agentУказан хотя бы одинПросмотр файла
Служебные разделыЗакрыты (корзина, админка, поиск)Список URL + Disallow
Статика CSS/JSОткрытаПроверка Allow: или отсутствия запрета
Sitemap:Абсолютный URLПросмотр файла
Staging-строкаОтсутствует Disallow: / на продакшнеПросмотр файла

Часто задаваемые вопросы

Обязателен ли файл robots.txt?

Нет, сайт без robots.txt индексируется. Но без файла все URL открыты для обхода, включая служебные — корзины, формы авторизации, черновики. Для любого SEO-проекта файл обязателен.

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

Только в корне сайта: https://example.com/robots.txt. Поддомены нуждаются в собственном файле — https://shop.example.com/robots.txt обслуживается отдельно. Файл robots.txt для одного поддомена не действует на другие.

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

Нет. Он запрещает обход — запрос HTML-страницы у сервера. Страница может попасть в индекс по внешней ссылке, даже если бот не читал её содержимое. Для гарантированного удаления из выдачи используйте noindex в meta robots или HTTP-заголовке.

Почему Google игнорирует мой Disallow?

Три типичных причины. Ошибка в синтаксисе — например, пробел перед директивой. Правило относится не к Googlebot, а к *, но выше есть группа User-agent: Googlebot с другими правилами (специфичная группа перекрывает общую). Страница уже в индексе — Disallow не выводит из индекса, только останавливает переобход.

Нужен ли разный robots.txt для Google и Яндекса?

В большинстве случаев — нет, одни и те же правила работают для обоих. Разные группы нужны, если используете специфичные для Яндекса директивы Clean-param и Crawl-delay, или хотите разрешить обход части сайта одному поисковику и запретить другому.

Запустите аудит robots.txt и sitemap бесплатно
SEO Crawler проверит robots.txt, sitemap.xml, мета-теги и ссылки на всём сайте за один обход. Бесплатно, до 50 страниц.
Начать аудит
Поделиться:
SC
Команда SEO Crawler
Пишем о техническом SEO, аудите и продвижении сайтов
Ссылка скопирована