Robots.txt, meta robots и X-Robots-Tag: как управлять обходом и индексацией

Закрыть страницу от поискового робота и убрать её из поиска — разные задачи. Поэтому Disallow в robots.txt и noindex нельзя использовать как взаимозаменяемые команды.

Более того, иногда попытка поставить сразу два запрета даёт обратный эффект: robots.txt не позволяет роботу открыть страницу, а значит, поисковик не видит находящийся на ней noindex. Google и Яндекс прямо предупреждают об этом в документации.

Разберём, чем отличаются robots.txt, meta robots и X-Robots-Tag и какой механизм нужен в конкретной ситуации.

6 мин чтения1 208 словSEO | GEO
Александр Колотов
Александр Колотов
Автор CompanionAI
Robots.txt, meta robots и X-Robots-Tag: как управлять обходом и индексацией

Обход и индексация — не одно и то же

Упрощённо путь страницы в поиске выглядит так:

поисковик узнаёт URL → робот получает страницу → анализирует содержимое → поисковая система решает, включать ли документ в индекс и показывать ли его в выдаче.

Обход, или crawling, — получение страницы поисковым роботом.

Индексация — обработка полученного документа поисковой системой.

Отсюда главное правило:

robots.txt в первую очередь управляет обходом URL, а noindex — индексированием полученного документа.

Если поисковику известен адрес страницы, запрет её обхода сам по себе не гарантирует исчезновение URL из результатов поиска. Яндекс прямо пишет, что страницы, закрытые через robots.txt, всё равно могут участвовать в поиске. Google также предупреждает, что заблокированный URL может появиться в выдаче, если поисковик узнал о нём из других источников.

Robots.txt: как управлять обходом сайта

robots.txt — текстовый файл в корне сайта с правилами для поисковых роботов.

Простейший пример:

User-agent: *
Disallow: /admin/

User-agent определяет, к каким роботам относится правило.

Disallow указывает URL или раздел, который не нужно обходить.

При необходимости Allow разрешает отдельный путь внутри более широкого запрета.

Например, robots.txt имеет смысл использовать для служебных разделов, внутреннего поиска или технических URL, которые поисковому роботу незачем постоянно запрашивать.

Почему Disallow не означает noindex

Представим страницу: /private/report/

На неё ведёт ссылка с другого сайта, поэтому поисковик знает URL. Но robots.txt содержит:

User-agent: *
Disallow: /private/

Робот не получает страницу. Однако сам адрес ему уже известен.

Поэтому Disallow — плохой выбор, если задача сформулирована как «убрать страницу из результатов поиска». Для этого нужен механизм управления индексированием.

И ещё одно важное ограничение: robots.txt не защищает закрытые данные. Файл публичный, а запрет поисковому роботу не мешает человеку открыть URL напрямую. Если документ действительно приватный, нужна авторизация или ограничение доступа на сервере.

вставки-сео-2

Meta robots: как управлять индексированием HTML-страницы

Если поисковому роботу можно получать страницу, но в поиске её быть не должно, используют noindex.

Для обычной HTML-страницы правило можно передать через meta robots:

<meta name="robots" content="noindex">

Поисковик получает HTML, видит директиву и понимает, что страницу не нужно показывать в результатах поиска. Google поддерживает noindex через robots meta tag, Яндекс — также через meta robots и HTTP-заголовок.

Здесь полезно запомнить разницу:

Disallow ограничивает получение URL роботом.

noindex сообщает поисковику, что полученный документ не нужно включать в поиск.

Index, noindex, follow и nofollow

Для большинства задач достаточно четырёх значений:

  • index — разрешить индексирование;
  • noindex — запретить индексирование;
  • follow — разрешить обработку ссылок;
  • nofollow — не следовать по ссылкам на странице.

nofollow не заменяет noindex: первое относится к ссылкам, второе — к самой странице.

Явно прописывать: <meta name="robots" content="index, follow"> обычно не требуется. Разрешающее поведение используется по умолчанию, если других ограничений нет. Яндекс это отдельно отмечает в документации.

X-Robots-Tag: управление через HTTP-заголовок

У meta robots есть очевидное ограничение: тег находится внутри HTML.

Но что делать с PDF, изображением или другим файлом, где HTML <head> отсутствует?

Для этого существует X-Robots-Tag. Директива передаётся в HTTP-заголовке ответа: X-Robots-Tag: noindex

Google рекомендует этот способ для управления индексированием не-HTML-ресурсов — например PDF, изображений и видео. Те же правила можно применять через X-Robots-Tag и к обычным HTML-страницам, если настройкой удобнее управлять на сервере.

Например, сервер может отдавать PDF так:

HTTP/1.1 200 OK
Content-Type: application/pdf
X-Robots-Tag: noindex

Поисковый робот получает файл вместе с HTTP-заголовком и видит запрет индексирования.

X-Robots-Tag особенно удобен, когда правило нужно применить сразу к группе файлов или задавать его на уровне веб-сервера либо приложения.

Robots.txt, meta robots или X-Robots-Tag: что выбрать

Главное — сначала определить задачу.

ЗадачаЧто использоватьПочему
Ограничить обход разделаrobots.txtУправляет доступом робота к URL
Убрать HTML-страницу из поискаmeta robots: noindexПоисковик получает правило вместе с HTML
Убрать PDF из поискаX-Robots-Tag: noindexВ PDF нельзя добавить HTML meta robots
Задать noindex на уровне сервераX-Robots-TagДиректива передаётся в HTTP-ответе
Ограничить обработку ссылок страницыnofollowЭто правило для ссылок, а не замена noindex

Если задача звучит как «не нужно обходить эти URL» — смотрите в сторону robots.txt.

Если «страницу можно открыть, но в поиске её быть не должно» — нужен noindex.

Если речь о PDF или другом не-HTML-файле либо правилом удобнее управлять на сервере — X-Robots-Tag.

Почему Disallow и noindex могут конфликтовать

Одна из самых распространённых ошибок выглядит вполне разумно.

В robots.txt:

User-agent: *
Disallow: /private/

А на странице: <meta name="robots" content="noindex">

Кажется, что два запрета надёжнее одного. На практике первый может просто спрятать второй.

Происходит следующее:

  1. Поисковику известен URL.
  2. Перед обходом робот проверяет robots.txt.
  3. Disallow запрещает получить страницу.
  4. Робот не загружает HTML и не видит noindex.

Google прямо указывает: чтобы noindex сработал, страница или ресурс должны быть доступны роботу. Если URL закрыт в robots.txt, директива может остаться непрочитанной. Яндекс даёт ту же рекомендацию: страницу с noindex, которую требуется убрать из поиска, не следует одновременно закрывать от робота в robots.txt.

Получается немного парадоксально: чтобы поисковик выполнил команду «не индексировать», ему сначала нужно разрешить получить эту команду.

Где чаще всего ошибаются

  1. Забывают noindex после разработки. На тестовом сайте запрет индексирования полезен. Но если вместе с релизом он переезжает в production, внешне сайт работает нормально, а поисковику при этом говорят: «сюда не надо».
  2. Считают nofollow усиленной версией noindex. Это разные директивы для разных задач.
  3. Пытаются найти meta robots в PDF. Для не-HTML-файлов нужно проверять HTTP-заголовок X-Robots-Tag.
  4. Используют robots.txt как защиту конфиденциальных данных. Поисковый запрет не заменяет авторизацию.
  5. Проверяют настройки только в CMS. Важно не то, какая галочка стоит в административной панели, а какой HTML и какие HTTP-заголовки реально получает робот.

Как проверить настройки обхода и индексации

Начните с самого простого — фактического ответа сайта.

Robots.txt

Файл обычно находится по адресу: https://example.com/robots.txt

Нужно проверить, какое правило действует для нужного User-agent и попадает ли конкретный URL под Disallow.

Meta robots

В HTML страницы найдите: <meta name="robots" content="...">

Особенно важно проверять это после запуска сайта, миграции или изменения SEO-настроек.

X-Robots-Tag

Его нужно искать не в HTML, а в HTTP-заголовках ответа: X-Robots-Tag: noindex

Именно поэтому обычного просмотра исходного кода страницы недостаточно.

Данные поисковой системы

Техническая проверка показывает, какие директивы сайт отдаёт сейчас. Но она не доказывает, что конкретный URL уже появился или исчез из индекса.

Для этого нужно смотреть данные самого поисковика — например проверку URL в Google Search Console или статус страницы в Яндекс Вебмастере.

Часть технических признаков можно проверить автоматически с помощью SEO-анализа страницы: robots meta, статус ответа, canonical и другие параметры. Но результат такого анализа нужно отличать от фактического состояния URL в индексе.

Короткая памятка

  • Нужно ограничить обход → robots.txt.
  • Нужно убрать HTML-страницу из поиска → meta robots + noindex.
  • Нужно убрать из поиска PDF или передать правило через HTTP → X-Robots-Tag.
  • Нужно, чтобы поисковик обработал noindex → не закрывайте ему доступ к этой директиве через robots.txt.