Поисковый робот следует разрешённому маршруту по страницам сайта согласно правилам
Создание сайтов

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/ — технические предпросмотры. Эти имена условны: не копируйте их, если таких маршрутов на сайте нет.

Перед запретом задайте два вопроса:

  1. Должны ли страницы по этому пути появляться в поиске?
  2. Нужны ли ресурсы из этого пути для отображения других страниц?

Не блокируйте общие каталоги 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-тесты после публикации.

Источники

Рекламное местоВаша компания здесьРазместить рекламу

Самопроверка

Проверьте, что материал усвоен

Ответьте на все вопросы. Результат сохранится только в этом браузере и будет учтён в статистике прочитанных материалов.

01Какую задачу решает robots.txt?
02Какой HTTP-статус должен возвращать корректный доступный robots.txt?
03Почему опасно одновременно поставить noindex и закрыть страницу в robots.txt?

Разбираем коротко

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

Запрещает ли robots.txt показывать страницу в поиске?

Не гарантирует. Файл управляет обходом URL поисковыми роботами, но ссылка на запрещённый адрес может остаться в индексе без содержимого. Для удаления используют noindex или инструменты поисковой системы, оставляя роботу возможность увидеть запрет индексации.

Где должен находиться файл robots.txt?

В корне конкретного сайта и протокола, например https://example.com/robots.txt. Файл в подкаталоге не управляет всем сайтом, а правила одного поддомена не распространяются автоматически на другой.

Можно ли закрывать секретные файлы через robots.txt?

Нет. robots.txt доступен всем и лишь просит роботов не обходить адрес. Секреты нельзя публиковать, а административные разделы нужно защищать аутентификацией и правилами доступа на сервере.