SEO

X-Robots-Tag

X-Robots-Tag - это способ управления сканированием и индексацией поисковыми системами через HTTP-заголовки ответа. Вместо размещения <meta name="robots"> внутри HTML сервер отправляет те же директивы в заголовке ответа, например X-Robots-Tag: noindex.

X-Robots-Tag - это способ управления сканированием и индексацией поисковыми системами через HTTP-заголовки ответа. Вместо размещения <meta name="robots"> внутри HTML сервер отправляет те же директивы в заголовке ответа, например X-Robots-Tag: noindex.

Почему это важно

HTML meta-теги работают только внутри HTML-файлов. Не-HTML ресурсы - PDF, изображения, видео, JSON-ответы API - не могут использовать теги <meta>, что оставляет пробел в управлении индексацией. X-Robots-Tag заполняет этот пробел, применяясь к любому HTTP-ответу. Search Engine Land задокументировал случаи в электронной коммерции, когда десятки тысяч PDF-каталогов проиндексировались и навредили ранжированию как дублированный контент - это было исправлено одним махом с помощью X-Robots-Tag.

X-Robots-Tag против Meta Robots против robots.txt

МетодРасположениеОбласть действияБлокирует сканирование?
robots.txt/robots.txtШаблоны URLДа - блокирует само сканирование
Meta RobotsHTML <head>Эта HTML-страницаНет - управляет только индексацией
X-Robots-TagHTTP-заголовок ответаЛюбой тип ресурсаНет - управляет только индексацией

Критическое различие: robots.txt говорит "не сканировать", тогда как Meta Robots и X-Robots-Tag говорят "не индексировать". Чтобы заблокировать индексацию, Googlebot должен фактически достичь страницы, чтобы прочитать директиву. Блокировка в robots.txt полностью останавливает сканирование, поэтому Google никогда не видит инструкцию об индексации.

Основные директивы

ДирективаЗначение
noindexНе показывать в результатах поиска
nofollowНе переходить по ссылкам на странице
noneТо же, что noindex, nofollow
noarchiveНе показывать кэшированную копию в SERP
nosnippetНе показывать сниппеты или превью
unavailable_after: [date]Удалить из индекса после указанной даты
max-snippet: [n]Ограничить длину сниппета
max-image-preview: [setting]Ограничить размер превью изображения
max-video-preview: [n]Ограничить длину превью видео

Для управления сниппетами на уровне элемента внутри HTML-страницы используйте data-nosnippet на том самом элементе, который вы хотите исключить из поисковых сниппетов. Это отличается от X-Robots-Tag, потому что скрывает только выбранный текст, а не меняет состояние индексации всего ресурса.

Примеры конфигураций

Блокировка индексации PDF (Apache .htaccess):

<FilesMatch "\.pdf$">
  Header set X-Robots-Tag "noindex, nofollow"
</FilesMatch>

Блокировка каталога изображений (Nginx):

location /private-images/ {
  add_header X-Robots-Tag "noindex";
}

Нацеливание на конкретный краулер (только Googlebot):

X-Robots-Tag: googlebot: noindex

Индексация с ограничением по времени:

X-Robots-Tag: unavailable_after: 31 Dec 2026 23:59:59 GMT

Исключение сниппета на уровне элемента (HTML):

<p data-nosnippet>Do not show this sentence in Google snippets.</p>

Практические подводные камни

Не сочетайте с disallow в robots.txt: Если robots.txt блокирует URL, Google вообще не сможет прочитать заголовок. Чтобы заблокировать индексацию, разрешите сканирование в robots.txt и используйте noindex в X-Robots-Tag.

Требует настройки сервера: В отличие от meta-тегов, X-Robots-Tag настраивается на уровне веб-сервера (Apache, Nginx, Cloudflare Workers). CMS-платформы не всегда обрабатывают его автоматически.

Проверяйте через Search Console или curl: Убедитесь, что заголовок действительно появляется, с помощью инструмента проверки URL в Google Search Console или командой curl -I https://example.com/file.pdf.

Управление сниппетами - это не управление приватностью: nosnippet и data-nosnippet меняют то, как Google отображает результат, но сам контент остается публично доступным. Для приватного контента используйте аутентификацию или контроль доступа на стороне сервера.

Источники: