Индексация

Ошибки robots.txt: правила, которые выглядят рабочими и не работают

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

Без регистрации и доступов к сайту. Замер занимает около минуты.

Что мы измерили

Мы скачали robots.txt у 133 сайтов и разобрали 123 файла той же логикой, которой пользуется наш аудит. Файл нашёлся у 94 процентов сайтов.

Главная новость хорошая: сайтов, закрытых от поиска целиком, в корпусе не нашлось ни одного. Классический ужас про забытый после разработки Disallow слеш существует, но встречается заметно реже, чем о нём пишут. У 12 сайтов такая строка в файле есть, но относится она к чужим ботам вроде сборщиков ссылочных баз, и это осознанное решение, а не авария.

Что нашли в файлеСайтов из 123
Устаревшая директива Host48 (39%)
Директива Clean-param для Яндекса52
Закрыт /wp-includes без исключения для скриптов и стилей10
Нет ссылки на карту сайта9
Crawl-delay, который Яндекс больше не учитывает10
Правило с HTML-экранированием, не работает никогда3
Весь сайт закрыт от Яндекса или от всех роботов0

Итог: хотя бы одно замечание есть у 21 файлов из 123, это 17 процентов. Медианный файл занимает 1417 байт, самый длинный 11408, и вот с длиной как раз связана большая часть бед: строки копятся годами, никто не помнит, зачем добавили половину из них, и проверить их нечем.

Файлы скачаны в августе 2026 и разобраны той же функцией, что работает в аудите. Выборка не случайная: это сайты, которые проверяли мы, в основном малый и средний бизнес на WordPress и Битриксе. Цифры описывают этот корпус, а не весь рунет.

Как выглядит правильный robots.txt

User-agent: * Disallow: /cart Disallow: /checkout Disallow: /*?s= Allow: / Sitemap: https://example.com/sitemap.xml

Разбор построчно. User-agent: * означает «дальше правила для всех роботов». Disallow запрещает обход адресов, начинающихся с указанного куска, Allow разрешает. Sitemap указывает полный адрес карты сайта, и эту строку читают обе панели, поэтому её ставят всегда.

Как закрыть страницу или раздел: добавить строку Disallow: /razdel, и под правило попадут все адреса, которые с него начинаются. Звёздочка заменяет любой кусок: Disallow: /*?sort= закроет сортировки каталога в любом разделе.

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

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

Правило с HTML-экранированием

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

# не работает: амперсанд записан как HTML-мнемоника Disallow: /*&print= # работает Disallow: /*&print=

Три сайта из корпуса живут с такими правилами прямо сейчас. Все три на Битриксе, и во всех трёх закрывали версии страниц для печати, то есть ровно те дубли, из-за которых потом теряют позиции.

Закрытые скрипты и стили

Совет закрывать /wp-includes достался рунету из статей десятилетней давности, когда поисковики разметку не отрисовывали. Сейчас и Яндекс, и Google рисуют страницу целиком и хотят видеть её глазами посетителя. Закрытые стили и скрипты означают, что робот видит вместо вашего сайта голый текст без вёрстки.

# так робот не видит вёрстку Disallow: /wp-includes # так закрыто лишнее, но стили и скрипты доступны Disallow: /wp-includes Allow: /wp-includes/*.js Allow: /wp-includes/*.css

В корпусе таких сайтов десять. Ещё раз: сайт при этом работает, в панели ошибок нет, и заметить это можно только сравнив то, что видит робот, с тем, что видит человек.

Директивы, которые больше ничего не делают

Host стоит у 48 сайтов из 123. Яндекс перестал её учитывать в 2018 году: главное зеркало теперь определяется переадресацией и canonical. Crawl-delay та же история, темп обхода настраивается в Вебмастере. Вреда от этих строк нет, польза нулевая, а место в голове они занимают: пока они в файле, кажется, что зеркало настроено.

Мы это пишем, потому что сами держали Host в своём robots.txt до августа 2026, пока не проверили собственный сайт своей же проверкой.

Как проверить свой файл

  • Откройте https://ваш-сайт.ру/robots.txt. Он должен отдаваться с кодом 200 и как обычный текст, а не как страница с оформлением.
  • В Яндекс Вебмастере есть Инструменты › Анализ robots.txt: вставьте туда список важных адресов сайта и посмотрите, разрешён ли обход каждого. Это единственный способ проверить не синтаксис, а смысл.
  • Проверьте отдельно, что не закрыты папки со стилями, скриптами и картинками темы.
  • Убедитесь, что в файле есть строка Sitemap с полным адресом карты.
  • Удалите правила, о которых никто не помнит, зачем они. Если правило нельзя объяснить, оно не защищает, а прячет что-то нужное.

Что делаем мы

Разбираем файл построчно, убираем неработающее, открываем то, что робот обязан видеть, и сверяем с картой сайта. Входит в пакет «Исправить SEO-ошибки», на WordPress 10 000 ₽ – 18 000 ₽.

Источники и нормы

Собственные цифры выше получены замерами Фиксометра. Определения, пороги и правила сверены с первичными документами:

Частые вопросы

Чем Disallow отличается от noindex?

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

Нужно ли закрывать служебные разделы WordPress?

Административную часть закрывать смысла мало: она и так требует входа по паролю. А вот закрывать /wp-includes целиком вредно: вместе с ним от робота прячутся скрипты и стили ядра, и поисковик видит страницу иначе, чем посетитель.

Работает ли директива Host?

Нет. Яндекс отказался от неё в 2018 году, главное зеркало определяется переадресацией и canonical. Строка в файле ничего не ломает, но и не делает ничего.

Что такое Clean-param?

Директива Яндекса: она говорит роботу, что параметр в адресе не меняет содержимое страницы, и адреса с ним и без него это одна страница. Полезна для меток вроде utm и для сортировок каталога. Google её не понимает, ему нужен canonical.

Нужен ли robots.txt вообще?

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

Проверьте свой сайт

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

Без регистрации и доступов к сайту. Замер занимает около минуты.