ГлавнаяБлог
Robots.txt для SEO: полная инструкция с примерами и типовыми ошибками

Robots.txt для SEO: полная инструкция с примерами и типовыми ошибками

Robots.txt — иллюстрация к статье блога SEO Мастера
Автор: SEO Мастера · агентство продвижения с 2005 года Дата: 15 мая 2026 Время чтения: 11 мин

Robots.txt — текстовый файл, который говорит поисковым роботам, что можно и что нельзя сканировать на сайте. Ошибки в robots.txt могут закрыть от индексации половину сайта или наоборот — открыть служебные разделы. В этой статье — полное руководство по настройке robots.txt для SEO от SEO Мастера.

Коротко

  • Robots.txt лежит в корне сайта: /robots.txt
  • Главные директивы: User-agent, Disallow, Allow, Sitemap, Clean-param.
  • Ошибки robots.txt — одна из самых частых причин падения трафика.
  • Всегда проверяйте в Яндекс.Вебмастере → «Инструменты» → «Анализ robots.txt».

Синтаксис robots.txt

Базовая структура:

User-agent: [имя робота]
Disallow: [запрещённый путь]
Allow: [разрешённый путь внутри запрещённого]
Sitemap: [URL sitemap.xml]
Clean-param: [параметр] [путь]

Главные директивы

User-agent

Указывает, для какого робота правила. Примеры:

  • User-agent: * — для всех роботов
  • User-agent: Yandex — для всех роботов Яндекса
  • User-agent: YandexBot — для основного робота Яндекса
  • User-agent: Googlebot — для Google

Disallow

Запрещает сканировать путь:

  • Disallow: / — закрывает весь сайт
  • Disallow: /admin/ — только папку admin
  • Disallow: /*.pdf$ — все PDF-файлы
  • Disallow: /*?sort= — URL с параметром sort

Allow

Разрешает путь внутри запрещённой зоны:

  • Disallow: /images/
  • Allow: /images/public/

Sitemap

Указывает URL карты сайта. Может быть несколько:

  • Sitemap: https://site.ru/sitemap.xml
  • Sitemap: https://site.ru/sitemap_products.xml

Clean-param (Яндекс)

Указывает параметры URL, которые не меняют содержимое (UTM, sort, id_session):

  • Clean-param: utm_source&utm_medium /
  • Clean-param: sort /catalog/

Правильный robots.txt для основных CMS

WordPress

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /search/
Disallow: /?s=
Disallow: /*?replytocom
Allow: /wp-admin/admin-ajax.php
Allow: /wp-content/uploads/

Sitemap: https://site.ru/sitemap.xml

1C-Битрикс

User-agent: *
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /search/
Disallow: /*?login=yes
Disallow: /*?register=yes
Disallow: /*?forgot_password=yes
Disallow: /*?change_password=yes
Disallow: /*?logout=yes
Disallow: /*&print=
Disallow: /*?action=
Clean-param: utm_source&utm_medium&utm_campaign /

Sitemap: https://site.ru/sitemap.xml

MODX

User-agent: *
Disallow: /manager/
Disallow: /assets/components/
Disallow: /core/
Disallow: /connectors/
Disallow: /index.php
Disallow: *?

Sitemap: https://site.ru/sitemap.xml

Типичные ошибки robots.txt

  1. Disallow: / в продакшене. Закрывает весь сайт. Часто случается после переноса с тестового домена.
  2. Закрыты CSS/JS/картинки. Яндекс не может правильно оценить страницу. Рендеринг не работает.
  3. Отсутствие Sitemap. Робот не знает о приоритетных страницах.
  4. Закрыты категории интернет-магазина. Обычно случайно через блокировку параметров.
  5. Неправильный синтаксис. Лишние пробелы, неправильный порядок директив.
  6. Смешение Allow и Disallow. Робот может не понять, что разрешено, а что нет.

Проверка и валидация

  1. Яндекс.Вебмастер → Инструменты → Анализ robots.txt
  2. Вставляем robots.txt или URL
  3. Вбиваем проверяемый URL — видим, разрешён он или запрещён
  4. Можно проверить несколько URL одновременно

Специальные случаи

Мультиязычный сайт

Если у вас /en/, /de/ версии — убедитесь, что они открыты:

User-agent: *
Allow: /en/
Allow: /de/
Sitemap: https://site.ru/sitemap_ru.xml
Sitemap: https://site.ru/sitemap_en.xml

Поддомены

Каждый поддомен имеет свой robots.txt. m.site.ru/robots.txt — отдельный файл.

Картинки

Не закрывайте /images/ или /uploads/ — теряете Яндекс.Картинки:

User-agent: YandexImages
Allow: /uploads/

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

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

Формально — нет. Отсутствие = всё разрешено. Но лучше его иметь с базовой структурой.

Будет ли Яндекс индексировать страницу, закрытую в robots.txt?

Теоретически нет, но если на неё есть внешние ссылки — может попасть в индекс без контента. Для гарантированного запрета — meta robots noindex.

Как долго Яндекс применяет изменения?

Обычно 1-2 дня. Для больших изменений — до недели.

Можно ли иметь разные правила для Яндекса и Google?

Да, через User-agent: Yandex и User-agent: Googlebot.

Закрывать ли страницу «Спасибо» после формы?

Через meta robots noindex — да. Через robots.txt — нет (не сможете отследить цель в Метрике).

Robots.txt и краул-бюджет

Для больших сайтов (50k+ страниц) robots.txt — инструмент оптимизации краул-бюджета:

  • Закрываем ненужные фильтры и пагинацию
  • Закрываем дубли (сортировки, виды отображения)
  • Очищаем UTM и реферальные параметры через Clean-param
  • Приоритизируем важные разделы через Allow

Правильно настроенный robots.txt может ускорить индексацию важных страниц в 2-3 раза.

Безопасность через robots.txt — нельзя

Robots.txt — это правила вежливости для роботов. Не защита от злоумышленников:

  • Файл публично доступен — /robots.txt виден всем
  • Нельзя закрывать конфиденциальные разделы — они станут известны
  • Для реальной защиты — пароли, авторизация, .htaccess

Regex и специальные символы

В robots.txt есть ограниченная поддержка регулярных выражений:

  • * — любая последовательность символов
  • $ — конец URL
  • Пример: Disallow: /*.pdf$ — все PDF-файлы

Отладка robots.txt

Если страница не индексируется, а должна:

  1. Проверить через валидатор Яндекс.Вебмастер
  2. Проверить на сайте (кеш браузера может показывать старую версию)
  3. Посмотреть в логах сервера, обращался ли YandexBot к странице
  4. Сравнить с эталонным robots.txt для вашей CMS
  5. Проверить meta robots (на уровне страницы)

Обновление robots.txt

При существенных изменениях robots.txt:

  1. Бэкап старой версии
  2. Внедрение новой
  3. Проверка через валидатор Вебмастера
  4. Мониторинг индекса в течение 2-4 недель
  5. Откат при проблемах

Практические примеры исправления

Реальные кейсы ошибок robots.txt и их решения:

Кейс 1: Сайт пропал из выдачи после редизайна

После переноса с тестового домена забыли обновить robots.txt. Disallow: / заблокировало всё. Решение: замена на боевой robots.txt + запрос переобхода в Вебмастере. Восстановление — 2 недели.

Кейс 2: Магазин потерял 40% трафика

Добавили Disallow: /*?sort= для закрытия сортировок. Но параметры пересеклись с фильтрами. Решение: заменили на Clean-param: sort /catalog/. Трафик вернулся за 3 недели.

Кейс 3: Яндекс не индексирует картинки

Disallow: /images/ закрыл папку с картинками. Они пропали из Яндекс.Картинок. Решение: Allow: /images/products/ для товарных картинок. Индексация восстановилась.

Интеграция robots.txt с разработкой

Правильная практика для разработчиков:

  • robots.txt под контролем системы версий (Git)
  • Разные файлы для dev/stage/production
  • Проверка robots.txt при каждом деплое
  • Автоматическая генерация Sitemap-директивы
  • Документация изменений в CHANGELOG
  • Мониторинг изменений через Яндекс.Вебмастер API

Многодоменные сайты

Если у вас несколько доменов (основной, мобильный, региональные):

  • Каждый домен — свой robots.txt
  • Sitemap указывается отдельно для каждого
  • Общие поддомены могут иметь одинаковые правила
  • Cross-domain canonical для дублей

Robots.txt и конкуренты

Изучение robots.txt конкурентов — полезная SEO-разведка. Можно узнать:

  • Какие разделы они не индексируют
  • Какие параметры у них лишние
  • Как они группируют sitemap
  • Есть ли у них скрытая структура URL
  • Какие инструменты они используют (по путям к служебным разделам)

Мониторинг robots.txt

Изменения robots.txt критичны — нужен автоматический мониторинг:

  • Git-hook при изменении файла — уведомление в Slack
  • Проверка валидности после каждого деплоя
  • Алерт при изменении размера (если вдруг очистился)
  • Сверка с эталоном раз в день через cron
  • Бэкапы последних 10 версий

Robots.txt для разработчиков

Типичный dev-environment должен быть полностью закрыт:

User-agent: *
Disallow: /

Если dev случайно открыт — Яндекс может проиндексировать тестовый контент и создать дубли основного сайта.

Расширенные техники работы с robots.txt

Продвинутые приёмы для опытных SEO-специалистов:

  • Разные правила для разных User-agent — Googlebot может видеть больше, чем Яндекс, если так нужно
  • Crawl-delay — контроль частоты сканирования (для серверов под нагрузкой)
  • Host-директива — указание главного зеркала (устарело, но иногда работает)
  • Noarchive / Nosnippet через meta robots в сочетании с robots.txt

Тестирование robots.txt перед публикацией

  1. Локальная проверка через валидатор Вебмастера
  2. Проверка на staging-окружении
  3. A/B тестирование на небольшой части сайта
  4. Мониторинг логов сервера — как ведут себя роботы
  5. Только после этого — на production

Эволюция robots.txt

Стандарт robots.txt существует с 1994 года, но продолжает развиваться:

  • RFC 9309 (2022) — формальная стандартизация
  • Расширенные директивы Яндекса (Clean-param, Crawl-delay)
  • Интеграция с Sitemap-директивой
  • Поддержка регулярных выражений
  • Разные правила для разных User-agent

Что НЕ стоит делать с robots.txt

  • Закрывать CSS/JS — Яндекс не сможет отрендерить страницу
  • Закрывать картинки — пропадут из Яндекс.Картинок
  • Использовать для безопасности — файл публичен
  • Блокировать ВСЕ user-agent (кроме dev-среды)
  • Забывать про Sitemap: директиву

Практическое применение — разбор реального robots.txt

Типичный плохой robots.txt интернет-магазина:

User-agent: *
Disallow: /

Результат: сайт выпал из выдачи, клиент потерял 80% трафика.

Правильный вариант для того же магазина:

User-agent: *
Disallow: /bitrix/
Disallow: /personal/
Disallow: /search/
Disallow: /*?action=
Allow: /bitrix/images/
Clean-param: utm_source&utm_medium&utm_campaign&sort /

Sitemap: https://site.ru/sitemap.xml

Результат: все товарные страницы индексируются, дубли параметров не загружают индекс, ссылка на sitemap ускоряет работу робота.

SEO-продвижение сайтов с 2005 года

Настроим robots.txt правильно

Аудит текущего файла, анализ заблокированных URL, исправление ошибок. Типичный результат — +15-40% страниц в индексе за 1-2 месяца.

  • Пакет «Старт» от 55 000 ₽/мес
  • Пакет «Стандарт» 75 000 ₽/мес
  • Пакет «Премиум» 95 000 ₽/мес
  • Бесплатный аудит и прогноз
  • Договор с гарантией результата
  • Отчёты каждую неделю

Комментарии (17)

Геннадий

Классическая ошибка, на которой сам обжёгся: строчка Disallow: / уехала на прод и закрыла весь сайт от индексации. Хорошо, что заметил через два дня по падению в Вебмастере.

AdminSEO Мастер

Геннадий, знакомая беда — такое чаще всего утекает с тестового стенда. Возьмите за правило проверять robots.txt сразу после каждого деплоя и настройте оповещение в Яндекс Вебмастере о резком выпадении страниц. Это спасает от потери недель трафика.

Инна_М

Подскажите, в чём разница между Disallow в robots и мета-тегом noindex? Всегда путаюсь, что и когда применять.

AdminSEO Мастер

Инна, Disallow запрещает роботу заходить на страницу, но она всё равно может попасть в индекс без сниппета, если на неё есть ссылки. Мета noindex разрешает зайти и прочитать, но запрещает добавлять в поиск. Чтобы точно убрать из индекса — используйте noindex, а не Disallow.

pavel_online

Директиву Host уже сто лет как отменили, а до сих пор вижу её в robots у половины сайтов. Пора чистить рудименты.

Тамара

Спасибо за примеры под разные CMS, скопировала базовый шаблон почти без правок.

Виктор Л.

Использую Clean-param для отсечения меток и сортировок в интернет-магазине. Дубли ушли, краулинговый бюджет вздохнул свободнее.

Алиса_К

А зачем в robots вообще указывать Sitemap, если карту можно добавить в Вебмастере вручную?

AdminSEO Мастер

Алиса, директива Sitemap в robots.txt нужна, чтобы её нашли все поисковики, включая те, где вы карту вручную не добавляли. Это подстраховка и хороший тон. Плюс некоторые сторонние краулеры ориентируются именно на robots.

Егор

Не соглашусь с советом закрывать /wp-admin/ и прочую служебку — Google сам рекомендует не резать доступ к ресурсам, иначе он не отрендерит страницу корректно.

AdminSEO Мастер

Егор, тут нюанс: закрывать саму админку смысл есть, а вот CSS и JS блокировать действительно нельзя, иначе робот увидит поломанную вёрстку. В современном robots служебные скрипты и стили держим открытыми — вы правы по сути.

Милана

Полезно, что напомнили про регистрозависимость путей. У меня Disallow: /Catalog не сработал, потому что реальный путь был со строчной буквы.

roman_k

Проверяю каждый robots через инструмент анализа в Яндекс Вебмастере перед заливкой. Показывает, какие URL под запретом, экономит нервы.

Станислав

Robots.txt — это не про безопасность. Видел, как люди 'прячут' туда админку и папку с бэкапами, а по факту наоборот показывают их всем любопытным.

Жанна_П

Вопрос: если у меня поддомены, robots на основном домене на них распространяется?

AdminSEO Мастер

Жанна, нет — для каждого поддомена нужен свой отдельный robots.txt в его корне. Файл на основном домене регулирует только его. Это частая причина, почему поддомен неожиданно оказывается закрыт или, наоборот, открыт полностью.

Аркадий

Спасибо, статья снимает кучу вопросов от джунов. Отправил ссылку всей команде контента.

Вероника_С

Заметила, что пустой robots.txt или его отсутствие — не трагедия, сайт всё равно индексируется. Но лучше иметь хотя бы базовый с картой.

leonid_seo

Держите лайфхак: разные User-agent для Yandex и Googlebot иногда нужны, но не увлекайтесь. Чаще всего хватает секции для всех со звёздочкой.

Кирилл

У клиента robots отдавал 500-ю ошибку из-за кривого генератора в CMS. Робот при недоступном robots может временно вообще не ходить по сайту, так что следите за кодом ответа.

Ната_Ростов

А crawl-delay ещё кто-то использует? Или сервера уже везде тянут нагрузку без него?

Фёдор

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

Оставить комментарий

Спасибо! Ваш комментарий отправлен на модерацию и появится после проверки.