Общий блок User-agent: * разрешает каталог, а отдельная группа Googlebot его закрывает. Проверка только общей группы даёт неверный ответ. При этом нельзя переносить интерпретацию одного поискового робота на другой без проверки документации и конкретного набора правил.
Выпишите группы каждого робота отдельно
Выпишите группы и пути для каждого нужного робота. Для Google учитывайте выбор наиболее подходящей группы и приоритет совпавших правил. Для Яндекса сверяйте результат в его актуальном инструменте проверки robots.txt; не считайте порядок строк универсальным приоритетом.
Google выбирает наиболее специфичную подходящую группу User-agent; порядок групп сам по себе не определяет приоритет. Официальная документация.
Предположим, общий блок разрешает /catalog/, а специальный Googlebot содержит Disallow: /catalog/. В этом случае чтение только User-agent: * создаёт ложное ожидание. Разнесите группы в таблицу, сохранив точные строки. Отдельно отметьте правила специализированных роботов, если они присутствуют. Не переносите политику Googlebot-Image или другого агента на обычный веб-поиск автоматически. Команде нужен ответ для конкретного обходчика и адреса, поэтому название агента входит в сценарий проверки так же, как путь и домен.
Сравните правила для одинаковых контрольных путей
Учебные сценарии в таблице задают ожидаемое поведение; фактические ответы своего сайта заносите отдельно.
| Сценарий | Отличие | Решение | Проверка |
|---|---|---|---|
| User-agent: * | Общая группа | Проверить обычный путь | Не считать единственной |
| User-agent: Googlebot | Специальная группа | Проверить каталог | Учитывать выбор группы |
| User-agent: YandexBot | Другая политика | Проверить в Вебмастере | Не переносить вывод Google |
| Allow и Disallow | Пересечение путей | Сравнить точность | Проверить конкретный URL |
Для каждой нужной группы проверьте /catalog/, /catalog/private/ и /news/. Добавьте путь с другим регистром, если сайт допускает такие адреса. Запишите, какая строка совпала, а не только итог «можно». Иначе после изменения одного правила нельзя объяснить результат. Для общего и специального блока ожидания могут намеренно отличаться. Если это связано с нагрузкой или назначением раздела, укажите владельца решения. Отсутствие объяснения означает задачу уточнения конфигурации, а не автоматическое разрешение обхода для всех.
Как Google выбирает группу и совпадение пути
Проверьте один разрешённый и один спорный путь для Googlebot, YandexBot и общей группы. Сохраните применяемую группу и конкретную строку, повлиявшую на результат, а не только итоговое слово «разрешено».
По документации Google выбор группы зависит от наиболее подходящего User-agent, а выбор совпавшего пути — от специфичности правил. Не считайте последнюю строку универсальным победителем. При равной точности пересечения Google учитывает разрешающее правило. Проверяйте это на конкретном контрольном URL, а не на визуальном порядке блоков файла. Если один агент указан в нескольких подходящих группах, проверьте правила объединения по актуальной документации Google. Результат такой проверки относится к его интерпретации и не является универсальной инструкцией для любого интернет-бота.
Что отдельно проверить для Яндекса
Учебный файл содержит общую группу и отдельные группы двух роботов. Проверяем /catalog/, /catalog/private/ и /news/. Таблица ожидаемых решений нужна до редактирования, чтобы исправление Googlebot случайно не поменяло политику Яндекса.
Для YandexBot используйте актуальную справку и проверку robots.txt в Яндекс Вебмастере. Эта статья не выводит поведение Яндекса из алгоритма Google. Сохраните собственный результат для того же пути и сравните его с намерением владельца. Если инструмент показывает другую интерпретацию, приложите файл и адрес к задаче диагностики. Не исправляйте различие удалением всех специальных групп. Оно может быть предусмотренной политикой. При недоступности инструмента отметьте, что проверено тело файла и намерение, но интерпретация Яндекса ещё не подтверждена.
Почему смена User-Agent запроса недостаточна
Разделите намеренно разные политики и случайный остаток старой конфигурации. Общие правила выносите осознанно, специальные группы оставляйте только при понятной необходимости; не удаляйте исключения по одному внешнему валидатору.
Запрос с заголовком User-Agent: Googlebot проверяет, что сервер отвечает такой строке. Он не заставляет curl или браузер применить robots.txt и не подтверждает, что запрос сделан настоящим поисковым роботом. Разделите тест серверного доступа и тест правил обхода. Если WAF различает агентов, это ещё одна самостоятельная политика, которую нужно диагностировать по журналам. Не выдавайте успешный 200 от подменённого запроса за полноценную проверку поискового обхода. Для настоящих обращений нужна предусмотренная проверка подлинности робота и доступные логи.
Уберите случайные исключения без слома политики
Подмена User-Agent в браузерном запросе не показывает применение robots.txt: сервер и робот решают разные задачи. Также Allow не обязан перекрывать любой Disallow независимо от точности пути.
У каждого спорного исключения найдите причину появления. Старый Disallow мог защищать перегруженный фильтр, а нынешняя полезная страница уже не требует такой политики. Исправляйте подтверждённое расхождение и проверяйте соседний закрытый путь. Слишком широкое Allow может открыть ненужные комбинации фильтров, хотя решается одна посадочная. После изменения сравните файл целиком с предыдущим, чтобы не потерять специальные Sitemap-строки или группы других роботов. Изменение порядка блоков само по себе не должно использоваться как предполагаемое исправление приоритета.
Приёмка нескольких роботов и хостов
Итоговая матрица содержит робота, origin, URL, применённую группу и ожидаемый результат. Отдельные поддомены и протоколы проверяйте по собственным robots, а не по файлу основной версии. Повторите запрос публичного файла после релиза, затем интерпретацию контрольных путей доступными инструментами. Если поисковик ещё использует старые правила, укажите дату его получения. Не смешивайте это со свежим ответом сервера. Приёмка должна показать, что специальные политики осознаны, публичные нужные страницы не закрыты случайно и служебные ограничения сохранились.
Критерии завершения проверки
Для каждого контрольного пути записан результат по нужному роботу и объяснение по выбранной группе. Специальные отличия подтверждены владельцем политики; случайных блокировок публичного каталога нет.
- *User-agent: : Не считать единственной. Зафиксируйте фактический результат и адрес проверенного сценария.
- User-agent: Googlebot: Учитывать выбор группы. Зафиксируйте фактический результат и адрес проверенного сценария.
- User-agent: YandexBot: Не переносить вывод Google. Зафиксируйте фактический результат и адрес проверенного сценария.
- Allow и Disallow: Проверить конкретный URL. Зафиксируйте фактический результат и адрес проверенного сценария.
Для смежных вопросов: Примеры robots.txt для разных CMS: WordPress, Bitrix, Joomla и 7 ошибок в robots.txt, которые убивают индексацию. Отдельные проверки сайта собраны на странице технического аудита reChecker.