О Обходчик
← Блог

Как проверить robots.txt и не закрыть сайт от поиска

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

Руслан Хуснутдинов, основатель Обходчика около 7 мин чтения

Чтобы проверить robots.txt, откройте адрес ваш-сайт/robots.txt в браузере и найдите строку Disallow: / в блоке User-agent: *. Если она есть и после неё нет разрешающих правил, сайт закрыт от обхода целиком. Дальше убедитесь, что файл отдаётся с кодом 200 и что важные страницы не попадают ни под одно запрещающее правило.

Проблема это не всегда. Закрытая админка, корзина и страницы поиска по сайту — нормальная практика. Опасно, когда запрет остался после переезда или запуска с тестовой версии, либо когда правило шире, чем задумывалось. Тогда сайт тихо пропадает из поиска, при этом открывается и работает как обычно. Обычный мониторинг доступности этого не заметит: страница отвечает 200, а поисковый робот на неё не заходит.

Что на самом деле делает robots.txt

Это текстовый файл в корне сайта, в котором владелец просит поисковых роботов не заходить на часть адресов. Формат описан в RFC 9309.

Ключевые слова файла:

  • User-agent — для какого робота действуют правила. Звёздочка означает всех.
  • Disallow — путь, на который роботу ходить не нужно.
  • Allow — исключение из запрета.
  • Sitemap — адрес карты сайта. В самом RFC этой строки нет, но Яндекс её поддерживает.

Важно понимать границы. Файл — просьба, а не защита: добросовестные роботы поисковиков ей следуют, но приватные данные он не прячет. И он управляет обходом, а не индексацией: об этом отдельный раздел ниже.

Когда robots.txt — проблема, а когда нет

Что вы видите Это проблема? Что делать
Disallow: /admin/, Disallow: /cart/ Нет Оставить: служебные разделы поиску не нужны
Disallow: / для User-agent: * Да, если сайт боевой Убрать правило, проверить результат
Файла нет, адрес отдаёт 404 Нет Робот может обходить всё. Но добавить файл с картой сайта полезно
Адрес /robots.txt отдаёт 5xx Да Чинить сервер: по RFC 9309 при такой ошибке робот должен считать, что обход запрещён целиком
Закрыты папки со стилями и скриптами Скорее да Открыть, если нет веской причины их прятать
Пустой Disallow: Нет Пустое значение ничего не запрещает

Про коды ответа RFC 9309 говорит так. Если файл недоступен из-за ошибки 4xx, робот «may access any resources on the server», то есть может обходить сайт без ограничений. Если файл недостижим из-за ошибки сервера или сети (5xx), он должен «assume complete disallow». Подробности — в разделе 2.3 стандарта.

Как проверить файл по шагам

  1. Откройте https://ваш-сайт/robots.txt в браузере. Вы должны увидеть обычный текст, а не страницу сайта с вёрсткой и не ошибку.
  2. Проверьте код ответа. Нужен 200: так требует и справка Яндекса. Если вместо файла редирект на главную, поисковик получит не правила, а HTML-страницу. Цепочки переходов видны в проверке редиректов.
  3. Найдите блок User-agent: * и отдельные блоки для конкретных роботов, например Yandex или Googlebot. Если для робота есть свой блок, общий применяется только при его отсутствии: по RFC * служит запасным вариантом. Поэтому закрытый общий блок при открытом блоке для Яндекса даёт разный результат у разных поисковиков.
  4. Ищите Disallow: / без продолжения. Это запрет всего сайта.
  5. Возьмите 5–10 важных адресов: главную, категории, карточки товаров или услуг, статьи. Сверьте каждый с правилами Disallow вручную или в инструменте проверки.
  6. Проверьте строку Sitemap:. Адрес должен быть полным, с https://, и открываться.
  7. Посмотрите, что показывают сами поисковики. У Google правила описаны в руководстве по robots.txt, у Яндекса — в справке Вебмастера.

Частые ошибки и что с ними делать

Остался запрет со времён разработки. Сайт готовили на тестовом адресе с Disallow: /, а при запуске файл перенесли вместе с остальным. Правило надо убрать, а файл перепроверить сразу после выкладки.

Правило шире, чем нужно. Правила работают по префиксу, поэтому Disallow: /catalog закрывает не только раздел /catalog/, но и всё, что начинается с этих символов, например /catalog-new/ или /catalogue. Если нужен только раздел, пишите Disallow: /catalog/.

Путаница с регистром. Google прямо пишет: «Rules are case-sensitive». Значит, /Admin/ и /admin/ — разные адреса.

Закрыты стили, скрипты и картинки. Такие ресурсы обычно лучше не блокировать: роботу сложнее оценить, как страница выглядит для посетителя.

Звёздочка и знак доллара. * заменяет любую последовательность символов, $ означает конец адреса. Например, Disallow: /*.pdf$ закрывает файлы PDF. Такие правила легко написать с ошибкой, поэтому после каждого изменения проверяйте результат на реальных адресах.

Разные файлы на разных адресах. По документации Google, файл действует только для того протокола, домена и порта, где он размещён, поддомены считаются отдельными. У www.site.ru и site.ru файлы могут отличаться. Если вы настраивали переезд на новый домен, проверьте файл на новом адресе отдельно.

Почему Disallow не убирает страницу из поиска

Частое заблуждение: закрою страницу в robots.txt, и она пропадёт из выдачи. Это не так. Google пишет, что файл не предназначен для скрытия страниц: запрещённый адрес могут найти и проиндексировать, если на него ведут ссылки с других сайтов. Яндекс говорит то же: страницы, ограниченные в robots.txt, могут участвовать в поиске. Для исключения из индекса служит метатег или заголовок noindex.

Есть и обратная ловушка. Чтобы робот увидел noindex, он должен открыть страницу. Google формулирует это так: если нужно, чтобы правила индексации соблюдались, адреса с этими правилами нельзя закрывать от обхода. Выбирайте одно из двух: либо закрыть обход, либо убрать из индекса, но не оба способа сразу на одной странице.

Для бизнеса отсюда два вывода. Страницы с личными данными клиентов и заказами нужно защищать авторизацией, а не строкой в файле. А чтобы вывести из выдачи лишнюю страницу, нужен noindex и доступ робота к ней.

Как не закрыть сайт случайно

Большинство бед случается в момент изменений: запуск, переезд, смена CMS, правка в админке, обновление плагина. Несколько привычек снижают риск:

  • Храните актуальную копию рабочего robots.txt рядом с проектом и сверяйтесь с ней после выкладки.
  • Для тестовых версий закрывайте доступ паролем, а не файлом: так запрет не уедет на боевой сайт.
  • После любого релиза открывайте /robots.txt и 3–4 ключевые страницы. Это занимает минуту.
  • Настройте автоматическую проверку: она сообщит об изменении файла раньше, чем упадёт трафик.
  • Добавьте файл в регулярный список работ с сайтом клиента: это один из пунктов ежемесячного чек-листа.

Если трафик из поиска уже просел, не начинайте с robots.txt и не останавливайтесь на нём. Причин у такого падения несколько, порядок проверки разобран в статье «Сайт пропал из поиска Яндекса». Если же страницы отвечают ошибкой, а не закрыты правилом, смотрите разбор ошибки 404.

Как проверить robots.txt прямо сейчас

Быстрый способ проверить robots.txt онлайн — проверка файла в Обходчике. Введите адрес сайта, и сервис покажет, отдаётся ли файл, какие в нём правила и нет ли запрета на весь сайт. Регистрация не нужна.

Следом проверьте карту сайта: адрес из строки Sitemap: должен открываться, а страницы из неё не должны попадать под Disallow. Если карта перечисляет закрытые адреса, поисковики получают противоречивые сигналы.

Проверить у себя

Бесплатно и без регистрации, по одному домену.

← Другие разборы в блоге