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

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/— только папку adminDisallow: /*.pdf$— все PDF-файлыDisallow: /*?sort=— URL с параметром sort
Allow
Разрешает путь внутри запрещённой зоны:
Disallow: /images/Allow: /images/public/
Sitemap
Указывает URL карты сайта. Может быть несколько:
Sitemap: https://site.ru/sitemap.xmlSitemap: 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
- Disallow: / в продакшене. Закрывает весь сайт. Часто случается после переноса с тестового домена.
- Закрыты CSS/JS/картинки. Яндекс не может правильно оценить страницу. Рендеринг не работает.
- Отсутствие Sitemap. Робот не знает о приоритетных страницах.
- Закрыты категории интернет-магазина. Обычно случайно через блокировку параметров.
- Неправильный синтаксис. Лишние пробелы, неправильный порядок директив.
- Смешение Allow и Disallow. Робот может не понять, что разрешено, а что нет.
Проверка и валидация
- Яндекс.Вебмастер → Инструменты → Анализ robots.txt
- Вставляем robots.txt или URL
- Вбиваем проверяемый URL — видим, разрешён он или запрещён
- Можно проверить несколько 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/
Частые вопросы
Формально — нет. Отсутствие = всё разрешено. Но лучше его иметь с базовой структурой.
Теоретически нет, но если на неё есть внешние ссылки — может попасть в индекс без контента. Для гарантированного запрета — meta robots noindex.
Обычно 1-2 дня. Для больших изменений — до недели.
Да, через 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
Если страница не индексируется, а должна:
- Проверить через валидатор Яндекс.Вебмастер
- Проверить на сайте (кеш браузера может показывать старую версию)
- Посмотреть в логах сервера, обращался ли YandexBot к странице
- Сравнить с эталонным robots.txt для вашей CMS
- Проверить meta robots (на уровне страницы)
Обновление robots.txt
При существенных изменениях robots.txt:
- Бэкап старой версии
- Внедрение новой
- Проверка через валидатор Вебмастера
- Мониторинг индекса в течение 2-4 недель
- Откат при проблемах
Практические примеры исправления
Реальные кейсы ошибок 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 перед публикацией
- Локальная проверка через валидатор Вебмастера
- Проверка на staging-окружении
- A/B тестирование на небольшой части сайта
- Мониторинг логов сервера — как ведут себя роботы
- Только после этого — на 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 ускоряет работу робота.
Настроим robots.txt правильно
Аудит текущего файла, анализ заблокированных URL, исправление ошибок. Типичный результат — +15-40% страниц в индексе за 1-2 месяца.
- Пакет «Старт» от 55 000 ₽/мес
- Пакет «Стандарт» 75 000 ₽/мес
- Пакет «Премиум» 95 000 ₽/мес
- Бесплатный аудит и прогноз
- Договор с гарантией результата
- Отчёты каждую неделю