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 Robots | HTML <head> | Эта HTML-страница | Нет - управляет только индексацией |
| X-Robots-Tag | HTTP-заголовок ответа | Любой тип ресурса | Нет - управляет только индексацией |
Критическое различие: 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 отображает результат, но сам контент остается публично доступным. Для приватного контента используйте аутентификацию или контроль доступа на стороне сервера.
Источники: