Что делает robots.txt — и чего он не делает
Файл robots.txt находится в корне сайта и сообщает поддерживающим протокол роботам, какие адреса можно или нельзя обходить. Он полезен для управления краулинговой нагрузкой и отсечения служебных пространств URL: результатов внутреннего поиска, бесконечных комбинаций параметров, технических кабинетов и дублирующих маршрутов. Правила действуют только для того протокола, хоста и порта, где опубликован файл. Поэтому robots.txt на основном домене не управляет отдельным поддоменом.
Критически важно разделять обход и индексирование. Если URL запрещён для обхода, поисковик не сможет прочитать на нём meta robots с noindex. При наличии внешних или внутренних ссылок такой адрес всё равно может появиться в поиске без содержимого страницы. Конфиденциальные данные также нельзя защищать robots.txt: файл открыт всем, а недобросовестный робот может игнорировать правила.
| Задача | Подходящий механизм | Почему |
|---|---|---|
| Снизить обход служебных URL | Disallow в robots.txt | Робот не тратит запросы на указанные пути |
| Убрать доступную HTML-страницу из поиска | meta robots noindex или X-Robots-Tag | Робот должен получить страницу и увидеть запрет индексирования |
| Удалить несуществующий материал | HTTP 404 или 410 | Сервер явно сообщает, что ресурса нет |
| Склеить дубли | 301 или rel=canonical | Robots.txt не передаёт предпочтительный URL |
| Закрыть приватные данные | Авторизация и контроль доступа | Robots.txt не является защитой |
Синтаксис и порядок правил
Группа начинается с одного или нескольких User-agent, после которых идут Allow и Disallow. Пустой Disallow ничего не запрещает. Путь начинается со слеша и сопоставляется с адресом после имени хоста. Комментарий начинается с символа #. Директива Sitemap содержит абсолютный URL карты сайта и может находиться отдельно от групп.
User-agent: *
Disallow: /admin/
Disallow: /search/
Allow: /search/help/
Sitemap: https://example.ru/sitemap.xml
При пересечении правил поисковые системы обычно выбирают наиболее конкретное совпадение, однако не стоит строить сложный файл на предположениях. Тестируйте реальные URL в инструментах поисковых систем. Не копируйте готовые маски с чужого сайта: одинаковые названия каталогов в разных CMS могут обслуживать совершенно разные страницы.
Звёздочка используется как подстановка, знак доллара — как привязка к концу URL в реализациях поисковых систем. Чем шире маска, тем выше цена ошибки. Например, попытка закрыть параметр ?sort= может задеть URL с другим порядком параметров или полезные страницы, если шаблон составлен без проверки.
Как проверить текущий файл
- Откройте точный адрес
https://домен/robots.txtи убедитесь, что сервер отвечает 200 без цепочки на HTML-страницу. - Разберите группы User-agent. Найдите общую группу и отдельные правила для поисковых роботов. Проверьте, нет ли случайного
Disallow: /. - Соберите важные URL. Главная, категории, карточки, услуги, статьи, изображения и файлы, необходимые для рендеринга, должны быть доступны целевым роботам.
- Соберите мусорные пространства. Внутренний поиск, технические кабинеты, корзина, системные маршруты и бесконечные параметры оцениваются отдельно.
- Сопоставьте с индексом. Запрещённый путь, который уже виден в поиске, требует не нового Disallow, а плана удаления или каноникализации.
- Проверьте Sitemap. В файле должен быть абсолютный доступный URL актуальной карты сайта.
Одного просмотра файла недостаточно. Краулер показывает URL, обнаруженные через внутренние ссылки, но обязан соблюдать robots.txt и не всегда раскрывает содержимое закрытых страниц. Поэтому объедините краул с sitemap, логами, аналитикой и отчётами поисковых систем. Так становятся видны запрещённые, но всё ещё важные страницы и пространства, на которые сайт продолжает ссылаться.
Безопасные шаблоны для типовых сайтов
Для небольшого статического сайта часто достаточно разрешить обход и указать sitemap. Интернет-магазину обычно нужно отдельно исследовать корзину, аккаунт, результаты поиска и параметры фильтрации. У блога опасны архивы, метки и технические пагинации, если они создают дубли без самостоятельной ценности. Универсального списка запретов нет.
Файлы CSS и JavaScript, необходимые для понимания страницы, обычно должны оставаться доступными. Если робот получает только обрезанный HTML без стилей или данных рендеринга, оценка страницы может отличаться от пользовательской версии. Не закрывайте каталоги ресурсов только потому, что сами файлы не должны появляться как отдельные результаты поиска.
Параметры URL и Clean-param
Параметры создают комбинации сортировки, фильтров, меток кампаний и идентификаторов сессии. Сначала устраните источники мусора: не ставьте внутренние ссылки на трекинговые URL, используйте единый канонический адрес, нормализуйте параметры на сервере и возвращайте понятные ответы для пустых комбинаций.
Яндекс поддерживает Clean-param, который позволяет сообщить, что указанные параметры не меняют содержание. Директива требует точного понимания маршрута. Метка кампании обычно не меняет контент, а параметр категории или региона может менять его полностью. Перед добавлением составьте таблицу: параметр, примеры URL, влияние на содержимое, canonical, внутренние ссылки и ожидаемое поведение.
Для Google не переносите Clean-param как универсальное решение: ориентируйтесь на чистую архитектуру URL, canonical, редиректы и ссылки. В обоих поисковиках задача одна — не создавать противоречие, когда сайт одновременно объявляет URL важным в sitemap, ссылается на него и запрещает обход.
Проверка перед релизом
Работайте с копией файла и контрольным списком URL. Минимум должен включать по одному адресу каждого шаблона и все критичные посадочные. Проверяйте не только «запрещён ли мусор», но и «разрешена ли важная страница». Особенно опасны изменения общего префикса, правила с подстановками и перенос файла между CMS.
- Проверьте синтаксис в анализаторе robots.txt Яндекс Вебмастера.
- Прогоните контрольные URL для каждого значимого правила.
- Получите файл обычным HTTP-клиентом и подтвердите код 200, тип text/plain и UTF-8.
- Сравните старую и новую версии строка к строке.
- После публикации повторите проверки с production-адреса.
- Запустите ограниченный краул и убедитесь, что ключевые шаблоны доступны.
- Наблюдайте ошибки обхода и индексирование в панелях поисковых систем.
Частые ошибки
- Оставить
Disallow: /после закрытого тестового стенда. - Пытаться удалить URL из индекса, одновременно не разрешая роботу увидеть noindex.
- Закрыть CSS, JavaScript или изображения, необходимые для рендеринга.
- Указать относительный или недоступный Sitemap.
- Добавить в sitemap URL, запрещённые тем же robots.txt.
- Закрыть все параметры одной широкой маской без анализа их смысла.
- Использовать robots.txt вместо авторизации.
- Не проверять отдельные поддомены и протоколы.
Алгоритм безопасной настройки
Сначала сохраните текущую версию и список критичных URL. Затем определите пространства, которые действительно не нужно обходить, и устраните лишние внутренние ссылки на них. Соберите минимальный файл, проверьте конкретные адреса, опубликуйте в окно наблюдения и сразу повторите тест на production. Изменение считается завершённым только после контрольного краула и проверки поисковых панелей.
Соберите понятный robots.txt
Генератор SEOскопа помогает подготовить структуру файла. Перед публикацией обязательно проверьте правила на URL своего сайта.
Короткие ответы
Удаляет ли Disallow страницу из поиска?
Нет. Он управляет обходом. Для удаления доступной страницы робот должен увидеть noindex, либо сервер должен вернуть корректный статус удаления.
Нужно ли закрывать UTM?
Сначала уберите внутренние ссылки с метками и проверьте canonical. В Яндексе для параметров, не меняющих содержание, может применяться Clean-param.
Как проверить файл?
Проверьте синтаксис и набор реальных URL в инструментах поисковых систем, затем повторите тест после публикации.