SEO и продвижение

Robots.txt: практическое руководство
Закрывайте служебное. Не закрывайте сайт. Crawl-delay — не рычаг ТОПа.
Зачем файл, если «у нас и так всё открыто»
Robots.txt — договор с роботом на входе: куда ходить не нужно. Он не ранжирует, не «продвигает» и не заменяет каноникал. Плохой файл либо отрезает каталог услуг, либо пускает робота в генератор дублей: поиск, фильтры, корзина, служебные API.
Файл должен лежать в корне хоста, отдаваться с кодом 200 и текстом, без HTML-заглушки «страница не найдена». Если на /robots.txt висит шаблон сайта — робот читает мусор.
Проверка, увидел ли поиск нужные URL, — отдельная тема: как проверить индексацию. Здесь — как не выстрелить себе в обход.
Allow и Disallow без фольклора
Базовый каркас: User-agent, затем правила. Disallow закрывает путь-префикс. Allow открывает исключение внутри закрытого. Синтаксис и приоритет у роботов различаются в деталях; не переносите «как у конкурента» слепо.
Практические правила, которые не ломаются от версии панели:
- Закрывайте явно служебное: админка, оформление заказа, личный кабинет, внутренний поиск, если он плодит бесконечные URL.
- Не закрывайте CSS, JS и медиа, без которых страница не собирается. Иначе робот «видит» пустышку.
- Не ставьте Disallow на весь сайт на проде. Это классика после переноса с dev.
- Чем конкретнее путь, тем меньше сюрпризов. Широкий Disallow: /page закрывает и нужные page-something, если так устроены ЧПУ.
Комментарии в файле допустимы. Красивости и ключевые слова — нет: это не место для SEO-текста.
Ссылка на карту:
- Директива Sitemap: с абсолютным URL карты. Одна или несколько. Как наполнять карту — в sitemap.xml.
Host и Clean-param — исторические штуки Яндекса. Не стройте на них стратегию дублей в 2026-м: зеркало и параметры закрывают редиректом, каноникалом и настройкой параметров в Вебмастере, не «магической строкой». Про склейку адресов — canonical.
Crawl-delay — не магия ТОПа
Crawl-delay просит робота соблюдать паузу между запросами. Это про нагрузку на сервер, не про ранжирование. Яндекс может учитывать директиву. Google её по сути игнорирует как ваш инструмент продвижения.
Ставить задержку «на всякий случай» вредно: вы сами замедляете обход большого каталога. Смотрите логи и 5xx. Если робот роняет PHP — чините кэш, очередь, лишние параметры, а не прячьте каталог за паузой. Если Delay уже стоит с древних пор и индекс свежий — не трогайте без причины, но не добавляйте как пункт коммерческого ТЗ «для SEO».
Что закрывать на типичном коммерческом сайте
Зависит от CMS, но набор повторяется:
- Админка и превью черновиков.
- Корзина, чекаут, «спасибо за заказ», если это не посадочные.
- Результаты внутреннего поиска и сортировки, которые дают новые URL без отдельного интента.
- Фильтры, если комбинации не канонизированы и не являются спросовыми посадочными.
- Тестовые и служебные эндпоинты, xml-выгрузки, если их не должны видеть как страницы.
Не закрывайте разделы услуг, блог, которые вы хотите в поиске, «пока не готовы тексты». Тогда либо noindex на конкретный URL, либо не публикуйте. Robots на весь /blog/ — способ потом забыть открыть.
Типичные ошибки
Disallow: / на боевом домене.** После миграции, «чтобы робот не ходил, пока клеим». Клеят месяц. Индекс худеет.
Закрыли /wp-admin и случайно задели /wp-content. Стили и скрипты не обходятся, сниппеты и понимание страницы страдают.
Файл в кодировке с BOM или с кириллическими путями без понимания, как их видит робот. Держите ASCII-пути, ЧПУ на транслите — проще отладка.
Думаете, что Disallow = noindex. Ссылка на закрытый URL может дать «голый» результат в выдаче. Если страница не должна показываться — она должна отдавать noindex *доступному* роботу или не существовать.
Разные robots на www и non-www. Склейте зеркало, файл один на главном хосте.
Скопировали правила конкурента с Allow для их уникальной сетки фильтров. У вас другая CMS.
После правок не «ждите 40 дней по ритуалу». Проверьте файл в инструментах Вебмастера/GSC, убедитесь, что важные URL разрешены, и смотрите обход. Срок появления в индексе от этого файла не задаётся магическим числом.
Как выглядит рабочий файл, не «идеальный»
Набор строк, который чаще всего достаточен коммерческому сайту:
- User-agent: * и точечные Disallow на админку, корзину, внутренний поиск.
- При необходимости отдельный блок User-agent для Яндекса — только если правило реально отличается, не «чтобы было».
- Sitemap: https://ваш-главный-хост/sitemap.xml
- Пустые строки между блоками, без HTML, без Word-кавычек вокруг путей.
Не копируйте в файл список «всех плохих ботов мира». Антиспам на уровне robots.txt слабоват: злонамеренный парсер файл проигнорирует. Режьте нагрузку на сервере и в WAF, а поиск не воспитывайте простынёй из 200 User-agent.
Не используйте robots как место для ключевых слов и ссылок «для SEO». Робот не ранжирует ваш комментарий.
Staging, зеркала, несколько хостов
У каждого хоста свой robots. Тестовый dev.example.ru должен быть закрыт целиком *и* недоступен без пароля: один Disallow:/ не спасает, если на стенде лежат клоны услуг с индексируемыми ссылками с прода. Прод не должен наследовать этот Disallow.
Если есть CDN-хост, абсолютные пути в Sitemap и каноникалах всё равно ведут на главное зеркало сайта, не на служебный домен статики.
Проверка файла — инструментами в Вебмастере и GSC: «разрешён ли этот путь». Не надейтесь на глаз, если CMS генерирует правила из галочек плагина. Плагины любят закрыть /page/ и задеть ЧПУ.
Robots и noindex — разные инструменты
Сценарии:
- Служебный раздел, который не должен даже обходиться: Disallow. Сниппет из HTML вы не контролируете, если кто-то всё же сошлётся — смиритесь или уберите ссылки.
- Страница, которую человек открывает (фильтр, пагинация), но в индекс не нужна: пусть робот её прочтёт и увидит noindex. Закрытие в robots лишит его noindex в HTML.
- Черновик услуги «ещё не продаём»: noindex или не публиковать. Disallow «пока» часто забывают снять.
Если сомневаетесь, что закрывать, оставьте обход открытым и поставьте noindex: цена ошибки ниже, чем случайно спрятать /uslugi/.
Мини-чеклист перед релизом CMS
/robots.txtоткрывается как текст, не как 404-шаблон.- Нет Disallow всего корня.
- Админка закрыта, контент и статика нужных шаблонов открыты.
- Sitemap указан абсолютным адресом главного зеркала.
- Нет Crawl-delay «для галочки».
- Staging закрыт паролем или отдельным хостом, а не надеждой, что робот не найдёт.
- Плагин SEO не дописал второй файл и не отдаёт HTML-обёртку.
- После выкладки 10 коммерческих URL в тесте «разрешено» панелей.
Этот файл — санитарный минимум технического контура, не рычаг позиций. Если после релиза пропал раздел, первым делом читают robots и логи, не семантику.
Частые вопросы
Robots.txt запрещает индексировать страницу?
Нет. Он просит не обходить. URL всё ещё может появиться в выдаче по ссылке, без сниппета из HTML. Для запрета индекса нужен noindex в доступном ответе или авторизация.
Нужен ли Crawl-delay каждому сайту?
Нет. Это не ускоритель позиций. Имеет смысл точечно, если логи показывают, что робот душит сервер. Google его по сути не использует как ваш рычаг ранжирования.


