robots.txt: что это, как настроить и правильно прочитать

robots.txt — текстовый файл в корне сайта. Он подсказывает роботам, какие разделы обходить, но не ставит страницу в индекс и не выкидывает её оттуда сам по себе: для этого есть noindex и канонический адрес. Строка Disallow: / закрывает обход всего сайта, и трафик из поиска потом проседает, пока робот снова не получит доступ. Аккуратный файл экономит обход и убирает мусорные адреса. Дальше — директивы и то, как эта ошибка выглядит в проверке seoquest.ru.

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

robots.txt — это текстовый файл в корневой директории сайта (например, https://example.ru/robots.txt), который содержит инструкции для поисковых роботов (краулеров) Яндекса, Google и других систем. Он говорит боту, какие разделы можно сканировать и индексировать, а какие — пропустить.

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

Зачем он нужен на практике:

  • защищает служебные разделы от индексации (/admin/, /wp-admin/, личные кабинеты);
  • убирает дубли из-за параметров сортировки, фильтров и UTM-меток;
  • экономит краулерный бюджет — бот не тратит запросы на мусорные страницы;
  • указывает карту сайта через директиву Sitemap, чтобы поисковик быстрее нашёл страницы;
  • помогает держать индекс чистым: только то, что действительно должно быть в поиске.

Если сайт интернет-магазина, а робот начнёт индексировать /search/, корзину и страницы с фильтрами ?sort=, он соберёт сотни дублей и перегрузит сервер. Именно robots.txt «очищает» индекс от нежелательного.

Как настроить robots.txt: директивы и примеры кода

Базовая группа правил состоит из трёх директив. Вот минимальный рабочий файл:

User-Agent: *
Disallow: /admin/
Disallow: /tmp/

User-Agent — кому давать инструкции

User-Agent — это адресат правил, как конверт с пометкой «для Googlebot» или «для YandexBot». Звёздочка * означает «все роботы» и работает как правило по умолчанию.

Каждая запись User-Agent начинает новую группу правил. Это частая ловушка:

User-Agent: Googlebot
Disallow: /private/

User-Agent: YandexBot
Disallow: /cache/

Здесь Googlebot увидит запрет только на /private/, а Яндекс — только на /cache/. Если вам нужны одинаковые правила для всех, используйте User-Agent: * и не разбивайте их по ботам.

Disallow и Allow — порядок имеет значение

Disallow просит бота не сканировать путь, Allow — разрешает даже то, что попало под запрет. Ключевой нюанс: бот читает файл сверху вниз и применяет первое совпадение. Поэтому правило Allow должно идти до Disallow:

Allow: /products/featured/
Disallow: /products/

Если перепутать порядок — сначала Disallow, потом Allow — разрешение будет проигнировано, и важная страница не индексируется. Это одна из самых незаметных ошибок.

Отдельно: Disallow: / (слеш без пути) полностью закрывает сайт от индексации. Разработчики иногда оставляют её после тестов — и сайт исчезает из поиска. Проверьте файл перед публикацией.

Crawl-delay и другие директивы

Crawl-delay указывает боту паузу между запросами к вашему сайту — полезно, если краулеры грузят сервер. Директива работает не у всех: Яндекс её уважает, Google игнорирует (в Google скорость обхода настраивается в Search Console). Пример:

User-Agent: *
Disallow: /tmp/
Crawl-delay: 1

Host устарел — зачем он был и что использовать вместо него

Директива Host была нужен только Яндексу: она указала, какой домен канонический — с www или без, с http или https. Писалась без протокола:

User-Agent: YandexBot
Host: example.ru  ✅
Host: https://example.ru  ❌ — Яндекс проигнорирует строку

Сегодня Host считается устаревшей директивой. Google её полностью игнорирует, а Яндекс больше не считает её обязательной. Вместо Host для склейки зеркал используйте 301-редирект и тег rel=canonical. Подробнее — в статье про canonical.

Что ещё можно писать в robots.txt: Sitemap и группировка

Помимо запретов, в robots.txt есть директивы, которые помогают поисковикам работать быстрее.

Sitemap — ссылка на карту сайта

Директива Sitemap «напоминает» ботам, где искать структуру сайта. Обязательной её не назовёшь, но для крупных сайтов с слабыми внутренними ссылками это спасение для индексации:

Sitemap: https://example.ru/sitemap.xml
Sitemap: https://example.ru/sitemap_images.xml

Можно указывать несколько карт — для новостей, товаров, изображений. Главное, чтобы они отдавались с кодом 200 и без редиректов. При этом сам sitemap нельзя закрывать в Disallow — иначе поисковик просто не найдёт карту.

Clean-param — очистка параметров (только Яндекс)

Clean-param сообщает Яндексу, какие GET-параметры игнорировать и считать страницы одной. Параметры разделяются пробелами, а не амперсандами:

# Правильно
Clean-param: sort filter /

# Неправильно — Яндекс проигнорирует правило
Clean-param: sort&filter /

Если перепутать, каждый вариант параметров засчитается как отдельная страница и получите дубли. О том, когда Clean-param реально помогает, а когда создаёт риски, рассказываю в отдельном материале.

Группировка правил

Логично разбивать robots.txt на блоки: сначала служебные директории, потом параметры URL, затем поиск и личные кабинеты. Так файл легко читать человеку и редактировать. Пример структурированного файла:

# Служебное
User-Agent: *
Disallow: /admin/
Disallow: /wp-admin/
Disallow: /cgi-bin/
Disallow: /tmp/

# Параметры и поиск
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /search/

# Sitemap
Sitemap: https://example.ru/sitemap.xml

Как читать и разбирать отчёт SEO по robots.txt

В аудите seoquest.ru robots.txt проверяется автоматически, но полезно уметь читать этот раздел самому. На что смотреть в первую очередь.

Признаки неправильного robots.txt

  • robots.txt отдаёт 404. Поисковик считает файл отсутствующим и индексирует всё подряд. Проверка: curl -sI 'https://example.ru/robots.txt' должен возвращать 200.
  • Закрыты важные страницы. Если в Disallow попали /catalog/, /product/ или /blog/, трафик может упасть до нуля. Коммерческие и информационные разделы должны быть открыты.
  • Disallow закрывает sitemap. Тогда поисковик не найдёт карту сайта — проверьте, что curl -sL 'https://example.ru/sitemap.xml' отдаёт 200.
  • Случайный Disallow: /. Полный запрет — обычно остаток после тестирования разработки.
  • Закрыты /css/, /js/ или /images/. Без них Google не видит, как выглядит страница, и может показать её как «пустую».
  • Allow после Disallow. Нарушен порядок — разрешение проигнировано.
  • Амперсанды в Clean-param. Яндекс правило проигнорирует → дубли параметров.
  • Host с https://. Строка игнорируется и не склеет зеркала.

Что блокирует индексацию

robots.txt сам по себе не удаляет страницы из индекса — он только запрещает их повторное сканирование. Но если файл закрывает доступ к разделу, который раньше индексировался, бот перестаёт его посещать, и со временем страница может исчезнуть. А Disallow: / полностью останавливает обход.

Если страница уже в индексе, но вы хотите её убрать — robots.txt не поможет. Для этого используйте метатег <meta name="robots" content="noindex"> или HTTP-заголовок X-Robots-Tag: noindex. Про разницу между robots, noindex и canonical читайте в статье про индексность страницы.

Как я разбираю отчёт за 10 минут

  1. Открываю /robots.txt в браузере и считаю строки с Disallow:.
  2. Сверяю, нет ли среди них коммерческих разделов — /catalog/, /product/, /blog/.
  3. Проверяю код ответа (должен быть 200) и наличие Sitemap.
  4. Ищу Disallow: / и амперсанды в Clean-param.
  5. Сравниваю с тем, что видит Яндекс/Google в их вебмастерах — там есть встроенный тестер доступа.

В seoquest.ru почти все эти шаги уже сделаны за вас: инструмент автоматически находит закрытые страницы, битые ссылки и ошибки файла.

robots.txt для разных CMS (WordPress)

У каждой CMS есть свои служебные папки, которые стоит закрывать. Для WordPress типичный набор:

User-Agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /category/
Disallow: /*?s=
Disallow: /*?feed=
Disallow: /*/wp-json/
Disallow: /*/rest/
Sitemap: https://example.ru/sitemap.xml

Закрываем админку, технический API (REST/WP-JSON), страницы поиска ?s= и все фиды. Sitemap при этом оставляем открытой и указываем в файле.

Для 1С-Битрикс закрываем /local/, /upload/, /bitrix/, /auth/, /personal/ и параметры авторизации:

User-Agent: *
Disallow: /local/
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /search/
Disallow: /*?register=
Disallow: /*?login=
Sitemap: https://example.ru/sitemap.xml

Для самописных сайтов достаточно служебных директорий и параметров:

User-Agent: *
Disallow: /admin/
Disallow: /api/
Disallow: /private/
Disallow: /tmp/
Disallow: /cache/
Disallow: /*?sort=
Disallow: /*?filter=
Sitemap: https://example.ru/sitemap.xml

Если вы только начинаете, не бойтесь начать с минимума — User-Agent: * + Disallow: (пустой, то есть «всё разрешено») и строка Sitemap. Потом постепенно добавляйте запреты, проверяя каждый шаг.

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

Ручная проверка через браузер или curl полезна, но легко упустить детали. В сервисе seoquest.ru файл robots.txt — один из параметров Health Score, и он оценивается так:

  • robots.txt доступен (HTTP 200) — обязательный пункт;
  • важные страницы не закрыты — обязательный пункт;
  • Sitemap указана — рекомендуемый;
  • Clean-param настроен правильно — рекомендуемый.

Это значит, что сервис сразу покажет, если вы случайно закрыли каталог или если файл вообще отдаёт 404. Плюс в том, что проверка комплексная: robots.txt проверяется вместе со скоростью, безопасностью и контентом в одном отчёте.

Проверьте сайт на check/free. Гость обходит до 50 страниц один раз в день; небольшой сайт обычно готов за 1–2 минуты. В балле есть и robots.txt.

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

Закрывает ли robots.txt страницу от индексации полностью?

Не всегда. robots.txt просит бота не посещать страницу, но URL может попасть в индекс из sitemap или внешних ссылок. Для гарантированного удаления используйте noindex — метатег или HTTP-заголовок X-Robots-Tag.

Влияет ли robots.txt на ранжирование?

Напрямую нет — это не фактор позиций. Но неправильная настройка вызывает дубли или закрытие важных страниц, а это уже бьёт по позициям косвенно.

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

Да. Allow переопределяет Disallow для конкретных путей, но важно держать порядок: сначала Allow, потом Disallow. Например, Disallow: /private/ + Allow: /private/public/ закроет папку, но оставит подпапку открытой.

Работает ли Clean-param в Google?

Нет, это директива только для Яндекса. Для Google склейку параметров настраивайте через rel=canonical и раздел «Параметры URL» в Search Console.

Можно ли использовать robots.txt, чтобы удалить страницу из поиска?

Нет. Disallow лишь прекращает сканирование, но не удаляет уже проиндексированные страницы. Для удаления — noindex или X-Robots-Tag: noindex.

Внутренние ссылки

Проверить свой сайт по всем техническим пунктам можно в бесплатной проверке.