Зачем нужен robots.txt и почему его настройка критична для SEO
Файл robots.txt — это первый документ, который видит поисковый робот при обращении к вашему сайту. Он расположен в корне домена по адресу https://example.com/robots.txt и содержит инструкции для краулеров: какие разделы сканировать, а какие обходить стороной. Несмотря на кажущуюся простоту, ошибки в этом файле остаются одной из самых частых причин потери органического трафика — особенно в Яндексе.
По данным наших аудитов в Pulse Digital, около 38% сайтов малого и среднего бизнеса содержат критические ошибки в robots.txt: закрытые от индексации каталоги товаров, дублирующие директивы, отсутствие ссылки на XML-карту сайта. Каждая из этих проблем напрямую влияет на видимость в поиске.
В этом руководстве мы разберём всё — от базового синтаксиса до продвинутых приёмов для Яндекса, включая специфические директивы, которых нет у Google.
Основы синтаксиса robots.txt
Структура файла
Robots.txt — обычный текстовый файл в кодировке UTF-8, размещённый строго по пути /robots.txt. Файл состоит из блоков правил, каждый из которых начинается с директивы User-agent:
User-agent: Yandex
Disallow: /admin/
Disallow: /tmp/
Allow: /admin/public/
Sitemap: https://example.com/sitemap.xml
Ключевые директивы
| Директива | Назначение | Пример |
|---|---|---|
User-agent |
Указывает, для какого робота предназначены правила | User-agent: Yandex |
Disallow |
Запрещает сканирование указанного пути | Disallow: /private/ |
Allow |
Разрешает сканирование (перезаписывает Disallow) | Allow: /private/public.html |
Sitemap |
Указывает путь к XML-карте сайта | Sitemap: https://site.ru/sitemap.xml |
Host |
Указывает главное зеркало (только Яндекс) | Host: https://site.ru |
Crawl-delay |
Задержка между запросами робота (секунды) | Crawl-delay: 2 |
Clean-param |
Параметры URL, которые не влияют на содержимое | Clean-param: utm_source / |
Правила приоритета
Важно понимать порядок обработки:
- Робот ищет блок со своим именем (
User-agent: Yandex). Если не найден — используетUser-agent: *. - Внутри блока проверяются директивы
AllowиDisallow. Яндекс выбирает правило с наиболее длинным совпадением — это отличается от поведения Googlebot, который отдаёт приоритетAllow. - Пустой
Disallow:(без значения) означает «разрешить всё». - Отсутствие файла robots.txt = разрешить всё.
Специфические директивы Яндекса
Яндекс поддерживает несколько уникальных директив, которые не работают в Google. Их грамотное использование — конкурентное преимущество.
Директива Host
Директива Host указывает предпочтительное зеркало сайта:
User-agent: Yandex
Host: https://www.example.com
В 2026 году Яндекс по-прежнему поддерживает Host, хотя приоритет постепенно смещается к 301-редиректам и настройкам в Яндекс.Вебмастере. Тем не менее, мы рекомендуем указывать Host как дополнительный сигнал:
- Используйте полный URL с протоколом (
https://) - Указывайте только один
Hostво всём файле - Директива должна быть в блоке
User-agent: Yandex
Директива Clean-param
Clean-param — мощный инструмент для борьбы с дублями, вызванными UTM-метками, сессионными параметрами и фильтрами:
Clean-param: utm_source&utm_medium&utm_campaign /
Clean-param: sessionid /
Clean-param: sort&page /catalog/
Формат: Clean-param: параметр1&параметр2 /путь/
Почему это важно: без Clean-param Яндекс может проиндексировать тысячи дублей одной и той же страницы с разными UTM. Мы наблюдали случаи, когда сайт с 500 уникальных страниц имел 12 000+ URL в индексе из-за параметров отслеживания — это размывает краулинговый бюджет и ранжирование.
Директива Crawl-delay
Задаёт минимальный интервал между последовательными запросами робота к серверу:
User-agent: Yandex
Crawl-delay: 0.5
Яндекс принимает дробные значения. Рекомендации:
- Быстрый выделенный сервер:
Crawl-delay: 0.1или вообще не указывать - Shared-хостинг со средней нагрузкой:
Crawl-delay: 1 - Слабый сервер:
Crawl-delay: 2–5 - Не превышайте 10 — робот может решить, что сайт непригоден для частого обхода
Типичные ошибки и как их избежать
Ошибка 1: Закрытие CSS/JS от индексации
# НЕПРАВИЛЬНО
User-agent: *
Disallow: /wp-content/themes/
Disallow: /wp-includes/
Современные поисковые системы рендерят страницы — им нужен доступ к стилям и скриптам для понимания визуального представления. Закрытие CSS/JS приводит к тому, что Яндекс «видит» голый HTML и неверно оценивает юзабилити.
Решение: закрывайте только конфиденциальные директории (admin, private), но не ресурсы оформления.
Ошибка 2: Блокировка страниц пагинации
# НЕПРАВИЛЬНО
Disallow: /catalog/page/
Страницы пагинации — это каналы обнаружения для глубоких товарных карточек. Закрыв их, вы отрезаете роботу путь к контенту. Вместо закрытия:
- Используйте
rel="canonical"на первую страницу (если контент на всех страницах идентичен) - Или оставьте пагинацию открытой с правильной внутренней перелинковкой
Ошибка 3: Дубли из-за незакрытых служебных параметров
Фильтры, сортировки, параметры сессий — всё это порождает дубли. Для Яндекса идеальный подход:
User-agent: Yandex
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term /
Clean-param: sort&order&view /catalog/
Clean-param: PHPSESSID&session_id /
Ошибка 4: Конфликт Host и 301-редиректа
Если Host указывает на www.example.com, а 301-редирект перенаправляет на example.com (без www) — возникает конфликт. Яндекс может долго «сомневаться» в выборе главного зеркала. Всегда синхронизируйте Host, 301, и настройки в Вебмастере.
Ошибка 5: BOM-метка в файле
Некоторые текстовые редакторы добавляют невидимую BOM-метку (Byte Order Mark) в начало файла. Яндекс может не распознать первую директиву. Убедитесь, что файл сохранён в UTF-8 без BOM.
Настройка robots.txt для популярных CMS
WordPress
User-agent: Yandex
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /?s=
Disallow: /search/
Disallow: /author/
Disallow: /tag/
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term /
Clean-param: replytocom /
Host: https://example.com
Crawl-delay: 0.5
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-login.php
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xml
Пояснения:
- Закрываем поиск (
/?s=), чтобы не плодить мусорные страницы - Архивы авторов и меток часто дублируют контент категорий — закрываем
admin-ajax.phpнужен для работы динамических элементов — оставляем
1С-Битрикс
User-agent: Yandex
Disallow: /bitrix/
Disallow: /local/
Disallow: /search/
Disallow: /personal/
Disallow: /*?SECTION_CODE=
Disallow: /*?ELEMENT_CODE=
Disallow: /*PAGEN_
Disallow: /*SHOWALL_
Clean-param: utm_source&utm_medium&utm_campaign /
Clean-param: SORT&DIRECTION /catalog/
Host: https://example.com
Crawl-delay: 1
User-agent: *
Disallow: /bitrix/
Allow: /bitrix/templates/
Allow: /bitrix/css/
Allow: /bitrix/js/
Sitemap: https://example.com/sitemap.xml
Важно для Битрикс: системные параметры PAGEN_ (пагинация) и SHOWALL_ часто создают тысячи дублей. Закрываем их принудительно.
Django
User-agent: Yandex
Disallow: /admin/
Disallow: /api/
Disallow: /accounts/
Clean-param: page&sort&order /
Host: https://example.com
User-agent: *
Disallow: /admin/
Disallow: /api/
Sitemap: https://example.com/sitemap.xml
Django-проекты обычно чище по URL-структуре, но API-эндпоинты (/api/) должны быть закрыты — они не предназначены для индексации.
Как протестировать robots.txt
Яндекс.Вебмастер
- Перейдите в Яндекс.Вебмастер → «Инструменты» → «Анализ robots.txt»
- Вставьте содержимое файла или URL
- Введите тестовый URL вашего сайта
- Инструмент покажет, разрешён или запрещён доступ, и какая именно директива сработала
Мы рекомендуем тестировать минимум 10–15 URL разных типов:
- Главную страницу
- Категории каталога
- Товарные карточки
- Страницы с UTM-метками
- Страницы пагинации
- Поисковые страницы
- Административные разделы
Онлайн-валидаторы
- Техаудит от Pulse Digital: мы анализируем robots.txt в рамках технического SEO аудита — проверяем не только синтаксис, но и логику закрытия/открытия, конфликты с meta-тегами и HTTP-заголовками
- Robots.txt Checker Яндекса: встроен в Вебмастер
- Screaming Frog SEO Spider: визуально показывает все заблокированные URL при сканировании
Продвинутые приёмы
Разные правила для разных ботов
Если вы хотите разрешить Яндексу, но закрыть от других:
User-agent: Yandex
Disallow:
Host: https://example.com
User-agent: *
Disallow: /experimental-section/
Использование wildcard-символов
Яндекс поддерживает два спецсимвола:
*— любая последовательность символов:Disallow: /catalog/*?sort=$— конец URL:Disallow: /*.pdf$(заблокирует все PDF-файлы)
Пример: закрыть все URL с GET-параметрами, кроме определённых разделов:
User-agent: Yandex
Disallow: /*?
Allow: /catalog/?category=
Мониторинг обхода после изменений
После редактирования robots.txt:
- Проверьте файл через валидатор
- Дождитесь обхода (обычно 1–3 дня для активных сайтов)
- В Вебмастере отслеживайте: количество загруженных страниц, статусы обхода, новые исключённые URL
- Сравните объём индекса «до» и «после» через оператор
site:example.com
Связь robots.txt с другими инструментами управления индексацией
Robots.txt — не единственный способ управлять индексацией. Он работает в связке с:
| Инструмент | Что делает | Когда использовать |
|---|---|---|
robots.txt Disallow |
Запрещает сканирование | Закрытие технических разделов |
meta robots noindex |
Запрещает индексацию уже просканированной страницы | Скрытие конкретных страниц |
X-Robots-Tag |
HTTP-заголовок с директивами для роботов | Управление индексацией файлов (PDF, изображения) |
rel="canonical" |
Указывает основную версию страницы | Консолидация дублей |
Sitemap |
Список приоритетных URL для сканирования | Ускорение индексации |
Критический момент: если вы закрыли URL в robots.txt, но на него ведут внешние ссылки — Яндекс может проиндексировать страницу без контента (покажет URL и заголовок из анкора ссылки). Чтобы полностью убрать страницу из выдачи, используйте meta noindex и не закрывайте её в robots.txt — робот должен увидеть директиву noindex.
Чек-лист: идеальный robots.txt для Яндекса
- [ ] Файл в кодировке UTF-8 без BOM
- [ ] Размещён строго по адресу
/robots.txt - [ ] Указан
User-agent: Yandexс отдельными правилами - [ ] Добавлена директива
Hostс полным URL (включаяhttps://) - [ ] Перечислены
Clean-paramдля UTM, сессий, сортировок - [ ]
Crawl-delayсоответствует мощности сервера - [ ] CSS/JS не закрыты от индексации
- [ ] Страницы пагинации доступны или управляются через canonical
- [ ] Указана ссылка на
Sitemap - [ ] Файл протестирован в Яндекс.Вебмастере на 10+ URL
- [ ] Нет конфликта между Host, 301-редиректом и настройками Вебмастера
- [ ] Административные и приватные разделы закрыты
FAQ
Что будет, если удалить robots.txt?
Поисковые роботы получат полный доступ ко всем разделам. Это может быть приемлемо для небольших сайтов без технических директорий, но для большинства проектов отсутствие файла приведёт к индексации мусорных страниц (поиск, фильтры, корзина).
Как быстро Яндекс учитывает изменения в robots.txt?
Обычно 1–3 дня для активных сайтов. Для новых сайтов — до 1–2 недель. Ускорить можно через кнопку «Обновить robots.txt» в Яндекс.Вебмастере.
Обязательно ли указывать User-agent: Yandex отдельно?
Не обязательно — Яндекс прочитает правила из User-agent: *. Но отдельный блок позволяет использовать специфические директивы (Host, Clean-param, Crawl-delay), которые другие роботы проигнорируют.
Чувствителен ли robots.txt к регистру?
Директивы (User-agent, Disallow) нечувствительны к регистру. Но пути URL чувствительны: Disallow: /Catalog/ не заблокирует /catalog/. Всегда используйте точный регистр ваших URL.
Как обрабатываются кириллические URL?
Яндекс корректно понимает кириллические пути, но рекомендуется дублировать их в Punycode для надёжности: Disallow: /каталог/ и Disallow: /%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3/.
Правильная настройка robots.txt — это фундамент технического SEO. Если вы не уверены в текущих настройках, закажите комплексный SEO аудит у Pulse Digital — мы проверим robots.txt, мета-теги, каноникализацию и ещё более 150 параметров, влияющих на ранжирование в Яндексе.