Индексация
Ошибки robots.txt: правила, которые выглядят рабочими и не работают
robots.txt говорит поисковому роботу, куда ходить не нужно. Файл маленький, ошибиться в нём легко, а проверить трудно: неправильное правило не даёт ни ошибки, ни предупреждения. Оно просто не срабатывает, и узнают об этом через месяцы.
Что мы измерили
Мы скачали robots.txt у 133 сайтов и разобрали 123 файла той же логикой, которой пользуется наш аудит. Файл нашёлся у 94 процентов сайтов.
Главная новость хорошая: сайтов, закрытых от поиска целиком, в корпусе не нашлось ни одного. Классический ужас про забытый после разработки Disallow слеш существует, но встречается заметно реже, чем о нём пишут. У 12 сайтов такая строка в файле есть, но относится она к чужим ботам вроде сборщиков ссылочных баз, и это осознанное решение, а не авария.
| Что нашли в файле | Сайтов из 123 |
|---|---|
| Устаревшая директива Host | 48 (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 запрещает обход адресов, начинающихся с указанного куска, Allow разрешает. Sitemap указывает полный адрес карты сайта, и эту строку читают обе панели, поэтому её ставят всегда.
Как закрыть страницу или раздел: добавить строку Disallow: /razdel, и под правило попадут все адреса, которые с него начинаются. Звёздочка заменяет любой кусок: Disallow: /*?sort= закроет сортировки каталога в любом разделе.
Чего этот файл не делает: он не убирает страницу из поиска. Уже попавший в базу адрес закрытие в robots.txt не удаляет, а иногда мешает удалению, потому что робот перестаёт видеть ваш же запрет через мета-тег. Для удаления нужен noindex на самой странице, и она должна остаться открытой для обхода.
Короткий понятный файл лучше длинного на сто строк. Всё, что действительно нельзя показывать, закрывается паролем, а не строчкой в текстовом файле, который открыт всему интернету.
Правило с HTML-экранированием
Самая обидная поломка из всех, потому что выглядит правило совершенно нормально. Файл выгружается из админки, амперсанд по дороге превращается в последовательность для HTML, и правило перестаёт совпадать хоть с чем-нибудь.
Три сайта из корпуса живут с такими правилами прямо сейчас. Все три на Битриксе, и во всех трёх закрывали версии страниц для печати, то есть ровно те дубли, из-за которых потом теряют позиции.
Закрытые скрипты и стили
Совет закрывать /wp-includes достался рунету из статей десятилетней давности, когда поисковики разметку не отрисовывали. Сейчас и Яндекс, и Google рисуют страницу целиком и хотят видеть её глазами посетителя. Закрытые стили и скрипты означают, что робот видит вместо вашего сайта голый текст без вёрстки.
В корпусе таких сайтов десять. Ещё раз: сайт при этом работает, в панели ошибок нет, и заметить это можно только сравнив то, что видит робот, с тем, что видит человек.
Директивы, которые больше ничего не делают
Host стоит у 48 сайтов из 123. Яндекс перестал её учитывать в 2018 году: главное зеркало теперь определяется переадресацией и canonical. Crawl-delay та же история, темп обхода настраивается в Вебмастере. Вреда от этих строк нет, польза нулевая, а место в голове они занимают: пока они в файле, кажется, что зеркало настроено.
Мы это пишем, потому что сами держали Host в своём robots.txt до августа 2026, пока не проверили собственный сайт своей же проверкой.
Как проверить свой файл
- Откройте https://ваш-сайт.ру/robots.txt. Он должен отдаваться с кодом 200 и как обычный текст, а не как страница с оформлением.
- В Яндекс Вебмастере есть Инструменты › Анализ robots.txt: вставьте туда список важных адресов сайта и посмотрите, разрешён ли обход каждого. Это единственный способ проверить не синтаксис, а смысл.
- Проверьте отдельно, что не закрыты папки со стилями, скриптами и картинками темы.
- Убедитесь, что в файле есть строка Sitemap с полным адресом карты.
- Удалите правила, о которых никто не помнит, зачем они. Если правило нельзя объяснить, оно не защищает, а прячет что-то нужное.
Что делаем мы
Разбираем файл построчно, убираем неработающее, открываем то, что робот обязан видеть, и сверяем с картой сайта. Входит в пакет «Исправить SEO-ошибки», на WordPress 10 000 ₽ – 18 000 ₽.
Источники и нормы
Собственные цифры выше получены замерами Фиксометра. Определения, пороги и правила сверены с первичными документами:
- Яндекс Вебмастер: использование файла robots.txt. Требования Яндекса к расположению файла и поддерживаемым правилам.
- Google Search Central: introduction to robots.txt. Как Google читает robots.txt и в каких случаях файл нельзя использовать вместо noindex.
- RFC 9309: Robots Exclusion Protocol. Стандарт синтаксиса и сопоставления правил robots.txt.
Частые вопросы
Чем Disallow отличается от noindex?
Disallow запрещает роботу заходить на страницу. Noindex разрешает зайти и запрещает показывать её в поиске. Отсюда типовая ошибка: страницу закрывают в robots.txt и ставят на неё noindex одновременно. Робот не заходит, мета-тег не читает, и страница может остаться в выдаче с описанием из внешних ссылок.
Нужно ли закрывать служебные разделы WordPress?
Административную часть закрывать смысла мало: она и так требует входа по паролю. А вот закрывать /wp-includes целиком вредно: вместе с ним от робота прячутся скрипты и стили ядра, и поисковик видит страницу иначе, чем посетитель.
Работает ли директива Host?
Нет. Яндекс отказался от неё в 2018 году, главное зеркало определяется переадресацией и canonical. Строка в файле ничего не ломает, но и не делает ничего.
Что такое Clean-param?
Директива Яндекса: она говорит роботу, что параметр в адресе не меняет содержимое страницы, и адреса с ним и без него это одна страница. Полезна для меток вроде utm и для сортировок каталога. Google её не понимает, ему нужен canonical.
Нужен ли robots.txt вообще?
Его отсутствие означает «обходить можно всё» и само по себе не мешает индексации. Но ссылку на карту сайта класть некуда, а любая будущая настройка обхода начинается с этого файла, поэтому проще завести его сразу.
Проверьте свой сайт
Бесплатная проверка разберёт ваш robots.txt построчно, покажет правила, которые не работают, и сверит его с картой сайта: эти два файла отвечают за одно и то же и почти всегда расходятся друг с другом.