Описание метатега robots и HTTP-заголовка X-Robots-Tag

Краткий обзор

Здесь рассказано о том, как с помощью настроек индексирования на уровне страницы можно управлять показом своего контента в результатах Google Поиска. Нужные параметры указываются в метатеге на страницах (X)HTML или в HTTP-заголовке.

Использование метатега robots

Метатег robots позволяет определять настройки индексации и отображения в результатах поиска отдельно для каждой страницы. Его следует добавить в раздел <head>. Пример:

<!DOCTYPE html>
<html><head>
<meta name="robots" content="noindex" />
(…)
</head>
<body>(…)</body>
</html>

Метатег в примере выше запрещает большинству поисковых систем показывать эту страницу в результатах поиска. Заданное для атрибута name значение (robots) указывает, что директива распространяется на всех роботов. Если вы хотите закрыть доступ только одному из них, укажите вместо robots другое значение для атрибута name, а именно название нужного робота. Отдельные поисковые роботы также называются агентами пользователя (поисковый робот использует агент пользователя для запроса страницы). Наш основной поисковый робот называется Googlebot. Чтобы запретить сканирование страницы только ему, измените тег, как показано ниже:

<meta name="googlebot" content="noindex" />

Теперь тег сообщает роботу Google (но не другим поисковым системам), что эту страницу не следует показывать в результатах поиска. Атрибуты name и content нечувствительны к регистру.

Поисковые системы могут использовать несколько роботов для разных ресурсов или целей. Полный список роботов Google приведен здесь. Например, чтобы страница отображалась в результатах веб-поиска Google, но не в Google Новостях, используйте следующий метатег:

<meta name="googlebot-news" content="noindex" />

Если нужно указать директивы для нескольких поисковых роботов, можно использовать несколько метатегов robots:

<meta name="googlebot" content="noindex">
<meta name="googlebot-news" content="nosnippet">

При обнаружении противоречащих друг другу директив роботы Google будут выполнять наиболее строгую из них.

Использование HTTP-заголовка X-Robots-Tag

Заголовок X-Robots-Tag может быть элементом HTTP-заголовка для определенного URL. Любая директива, которая может использоваться в метатеге robots, применима также и к X-Robots-Tag. Пример HTTP-ответа, где X-Robots-Tag запрещает роботам индексировать страницу:

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noindex
(…)

Несколько заголовков X-Robots-Tag можно объединить в один ответ HTTP. Также вы можете перечислить директивы через запятую. Пример HTTP-ответа, где есть два экземпляра X-Robots-Tag: noarchive и unavailable_after.

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noarchive
X-Robots-Tag: unavailable_after: 25 Jun 2010 15:00:00 PST
(…)

В X-Robots-Tag перед директивами можно указать название агента пользователя. Пример HTTP-заголовка X-Robots-Tag, который запрещает показ страницы в результатах поиска различных систем:

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: googlebot: nofollow
X-Robots-Tag: otherbot: noindex, nofollow
(…)

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

Правильное индексирование и передача директив

Существует ещё несколько директив для управления индексированием и показом. Они также добавляются в метатег robots и заголовок X-Robots-Tag. Каждое значение представляет собой отдельную директиву. В таблице ниже перечислены все директивы, которые выполняют роботы Google, а также их значения. Учтите, что роботы других поисковых систем могут выполнять директивы иначе. Директивы можно перечислить через запятую (подробнее о таком комбинировании читайте ниже). Они не чувствительны к регистру.

Директивы
all Нет ограничений на индексирование и показ контента. Эта директива используется по умолчанию и не влияет на работу поисковых роботов, если нет других указаний.
noindex Не показывать эту страницу, а также ссылку "Сохраненная копия" в результатах поиска.
nofollow Не выполнять переход по ссылкам на этой странице.
none Аналогично метатегам noindex, nofollow.
noarchive Не показывать ссылку "Сохраненная копия" в результатах поиска.
nosnippet Не показывать фрагмент текста этой веб-страницы в результатах поиска. При этом уменьшенное статическое изображение (если оно есть) останется видимым.
notranslate Не предлагать в результатах поиска перевод этой страницы.
noimageindex Не индексировать изображения на этой странице.
unavailable_after: [RFC-850 date/time] Не отображать эту страницу в результатах поиска после указанного времени/даты. Время/дату следует указать в формате RFC 850.

После получения разрешения из файла robots.txt (а также при его отсутствии) страницы индексируются и архивируются. Их содержимое может использоваться в результатах поиска, если это не запрещено директивами в метатеге robots или X-Robots-Tag.

Обработка комбинированных директив индексирования и показа контента

Можно создать инструкцию, содержащую несколько директив, перечислив несколько метатегов robots через запятую. Ниже приведен пример метатега robots, который запрещает поисковым роботам индексировать страницу и сканировать ссылки на ней:

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

Если перечислены различные директивы для нескольких поисковых роботов, поисковая система будет суммировать запреты. Пример:

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

Такие метатеги на странице будут интерпретироваться роботом Googlebot как noindex, nofollow.

Практика внедрения заголовка X-Robots-Tag для Apache

Заголовок X-Robots-Tag можно добавить в HTTP-ответы сайта. Для этого используются файлы .htaccess и httpd.conf, которые по умолчанию доступны на серверах на базе Apache. Добавив X-Robots-Tag в HTTP-ответ, вы сможете указать директивы, которые будут применяться ко всему сайту. Поддержка регулярных выражений обеспечивает высокий уровень гибкости.

Например, чтобы добавить X-Robots-Tag со значениями noindex, nofollow в HTTP-запросы для всех файлов PDF на сайте, необходимо добавить в корневой файл .htaccess или httpd.conf следующий фрагмент кода:

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

Можно использовать X-Robots-Tag не только для файлов HTML, но и, например, для графических файлов, если метатеги robots не поддерживаются. Пример добавления заголовка X-Robots-Tag со значением noindex для графических файлов (PNG, JPEG, JPG, GIF) на всех страницах сайта:

<Files ~ "\.(png|jpe?g|gif)$">
  Header set X-Robots-Tag "noindex"
</Files>

Совмещение директив сканирования с директивами индексирования и показа контента

Метатеги robots и HTTP-заголовки X-Robots-Tag обнаруживаются при сканировании URL. Если сканирование страницы запрещено файлом robots.txt, то директивы, касающиеся индексирования или показа контента, будут проигнорированы. Чтобы обеспечить обязательное выполнение директив, не следует запрещать сканирование URL, для которых они заданы.

Оставить отзыв о...

Текущей странице