ООО «Ивент Хаб» · Москва · работаем по всей России
Пн—Пт, 10:00—19:00hello@gusi-lebedi.comРеквизиты
SEO

Robots.txt: создание, настройка и проверка правил сайта

Разбираем User-agent, Disallow, Allow, Sitemap и Clean-param. Показываем, как проверить файл и не закрыть нужные страницы и ресурсы.

Правила обхода сайта с фирменным гусем Гуси-Лебеди

Нужно закрыть технический раздел, но оставить статьи и товары доступными поиску. В «Гуси-Лебеди» начинаем работу с robots.txt со списка конкретных адресов: что робот должен обходить, а что ему не нужно загружать. Такой список понятнее универсального файла, скопированного с чужого сайта.

Robots.txt содержит правила для поисковых роботов. Он не защищает личные документы и не гарантирует удаление URL из поиска. Здесь показываем, где размещать файл, как читать директивы и как проверить их границы. Все примеры используют учебный домен example.com.

Для чего нужен robots.txt: обход, индексирование и доступ

Robots.txt задаёт правила обхода, индексация и доступ решают другие задачи
Robots.txt управляет обходом и не заменяет защиту доступа.

Робот обнаруживает URL, решает, можно ли его загрузить, получает содержимое и затем обрабатывает указания страницы. Это разные этапы. Если запретить загрузку, робот может не увидеть noindex, добавленный в HTML. При этом сам адрес может быть известен из ссылок.

Задача Подходящий механизм Чего недостаточно
Ограничить обход технических URL Продуманное правило robots.txt Просто убрать ссылку из меню
Исключить общедоступную страницу из поиска Доступный роботу noindex в HTML или HTTP-заголовке Закрыть URL в robots.txt и ждать чтения noindex
Защитить личный документ Авторизация и проверка прав на сервере Disallow с адресом документа
Перенести страницу Соответствующее перенаправление Запретить роботу старый адрес до чтения редиректа
Указать предпочтительную версию дубля Согласованная стратегия canonical, ссылок и параметров Случайный набор запретов

Яндекс прямо указывает, что ограниченные в robots.txt страницы могут оставаться в поиске, а для обработки noindex нужен доступ к странице. См. справку по использованию robots.txt. Это ключевой момент при разборе ситуации «закрыл, но URL всё ещё виден».

Как создать файл robots.txt и где его разместить

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

Обычный адрес файла - https://example.com/robots.txt. Важно именно содержимое публичного ответа, а не наличие файла в папке разработчика. CMS, плагин, reverse proxy или CDN могут формировать и кешировать другой ответ.

Проверьте нужные сочетания протокола, хоста и порта. Файл основного домена не следует считать общей настройкой всех поддоменов. У тестовой площадки, медиа-хранилища и мобильного поддомена могут быть собственные правила. Область действия и формат описаны в инструкции Google.

Ответ должен быть ожидаемым текстом, а не HTML-страницей входа, сообщением антибота или ошибкой шаблона с HTTP 200. Проверяйте код ответа, редиректы, кодировку и фактические строки. Ошибка загрузки robots.txt и отсутствие файла - разные состояния; обработка зависит от поисковика и HTTP-статуса.

Создайте обычный текстовый файл robots.txt в кодировке UTF-8 и убедитесь, что редактор не добавил второе расширение .txt. Опубликуйте его в корне нужного сайта. В CMS файл может формироваться виртуально: сначала выясните, какой источник отдаёт сервер, затем меняйте именно его. После сохранения откройте публичный адрес файла и сравните строки с подготовленной версией.

Как настроить User-agent, Disallow и Allow

User-agent выбирает робота, Disallow и Allow задают правила обхода
Проверьте, к какому роботу относятся правила Disallow и Allow.

User-agent выбирает группу правил для робота. Disallow ограничивает подходящие пути, Allow разрешает исключения. Пути чувствительны к регистру. Комментарий начинается с #. Держите каждое правило на отдельной строке и не превращайте файл в трудно проверяемую коллекцию исторических записей.

Учебный фрагмент закрывает технический раздел /internal/, но разрешает публичное руководство внутри него:

User-agent: *

Disallow: /internal/

Allow: /internal/public-guide/



Sitemap: https://example.com/sitemap.xml

Проверьте ожидаемую матрицу: /internal/report/ закрыт; /internal/public-guide/start/ открыт; /services/audit/ не затронут. Название internal условное: в реальном проекте сначала убедитесь, что в этом разделе нет важных страниц и ресурсов.

Более конкретное правило может перекрывать общее. Это не модель «последняя строка побеждает». В описании обработки Google отдельно разобраны выбор группы и приоритет совпавших путей. Для другого робота проверяйте его реализацию, особенно при нестандартных директивах.

Предположим, в общей группе закрыт /internal/, а ниже создана отдельная группа Googlebot только с запретом /drafts/. Нельзя считать, что она автоматически наследует все ограничения из User-agent: *. Для Google специфичная группа и общая группа не объединяются.

# Учебный пример неожиданного результата

User-agent: *

Disallow: /internal/



User-agent: Googlebot

Disallow: /drafts/

В таком примере Googlebot получает свою группу, где /internal/ не запрещён. Если нужны оба ограничения, включите оба в предназначенную ему группу. Но сначала спросите, зачем отдельная группа вообще нужна: часто одна общая группа проще и надёжнее.

Храните рядом с файлом список ожидаемых результатов по роботам. Один и тот же URL нужно проверить как минимум для тех поисковиков, на которые рассчитан проект. Синтаксически правильный файл может реализовывать неверную логику.

Правило /catalog и правило /catalog/ имеют разную область. Первое может затронуть /catalogue/ и /catalog-old/, потому что путь начинается с указанной последовательности. Второе ориентировано на раздел со слэшем. Ошибку легко не заметить, проверив только одну страницу.

В поддерживаемых правилах * обозначает произвольную последовательность, а $ - конец адреса. Поэтому запрет /*.pdf$ и запрет /*.pdf дают разные результаты для URL с параметрами. Эти конструкции не равны полноценным регулярным выражениям: не переносите в файл синтаксис из языка программирования.

Учебное правило Контрольный URL Ожидаемая проверка
Disallow: /catalog/ /catalog/item/ Совпадает
Disallow: /catalog/ /catalogue/ Не совпадает
Disallow: /*.pdf$ /files/brief.pdf Совпадает
Disallow: /*.pdf$ /files/brief.pdf?ref=mail Не совпадает с концом .pdf

Это примеры для понимания, а не рекомендация закрывать PDF. Документ может быть важной посадочной. Общие принципы протокола и ограничения описаны в RFC 9309; практическую совместимость сверяйте с документацией целевого робота.

Как работать с параметрами, Sitemap и ресурсами страницы

Параметры URL, Sitemap и ресурсы страницы в настройке обхода
Учитывайте параметры адресов, карту сайта и необходимые ресурсы страницы.

Учебный каталог использует ?brand=acme для выбора бренда и ?ref=partner для отметки источника. Первый параметр меняет содержание, второй - нет. Общее правило против всех URL с параметрами может закрыть полезные категории вместе с дублями.

В Яндексе Clean-param позволяет указать параметры, не влияющие на содержание. Например, для нашего условного каталога можно отдельно рассмотреть ref. Но исключать brand в таком примере нельзя: после его удаления пользователь получает другой набор товаров.

# Только если ref действительно не меняет содержание

Clean-param: ref /catalog/

До публикации сравните пары URL с параметром и без него: заголовок, основной контент, товары, цену, язык и регион. Сверьте настройки GET-параметров в Вебмастере, если они используются. Подробности - в справке Clean-param. Это расширение Яндекса; не считайте его общим решением для всех поисковиков.

Шаблон «закрыть всё служебное» может случайно запретить CSS, JavaScript и изображения, необходимые для понимания страницы. Название каталога assets или includes само по себе не говорит, что ресурсы бесполезны роботу.

При работе с CMS проверьте фактические пути. Публичные изображения могут храниться рядом с административными файлами, а обработчик динамического блока - находиться в техническом каталоге. Копирование чужого robots.txt без проверки архитектуры опасно именно такими совпадениями.

Не размещайте конфиденциальные адреса в надежде, что запрет их скроет. Сам robots.txt общедоступен. Безопасность обеспечивается проверкой прав, а управление обходом - отдельной задачей.

Директива Sitemap сообщает полный адрес карты сайта. Она не отменяет Disallow и не гарантирует включение URL в поиск. В примере выше карта находится по https://example.com/sitemap.xml; на своём сайте указывайте фактический адрес доступного файла с актуальными страницами.

Как проверить robots.txt и отдельные URL

Проверка доступности файла, робота и отдельного URL
Проверьте файл и действие правил для конкретного URL.

Создайте контрольный набор: главная, услуга, статья, категория, товар, картинка, CSS, JavaScript, технический URL, параметризованный дубль и исключение Allow. Для каждого запишите ожидаемое решение и робота.

Аудит правил индексации сайта должен проверять примеры разрешённых и запрещённых адресов, включая ресурсы страницы. Одна строка robots.txt может затронуть больше разделов, чем предполагал автор.

Проверьте не только адреса, которые должны закрыться, но и соседние, которые должны остаться доступными. Для запрета /search/ добавьте /research/ и /search-guide/; для исключения /internal/public-guide/ - соседний закрытый документ. Так проверяется граница правила.

  1. Сохранить предыдущую версию и цель изменения.
  2. Проверить правила доступным валидатором для нужного робота.
  3. Опубликовать минимальное изменение.
  4. Прочитать публичный /robots.txt заново и сравнить содержимое.
  5. Проверить контрольные URL и отсутствие случайных запретов важных ресурсов.
  6. После обновления данных робота проверить диагностику и обход.

Не выдавайте мгновенное открытие файла в браузере за подтверждение, что все роботы уже применили изменения. У них есть собственное кеширование и расписание обращений. Сохранённый результат проверки должен содержать дату, URL, робота и ожидаемое поведение.

Для Яндекса откройте «Инструменты» → «Анализ robots.txt» в Вебмастере. Изучите результаты обработки правил и вкладку ошибок. В блоке «Доступ к страницам» добавьте контрольные URL и запустите проверку. Если проверяете подготовленные правки, сравните этот текст с публичным файлом после публикации: правка в поле анализатора сама по себе не изменяет сервер. Порядок описан в справке анализатора Яндекса.

Что делать при ошибках и как принимать изменения

Причина ошибки, изменение и повторная проверка robots.txt
После изменения повторите проверку и убедитесь, что причина устранена.

Раздел исчезает после релиза. Проверьте публичные правила, noindex и заголовки, выбранный canonical, статусы и редиректы. Не меняйте robots.txt наугад: причина может находиться в другом слое.

Если правила генерирует CMS или окружение, передайте исправление в техническое обслуживание сайта вместе с проверкой после релиза. Иначе следующий деплой может восстановить старый запрет.

Закрытый URL всё ещё виден. Определите задачу удаления из поиска, обеспечьте возможность прочитать нужное указание и проверьте фактическую обработку. Для срочного скрытия могут существовать отдельные инструменты поисковика, но они не заменяют постоянное корректное состояние страницы.

Изменение файла не видно. Проверьте кеш CDN, виртуальную генерацию CMS и правильный хост. Возможно, редактируется физический файл, который сервер вообще не отдаёт.

Робот продолжает обращаться. Убедитесь, что это нужный робот, а не клиент с похожим User-Agent. Правила добровольного протокола не являются сетевой блокировкой. Не делайте вывод об игнорировании по одной строке журнала без времени и контекста.

Разделяйте правила обхода и проверку индексирования. При переносе используйте план миграции сайта, а список актуальных адресов сверяйте через проверку Sitemap.

Надёжный robots.txt - небольшой понятный набор правил с проверенными границами. Критерий качества - доступность нужных страниц и ожидаемое поведение на контрольных URL, а не количество директив.

Мы передаём не только файл, но и цель изменения, проверенные адреса, ожидаемые ответы для нужных роботов и предыдущую версию. Если меняются шаблоны или структура, повторите эту проверку: сохранённые правила должны соответствовать текущему сайту. Сверьте их также с выбранными каноническими адресами, чтобы настройки не противоречили друг другу.

Начать проект

Обсудим вашу задачу

Ответим в течение рабочего дня. Можно без технического задания — достаточно цели и вводных.

Заполнить короткий бриф ↗
Навигация по экспертизе

Ещё направления для вашего проекта

Все 86 услуг →