Блог
Robots.txt: что это за файл и почему за ним нужно следить

Robots.txt: что это за файл и почему за ним нужно следить

Robots.txt — небольшой текстовый файл в корне сайта, который управляет поведением поисковых роботов при обходе. Ошибка в одной директиве способна как открыть служебные разделы, так и полностью закрыть сайт от индексации.

Robots.txt — служебный текстовый документ в корне домена, который задаёт поисковым роботам правила обхода. Для технического SEO специалиста это управляемый параметр: одна неверная строка способна открыть служебные разделы или полностью закрыть сайт от обхода. Ниже — практический разбор синтаксиса, кодов ответа, типичных сбоев и способов контроля.

Назначение файла и его расположение

Файл реализует протокол исключений для роботов и всегда доступен по адресу https://вашсайт.ru/robots.txt. Документ публичен: его может прочитать любой пользователь. Поэтому robots.txt не является средством защиты данных — он управляет только обходом.

Нужно разделять обход и индексацию. Директива Disallow запрещает роботу загружать страницу, но не гарантирует исключение URL из индекса. Если на закрытый адрес ведут внешние ссылки, поисковая система может проиндексировать его без содержимого. Для исключения из выдачи применяются метатег noindex или HTTP-заголовок X-Robots-Tag.

Файл также помогает указать карту сайта и снизить нагрузку на сервер, но не заменяет настройки канонизации, редиректов и качества контента.

Синтаксис и правила разбора

Документ состоит из групп правил. Каждая группа начинается с User-agent, затем идут директивы Disallow, Allow, Sitemap и Crawl-delay. Строки после # считаются комментариями. Пути чувствительны к регистру. Для шаблонов поддерживаются символы * и $.

  • User-agent — задаёт робота. * означает всех роботов; конкретное имя выделяет отдельную группу.
  • Disallow — запрещает обход пути. Disallow: / закрывает весь сайт.
  • Allow — разрешает путь, даже если родительский каталог закрыт. При конфликте обычно применяется более длинное совпадение.
  • Sitemap — указывает абсолютный URL XML-карты сайта и ускоряет обнаружение страниц.
  • Crawl-delay — задаёт задержку между запросами. Поддерживается не всеми роботами, поэтому не является универсальным инструментом.

Если для одного робота описано несколько групп, правила могут объединяться. Пустой Disallow: означает «разрешено всё». Наличие BOM, неверная кодировка или обрыв файла приводят к разной интерпретации: часть роботов проигнорирует ошибку, часть применит консервативную стратегию.

Коды ответа и поведение роботов

При коде 200 файл парсится. При 404 робот может считать, что ограничений нет. При 5xx обход может быть временно ограничен. Цепочки 3xx обрабатываются с лимитом переходов. Поэтому контроль кода ответа так же важен, как и контроль содержимого.

Примеры конфигураций

Открытый сайт

User-agent: *
Disallow:

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

Интернет-магазин

User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /search?
Disallow: /api/
Allow: /api/public/

Sitemap: https://shop.example.ru/sitemap.xml

Полная блокировка

User-agent: *
Disallow: /

Такая конфигурация полностью запрещает обход. Если она попала в production случайно, поисковые системы могут перестать обходить сайт в течение нескольких часов или дней.

Типичные сбои

  1. Блокировка после миграции. В production попадает файл с настройками тестового окружения.
  2. Забытый запрет раздела. Временное правило остаётся после релиза и закрывает прибыльный каталог.
  3. Повреждение файла. BOM, неверная кодировка или обрыв строки вызывают неоднозначный парсинг.
  4. Конфликт Allow и Disallow. Противоречивые правила дают разный результат в разных роботах.
  5. Закрытие ресурсов. Запрет CSS, JS или изображений ухудшает рендеринг и оценку страницы.

Регулярный контроль и реакция на изменения

Изменение robots.txt может дать эффект уже через несколько часов. Роботы перечитывают файл регулярно, а при активном обходе — чаще. При этом файл меняется незаметно: через CMS, плагин, ошибку деплоя или ручную правку. Узнать об изменении можно только по падению трафика, если не настроен контроль.

Регулярное наблюдение за работоспособностью сайта в контексте robots.txt включает проверку кода ответа, кодировки и истории версий. Базовый мониторинг работоспособности сайта должен автоматически определять директиву Disallow: / для всех роботов и сохранять diff между версиями. Ручная проверка работоспособности сайта после релиза помогает заметить случайную блокировку до обхода робота.

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

Чеклист контроля

  • Файл доступен по адресу /robots.txt и отдаёт код 200.
  • Нет глобального Disallow: /.
  • Закрыты служебные разделы: /admin/, /api/, /cart/, /checkout/.
  • Открыты продуктовые и контентные страницы.
  • Указан корректный абсолютный Sitemap.
  • Файл сохранён в UTF-8 без BOM.
  • Настроены уведомления об изменениях и сохранение истории версий.
  • После каждого деплоя robots.txt сверяется с эталонной версией.

Итог

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