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