Настройка robots.txt: правила Allow и Disallow, частые ошибки и способы проверки
Что robots.txt регулирует, а что нет
robots.txt — это обычный текстовый файл в корне сайта, который сообщает поисковым роботам, какие пути можно сканировать, а какие не стоит. Это джентльменское соглашение: законопослушные роботы (Googlebot, Bingbot) его соблюдают, а недобросовестные сборщики мусора файл вообще не читают.
Самое важное, что нужно понимать: robots.txt управляет сканированием, а не индексированием. Эти два понятия часто путают. Если вы закрыли путь через Disallow, Googlebot не будет сканировать страницы по этому пути, но если на эти URL ведут внешние ссылки, Google всё равно узнает об их существовании и покажет сам URL в результатах поиска — без заголовка, без описания, без сниппета, просто голую ссылку.
| Заблуждение | Реальность | Последствия |
|---|---|---|
| После Disallow страница не появится в выдаче | URL со внешними ссылками всё равно появится в выдаче | Голый URL без заголовка и описания |
| robots.txt может запретить индексирование страницы | Нет, для этого нужен noindex | Страница всё равно появится в результатах поиска |
| robots.txt скроет сайт от конкурентов | Любой может открыть /robots.txt | Это открытая информация |
| Чем больше правил в robots.txt, тем лучше | Одна ошибка — и сайт исчезнет из выдачи | Конфигурация должна быть минимальной |
| robots.txt защитит важные страницы | Это джентльменское соглашение, вредоносные роботы его не соблюдают | Важные страницы нужно защищать паролем |
Связь с другими SEO-модулями: robots.txt — это Google SEO самый нижний уровень технической базы, он работает вместе с оптимизацией XML Sitemap— укажите адрес Sitemap в конце robots.txt, и Google найдёт его через robots.txt. И Чек-лист технического SEO-аудита с robots.txt: это первая проверка в квадранте сканирования.
II. Синтаксис правил: User-agent, Disallow, Allow, Sitemap
Синтаксис robots.txt прост — четыре основные директивы. Но простота не значит, что ошибиться невозможно: одно направление слэша или позиция звёздочки меняет смысл правила.
| Директива | Пример формулировки | Что даёт | На что обратить внимание |
|---|---|---|---|
| User-agent | User-agent: * | Указывает, на какого робота действует правило | * означает всех роботов, должен стоять первой строкой в группе правил |
| Disallow | Disallow: /admin/ | Запрещает сканирование всех страниц по этому пути | Слэш в конце означает всю директорию |
| Allow | Allow: /admin/public/ | Разрешает сканирование подпутей, перекрытых родительским Disallow | Для точечного перекрытия, поддерживается не всеми роботами |
| Sitemap | Sitemap: https://… | Указывает расположение Sitemap | Ставится в конце файла, вне группы правил |
| Символ подстановки * | Disallow: /*?sort= | Соответствует любой последовательности символов | Для блокировки URL с параметрами |
| Символ $ в конце | Disallow: /test.html$ | Точное совпадение с URL, оканчивающимся на эту строку | Для точной блокировки отдельного файла |
Как должен выглядеть robots.txt стандартного B2B-сайта? В основе — ключевая конфигурация: начинается с User-agent: *, Disallow блокирует функциональные пути admin, cart, checkout, блокирует URL фильтров и сортировки с параметрами, в конце указывается расположение Sitemap. Для страниц товаров, статей и категорий правила не пишутся — по умолчанию сканирование разрешено.
Пример первый: на B2B-сайте электронной коммерции в robots.txt было прописано Disallow: /products/, чтобы заблокировать сканирование страниц пагинации списка товаров, но в итоге заблокировались все страницы товаров. Через три недели выяснилось, что при поиске бренда в Google в выдаче отображаются только главная страница и страница «О нас», а все страницы товаров исчезли. Как исправить: заменить правило на Disallow: /products/?page=, чтобы блокировать только URL с параметром пагинации, но не сам /products/. Перед публикацией проверить каждое правило через инструмент проверки robots в GSC.
III. Две фатальные ошибки: блокировка всего сайта и неверный инструмент
Ошибки в robots.txt бывают разными, но две из них фатальны: стоит их допустить — и весь сайт исчезает из результатов поиска.
| Тип ошибки | Симптом | Сигналы обнаружения | Как исправить | Время восстановления |
|---|---|---|---|---|
| Disallow: / — блокировка всего сайта | Google не сканирует ни одной страницы | В отчёте «Покрытие» GSC резко растёт «Просканировано, но не проиндексировано» по всему сайту | Удалить Disallow: /, оставить необходимые правила | Повторное сканирование через 1–3 дня, восстановление позиций через 1–2 недели |
| Блокировка индексации через robots.txt | Страница появляется в выдаче без заголовка | В выдаче отображается голый URL без сниппета | Перейти на метатег noindex | Исчезновение из выдачи через 2–4 недели |
| Ошибка в пути правила | Что нужно было заблокировать — не заблокировано, что нужно было разрешить — заблокировано | Аномалии в статистике сканирования GSC | Проверить каждое правило через инструмент проверки | Вступает в силу сразу после изменения |
| Забыли указать Sitemap | Google медленнее находит Sitemap | В отчёте Sitemap в GSC отображается «Не отправлен» | Добавьте в конец robots.txt директиву Sitemap: | Обнаруживается при следующем сканировании |
Контринтуитивный момент: многие думают, что если страница не должна попадать в поиск, достаточно прописать Disallow. Это ошибка. Disallow лишь запрещает Google скачивать содержимое, но Google всё равно знает, что такой URL существует — из внешних ссылок, из Sitemap, из истории обходов. В результате в выдаче появляется голый URL без заголовка, описания и сниппета, а при клике пользователь видит 403 или пустую страницу. Впечатление ужасное, и показ потрачен впустую.
Правильный подход: если страница не должна попадать в индекс, добавьте на неё мета-тег noindex (<meta name=”robots” content=”noindex”>) и не закрывайте её в robots.txt — ведь noindex сработает только тогда, когда Google сможет скачать страницу. Если вы и запретили её через Disallow, и добавили noindex, Google не скачает страницу, не увидит тег noindex, не проиндексирует и не исключит её — в итоге ни то, ни другое не сработает.
Пример второй: страница скачивания коммерческого предложения на B2B-сайте (/pricing/quote-request/) не должна индексироваться, потому что это форма, а не страница под ключевые запросы. Команда маркетинга прописала Disallow: /pricing/quote-request/. Через три месяца этот URL появился в выдаче — по запросу «quote request» отображался голый URL без заголовка. Причина: на страницу ссылались несколько отраслевых каталогов. Как исправить: удалите строку Disallow из robots.txt и добавьте в head страницы мета-тег noindex. Через две недели URL исчез из выдачи.
Четыре. Как тестировать и выводить в продакшен
robots.txt вступает в силу сразу после правки — периода кэширования нет, Google прочитает новую версию при следующем визите. Значит, ошибка даст о себе знать немедленно. Поэтому каждое изменение нужно проверять.
| Шаг | Действие | Инструмент | Критерий прохождения |
|---|---|---|---|
| 1. Правка локально | Измените содержимое robots.txt | Текстовый редактор | Синтаксис корректен, лишних пробелов нет |
| 2. Проверка в браузере | Откройте https://домен/robots.txt напрямую | Браузер | Код ответа 200, содержимое — обычный текст |
| 3. Проверка в инструменте GSC | Введите нужный URL и проверьте, разрешён ли он | Инструмент проверки robots в GSC | Все важные страницы — Allow |
| 4. Мониторинг после запуска | Следите за статистикой обхода и отчётом о покрытии в GSC | GSC | Объём обхода не падает аномально |
| 5. Повторная проверка после редизайна | После каждого редизайна проверяйте robots.txt заново | GSC + браузер | Новые пути не заблокированы по ошибке |
Чек-лист: после каждой правки robots.txt проверяйте как минимум 5 URL: главную (/), список товаров, карточку товара, статью в блоге и страницу контактов. Убедитесь, что все 5 в статусе Allow. Если хотя бы один показывает Disallow, значит правило написано с ошибкой. Самая частая ошибка — пропущенный пробел после Disallow: / или Disallow: /products вместо Disallow: /products/, когда на самом деле нужно закрыть подкаталог /products/spec/.
и Реструктуризация сайта и смена домена Связь с переносом домена: при смене домена в robots.txt старого домена нельзя ставить Disallow на весь сайт — ведь 301-редиректы на старом домене должны обходить Googlebot, чтобы передать вес. Если в robots.txt старого домена стоит Disallow: /, Google не обходит старые страницы и не видит 301-инструкции — передача веса обрывается. Правильно: в robots.txt старого домена оставить обход разрешённым и закрыть только служебные пути вроде admin.
FAQ: частые вопросы
Чем robots.txt отличается от noindex?
Что означает Disallow: / и чем это опасно?
Как проверить, правильно ли написан robots.txt?
Может ли robots.txt защитить важные страницы от конкурентов?
Как настроить robots.txt старого домена после смены домена?
Когда нужна директива Allow?
В заключение
robots.txt — самый маленький файл в SEO, который чаще всего приводит к крупным авариям. В нём всего несколько строк, но одна ошибка в слэше — и сайт исчезает из поиска, а восстановление занимает одну-две недели. Запомните два главных принципа: robots.txt управляет сканированием, а не индексацией, поэтому для запрета индексации используйте noindex; после правок обязательно проверяйте файл через инструмент в GSC.
Три шага к внедрению: на этой неделе откройте свой robots.txt в браузере и сверьте его с эталонной конфигурацией из статьи — нет ли там Disallow: / или слишком широких запретов; на следующей неделе проверьте через инструмент проверки robots.txt в GSC, что все важные страницы разрешены, и добавьте в конец файла объявление Sitemap; после этого при каждом редизайне или изменении структуры URL сразу перепроверяйте robots.txt и убеждайтесь, что новые пути не заблокированы по ошибке.
Запомните одну фразу: robots.txt — это записка об отпуске для Google, а не замок на двери. Перестараетесь — и запрёте себя снаружи; страницы, которые нужно спрятать, закрывайте через noindex, а не через Disallow.
