Выберите контроль, соответствующий результату
Краулинг — это автоматическое получение URL. Индексация — это решение поисковой системы о сохранении и показе информации о нём. Контроль доступа определяет, кто может получить контент. Robots.txt касается краулинга, и добросовестные краулеры решают, следовать ли ему. Протокол исключения роботов IETF (Robots Exclusion Protocol) говорит, что это не авторизация.
Используйте правило Disallow для управления доступом краулеров к публичному пути с низкой ценностью, например к внутреннему маршруту поиска. Используйте noindex для публичного контента, который не должен появляться в поддерживаемых результатах поиска. Для превью, областей с входом, экспортов или чувствительных данных применяйте реальные механизмы контроля доступа на сервере или в приложении. Для клиентских, сотрудников, платёжных или регулируемых данных требуйте квалифицированного обзора по безопасности и платформе; robots.txt никогда не является компенсирующим контролем.
Robots.txt может попросить добросовестных краулеров избегать определённого публичного пути; это не гарантирует удаления из результатов.
Используйте noindex в HTML или заголовке ответа X-Robots-Tag и оставляйте ответ доступным для краулинга, чтобы директива была прочитана.
Требуйте аутентификации или соответствующего серверного/прикладного контроля, затем удаляйте URL из публичных путей обнаружения.
Точно используйте базовый синтаксис и область действия
Публикуйте текстовый файл в кодировке UTF-8 по пути /robots.txt для каждого протокола, хоста и порта, где нужны правила. Файл по адресу https://www.example.com/robots.txt не распространяется автоматически на https://example.com, субдомен или HTTP-origin. Подтвердите origin, используемые канонические URL, переадресации, CDN и приложение, прежде чем считать правило применимым.
Группа начинается с User-agent и затем использует Allow или Disallow для путей. User-agent: * — общая группа. Сопоставление чувствительно к регистру и начинается с начала пути. Выигрывает самое специфичное совпадение; с одинаковой спецификой Allow должен иметь приоритет над Disallow. Disallow: ничего не блокирует, тогда как Disallow: / блокирует весь origin. Стандарт определяет # для комментариев, * для подстановки и $ для конца шаблона.
Если нет документированной потребности в управлении обходом, не добавляйте исключений; не создавайте предположительных блоков.
Предпочитайте стабильный узкий префикс, например /search/, вместо расплывчатой подстановки или непонятного правила по имени файла.
Фиксируйте цель правила, владельца и ссылку на изменение, но не заменяйте ими процедуру ревью.
Блокируйте только шаблоны, подтверждённые URL-доказательствами
Прежде чем писать правило, инвентаризируйте важные страницы, нежелательные пути обхода, варианты с параметрами, внутренний поиск, маршруты превью, ресурсы и URL карты сайта. Для каждого примера URL зафиксируйте ожидаемый результат и соответствующее правило. Сверьте список с каноническими URL и живой навигацией, чтобы блок не скрывал полезный маршрут.
Оставляйте ресурсы, критичные для браузера, доступными, если не доказано обратное. Google предупреждает, что блокировка CSS, JavaScript, изображений или других ресурсов может затруднить анализ страницы. Robots.txt не решает проблему выбора дублированного контента, авторизации или качества страницы; используйте канонизацию, редиректы, контроль доступа или работу с содержимым там, где это уместно.
Используйте реальные примеры URL и данные сервера или краулинга, а не общий список, скопированный с другого сайта.
Храните для каждого тестового URL ожидаемый результат, правило, которое совпадает, и ответственного владельца в релизной записи.
Согласовывайте обнаружение через sitemap, noindex и решения по приватности
Карта сайта (sitemap) сообщает поисковым системам, какие URL и файлы вы считаете важными; она помогает обнаружению, но не гарантирует краулинг или индексацию. Сильные внутренние ссылки по‑прежнему важны. Вы можете добавить полностью квалифицированный URL Sitemap в robots.txt, но не включайте приватные, перенаправляемые, заблокированные robots или целиком отмеченные как noindex URL. Сверяйте вывод карты сайта с правилами robots во время релиза.
Noindex не является директивой роботов в robots.txt. Google поддерживает её в мета-теге HTML или в HTTP-заголовке X-Robots-Tag, и поисковик должен просканировать ответ, чтобы увидеть её. Если публичная страница должна покинуть результаты Google, уберите любой robots-блок, который скрывает noindex. Если контент непубличный, не рекламируйте его путь в robots.txt; применяйте контроль доступа. Границы чувствительных данных требуют квалифицированного обзора.
Используйте полный URL, например Sitemap: https://www.example.com/sitemap.xml; это не отменяет блокировку обхода.
Используйте meta noindex для HTML или заголовок ответа X-Robots-Tag: noindex там, где это уместно, затем тестируйте живой ответ.
Сначала ограничьте доступ, если контент чувствителен, затем при необходимости используйте процесс удаления в поисковой системе.
Тестируйте и выпускайте как критический конфигурационный файл
Подтвердите утверждённый текст локально, затем протестируйте примеры разрешённых и запрещённых URL для целевой группы краулеров. После деплоя получите публичный /robots.txt приватно или через прямой HTTP-запрос, чтобы подтвердить содержимое, origin и статус ответа. Google предоставляет отчёт robots.txt в Search Console и открытое парсер-библиотеку для локального тестирования.
Краулеры могут кешировать файлы robots, поэтому не ждите мгновенных изменений в обнаружении или индексации. Серверные или сетевые ошибки заставляют краулеров предполагать полную блокировку, тогда как ответ 4xx может разрешать доступ. Храните файл в системе контроля версий, требуйте дополнительного ревью для блокировок на весь сайт или изменений с подстановками, и сохраняйте предыдущую версию. Предрейды (preflights) SIU и планирование отката помогают поймать плохой релиз до того, как он превратится в большую проблему доступности или обнаружимости.
Требуйте второго ревью при миграциях origin, блокировках всего сайта, wildcard-правилах и изменениях, затрагивающих вход, оформление заказа или маршруты поддержки.
Восстановите предыдущую версию, когда важный тестовый URL неожиданно заблокирован, необходимый ресурс недоступен или endpoint недоступен.
Один тест краулера не доказывает, что каждый автоматический клиент интерпретирует правило одинаково.
