
robots.txt для сайта: как настроить и проверить без ошибок
Объясняем, что разрешает и запрещает robots.txt, создаём минимальный файл, добавляем sitemap, проверяем HTTP-ответ и не путаем управление обходом с удалением страниц из поиска.
Содержание
robots.txt сообщает поисковым роботам, какие URL сайта можно обходить, а какие владелец просит не запрашивать. Файл полезен, чтобы не тратить обход на дубли, внутренний поиск или бесконечные варианты фильтров. Он не защищает данные и не гарантирует удаление адреса из результатов поиска.
Для небольшого сайта часто достаточно разрешить обход и указать карту сайта. Чем сложнее набор правил, тем выше риск случайно закрыть важные страницы, стили или изображения.
Обход и индексирование — разные процессы
Поисковый робот сначала находит URL, затем скачивает страницу, анализирует её и решает, включать ли в индекс. Запись Disallow относится к этапу скачивания. Она не является командой «удалить из поиска».
Если другой сайт ссылается на закрытый URL, поисковик может знать адрес и показывать его без описания, даже не обходя страницу. Чтобы убрать собственную страницу из индекса, обычно применяют noindex в HTML или заголовке X-Robots-Tag, а для срочного временного скрытия — инструмент поисковой системы. Робот должен иметь возможность загрузить страницу и увидеть noindex; одновременный запрет в robots.txt может этому помешать.
Для конфиденциального раздела нужен вход по паролю или запрет на уровне сервера. Сам robots.txt общедоступен и дополнительно раскрывает перечисленные пути любому посетителю.
Где поисковик ищет файл
Файл размещается строго в корне сайта. Ниже показан публичный URL, который нужно открыть в браузере или запросить по HTTP; это адрес файла на сайте, а не путь в файловой системе сервера:
https://example.com/robots.txt
Адрес https://example.com/docs/robots.txt не задаёт правила для всего домена. Протокол, домен и поддомен имеют значение: правила https://example.com/robots.txt не следует автоматически считать правилами https://shop.example.com/.
Сервер должен вернуть сам текст с успешным статусом 200 OK. Цепочка перенаправлений, 403, 404 или 5xx меняет то, как робот обработает файл; точное поведение зависит от поисковой системы. Поэтому после публикации проверяют не только содержимое в редакторе, но и фактический HTTP-ответ.
Минимальный robots.txt для открытого сайта
Если все публичные страницы можно обходить, создайте текстовый файл с двумя строками:
User-agent: *
Disallow:
User-agent: * адресует группу всем роботам, которые соблюдают стандарт. Пустое значение Disallow не запрещает пути. Файл должен быть обычным текстом UTF-8.
Не добавляйте Disallow: / как временную заготовку на production: эта строка просит не обходить весь сайт. Если она нужна на тестовом стенде, надёжнее дополнительно закрыть стенд аутентификацией и не связывать его с публичными страницами.
Как добавить карту сайта
Карта сайта перечисляет канонические URL, которые владелец предлагает поисковику. Укажите абсолютный адрес через директиву Sitemap:
User-agent: *
Disallow:
Sitemap: https://example.com/sitemap-index.xml
Замените домен и имя файла реальным адресом. Если сайт создаёт несколько карт, можно добавить несколько строк Sitemap. Каждая должна открываться снаружи и содержать URL того сайта, к которому относится.
Карта не отменяет правила Disallow и не гарантирует индексирование. Она помогает обнаружению адресов, а решение об индексе поисковик принимает отдельно.
Какие пути имеет смысл ограничивать
Запрет оправдан для URL, обход которых не приносит самостоятельной страницы в поиске. Пример:
User-agent: *
Disallow: /internal-search/
Disallow: /preview/
Sitemap: https://example.com/sitemap-index.xml
Здесь /internal-search/ обозначает страницы внутренней выдачи, а /preview/ — технические предпросмотры. Эти имена условны: не копируйте их, если таких маршрутов на сайте нет.
Перед запретом задайте два вопроса:
- Должны ли страницы по этому пути появляться в поиске?
- Нужны ли ресурсы из этого пути для отображения других страниц?
Не блокируйте общие каталоги CSS, JavaScript и изображений, которые нужны роботу для понимания страницы. Не закрывайте административный путь только ради безопасности: добавьте настоящую аутентификацию, а правило для crawler считайте вторичным.
Как работают Allow и группы роботов
Базовые директивы — User-agent, Disallow и Allow. Allow помогает оставить доступный дочерний путь внутри более широкого запрета. Например:
User-agent: *
Disallow: /files/
Allow: /files/public/
Это просит не обходить /files/, кроме /files/public/. По стандарту робот выбирает наиболее конкретное совпадающее правило. Регистр пути имеет значение, потому что URL /Files/ и /files/ могут вести к разным ресурсам.
Отдельные группы позволяют задать правила конкретному роботу:
User-agent: ExampleBot
Disallow: /reports/
User-agent: *
Disallow:
ExampleBot здесь вымышлен. Настоящее имя берите только из официальной документации поисковой системы. Не создавайте десятки групп без необходимости: поддерживать и проверять их сложнее, а неизвестные роботы могут вовсе не соблюдать файл.
Некоторые поисковики понимают дополнительные директивы, но они не обязательно входят в общий стандарт. Если используете расширение вроде Clean-param для Яндекса, проверьте его синтаксис в актуальной документации Яндекс Вебмастера и убедитесь, что правило не меняет поведение других групп.
Ошибки, которые вредят сайту
Закрыт весь сайт
Строка Disallow: / в общей группе запрещает обход всех путей. Она нередко остаётся после переноса конфигурации тестового стенда. Проверяйте production-файл сразу после каждого deploy.
В robots.txt перечислены секретные адреса
Файл доступен без входа. Запись имени резервной копии, панели или служебного архива делает адрес заметнее, но не запрещает его человеку. Удалите файл из публичного каталога и закройте доступ на сервере.
Страница закрыта и одновременно содержит noindex
Поисковик может не увидеть noindex, потому что ему запрещено скачивать HTML. Для удаления сначала разрешите обход, дождитесь обработки запрета индексирования и контролируйте результат в панели поисковика.
Запрещены ресурсы оформления
Если crawler не может загрузить важные CSS и JavaScript, он хуже понимает итоговую страницу. Проверяйте URL ресурсов, а не закрывайте общий технический каталог по названию.
Правится не тот файл
Генератор сайта, CDN или отдельный виртуальный хост может отдавать другой robots.txt, чем файл в локальной папке. Истиной является ответ публичного URL после deploy.
Как проверить опубликованный файл
С локального компьютера запросите опубликованный файл вместе с HTTP-заголовками. Команда только читает публичный URL и помогает увидеть реальный статус, тип содержимого и текст, который получает поисковый робот:
curl -i https://example.com/robots.txt
Проверьте:
- статус
200; - тип содержимого, подходящий для обычного текста;
- отсутствие HTML-шаблона страницы 404;
- правильный домен в
Sitemap; - отсутствие
Disallow: /, если сайт должен обходиться; - доступность файла и по каноническому адресу сайта без неожиданной цепочки редиректов.
Затем откройте анализатор robots.txt в инструментах поисковой системы и протестируйте несколько реальных URL: главную, статью, запрещённый маршрут, CSS и изображение. Яндекс Вебмастер предоставляет отдельный анализатор; Google описывает проверку и трактовку правил в Search Central.
После изменения роботу требуется время, чтобы повторно получить файл. Не меняйте правила несколько раз в день, пытаясь ускорить результат: это усложнит понимание того, какая версия уже обработана.
Публикация и откат
Храните robots.txt вместе с исходниками сайта и проверяйте его в preview-сборке. Перед релизом сохраните предыдущую версию. После публикации выполните HTTP-проверку и просмотрите несколько ключевых URL в панели вебмастера.
Если новая версия случайно закрыла публичный раздел, верните предыдущий файл обычным откатом сайта и снова проверьте публичный ответ. Исправление в репозитории без deploy не меняет то, что получает поисковик.
Вместе с robots.txt проверьте DNS и HTTPS домена после запуска и включите его URL в smoke-тесты после публикации.
Источники
Самопроверка
Проверьте, что материал усвоен
Ответьте на все вопросы. Результат сохранится только в этом браузере и будет учтён в статистике прочитанных материалов.
Разбираем коротко
Частые вопросы
Запрещает ли robots.txt показывать страницу в поиске?
Не гарантирует. Файл управляет обходом URL поисковыми роботами, но ссылка на запрещённый адрес может остаться в индексе без содержимого. Для удаления используют noindex или инструменты поисковой системы, оставляя роботу возможность увидеть запрет индексации.
Где должен находиться файл robots.txt?
В корне конкретного сайта и протокола, например https://example.com/robots.txt. Файл в подкаталоге не управляет всем сайтом, а правила одного поддомена не распространяются автоматически на другой.
Можно ли закрывать секретные файлы через robots.txt?
Нет. robots.txt доступен всем и лишь просит роботов не обходить адрес. Секреты нельзя публиковать, а административные разделы нужно защищать аутентификацией и правилами доступа на сервере.


