Спецификации тега meta с атрибутом Robots, атрибута data-nosnippet и HTTP-заголовка X-Robots-Tag

В этом документе рассказывается о том, как управлять показом контента в результатах поиска Google, используя настройки на уровне страницы и текста. Настройки на уровне страницы задаются включением тега meta на HTML-страницы или в HTTP-заголовок. Для настроек на уровне текста следует добавить атрибут data-nosnippet в HTML-элементы в коде страницы.

Имейте в виду, что эти настройки учитываются только в том случае, если у поисковых роботов есть доступ к страницам, на которых они заданы.

Правило <meta name="robots" content="noindex"> применяется только к поисковым роботам. Если вы хотите заблокировать другого робота, например AdsBot-Google, вам могут потребоваться специальные правила, такие как <meta name="AdsBot-Google" content="noindex">.

Как использовать тег meta с атрибутом robots

Тег meta с атрибутом robots позволяет задавать на уровне страницы детальные настройки, которые определяют, как эта страница будет индексироваться и показываться в результатах поиска Google. Добавьте тег meta с атрибутом robots в раздел <head> на нужной странице:

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

В этом примере тег meta с атрибутом robots запрещает поисковым системам показывать страницу в результатах поиска. Заданное для атрибута name значение robots указывает, что правило распространяется на всех поисковых роботов. Атрибуты name и content можно указывать без учета регистра. Если вы хотите закрыть доступ только одному из них, вместо robots укажите в значении атрибута name токен агента пользователя нужного робота. Google поддерживает два токена агента пользователя в теге robots (meta), а остальные значения игнорируются:

  1. googlebot: для всех текстовых результатов.
  2. googlebot-news: для новостных результатов.

Например, чтобы дать роботам Google явную инструкцию не показывать определенный фрагмент в результатах поиска, вы можете указать googlebot в атрибуте name тега meta:

<meta name="googlebot" content="nosnippet">

Чтобы полный фрагмент показывался в результатах поиска Google, но не в Google Новостях, укажите googlebot-news в атрибуте name тега meta:

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

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

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

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

Как использовать HTTP-заголовок X-Robots-Tag

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

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

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

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noimageindex
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
(…)

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

Поддерживаемые правила индексирования и показа контента

Указанные ниже правила, которые также доступны в машиночитаемом формате, позволяют управлять индексированием страницы и показом ее фрагмента в результатах поиска. Эти правила указываются в теге meta с атрибутом robots и теге X-Robots-Tag. Каждое значение соответствует отдельному правилу. Правила можно объединять в списках, разделенных запятыми, или в отдельных тегах meta. Регистр символов не учитывается.

Правила

all

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

noindex

Не показывать страницу, медиаконтент или ресурс в результатах поиска. Если не добавить это правило, страница, медиаконтент или ресурс будет проиндексирован и сможет показываться в результатах поиска.

Если вы хотите удалить какую-либо информацию из Google, следуйте этому пошаговому руководству.

nofollow

Не выполнять переход по ссылкам на странице. Если не добавить это правило, роботы Google могут использовать ссылки на странице для поиска целевых страниц. Подробнее о правиле nofollow

none

Аналогичен элементу noindex, nofollow.

nosnippet

Не показывать в результатах поиска текстовый фрагмент или видео. При этом мы можем по-прежнему показывать статические уменьшенные изображения, если они есть и могут способствовать удобству для пользователей. Это правило распространяется на все типы результатов поиска Google (веб-поиск, Картинки, рекомендации, обзор от ИИ) и запрещает использовать контент как источник данных для результатов с обзорами от ИИ.

Если не добавить это правило, роботы Google могут создать фрагмент текста и видео на основе информации со страницы.

Чтобы запретить показ в результатах поиска Google определенных фрагментов вашего контента, используйте HTML-атрибут data-nosnippet.

indexifembedded

В отличие от директивы noindex это правило позволяет Google индексировать контент страницы, если он встроен в другую страницу с помощью тега iframes или аналогичного.

indexifembedded действует, только если присутствует правило noindex.

max-snippet: [число]

Ограничение на количество символов в текстовом фрагменте (не более [число]), который показывается в результатах поиска. Обратите внимание, что один и тот же URL может появляться на странице результатов поиска несколько раз. Это правило не распространяется на предварительный просмотр изображений и видео, но действует в отношении всех видов результатов поиска (веб-поиск Google, Google Картинки, рекомендации, данные от Ассистента и обзор от ИИ) и запрещает использовать контент как источник данных для результатов с обзорами от ИИ. Тем не менее ограничение не применяется, если издатель предоставил отдельное разрешение на использование контента, например добавил структурированные данные или заключил лицензионное соглашение с компанией Google. Тогда эта настройка не отменяет подобные дополнительные разрешения. Если в этом правиле использовать некорректное числовое значение, оно будет игнорироваться.

Если вы не добавите правило, Google будет выбирать длину фрагмента самостоятельно.

Специальные значения:

  • 0 – нет фрагмента для показа. Является эквивалентом nosnippet.
  • -1 – Google будет самостоятельно выбирать длину фрагмента, которая позволит эффективнее привлекать пользователей на ваш сайт.

Примеры

Как запретить показ фрагмента в результатах поиска:

<meta name="robots" content="max-snippet:0">

Как разрешить показ во фрагменте 20 символов или менее:

<meta name="robots" content="max-snippet:20">

Как указать, что ограничений на количество символов при показе во фрагменте нет:

<meta name="robots" content="max-snippet:-1">

max-image-preview: [setting]

Это правило определяет максимальный размер изображений, которые могут показываться в результатах поиска для этой страницы.

Если не добавить правило max-image-preview, при показе картинки в результатах поиска Google для нее будет выбран размер по умолчанию.

Допустимые значения для элемента [setting]:

  • none – нет изображения для предварительного просмотра.
  • standard – может быть показано изображение для предварительного просмотра по умолчанию.
  • large – может быть показано более крупное изображение, вплоть до максимальной ширины области просмотра.

Это распространяется на все виды результатов поиска (веб-поиск Google, Google Картинки, рекомендации и данные, предоставляемые Ассистентом). Тем не менее ограничение не применяется в тех случаях, когда издатель предоставил отдельное разрешение на использование контента, например добавил структурированные данные или заключил лицензионное соглашение с компанией Google. В частности, структурированные данные могут определять каноническую и AMP-версию статьи.

Если вы не хотите, чтобы ваши канонические страницы и их AMP-версии показывались в Google Поиске и рекомендациях с более крупными изображениями, укажите в правиле max-image-preview значение standard или none.

Пример:

<meta name="robots" content="max-image-preview:standard">

max-video-preview: [число]

Это правило задает для фрагмента видео со страницы ограничение по длительности в секундах при показе в результатах поиска (не более [число]).

Если не добавить правило max-video-preview, в результатах поиска может показываться фрагмент видео. В этом случае определять возможную продолжительность предварительного просмотра будет Google.

Специальные значения:

  • 0 – может использоваться статическое изображение, но его размер не должен превышать значение, заданное настройкой max-image-preview.
  • -1 – ограничения отсутствуют.

Директива распространяется на все виды результатов поиска (веб-поиск Google, Google Картинки, рекомендации, поиск по видео и данные, предоставляемые Ассистентом). Если в этом правиле использовать некорректное числовое значение, оно будет игнорироваться.

Пример:

<meta name="robots" content="max-video-preview:-1">

notranslate

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

noimageindex

Это правило запрещает индексировать изображения, размещенные на странице. Если не указать это значение, изображения на странице будут проиндексированы и смогут показываться в результатах поиска.

unavailable_after: [date/time]

Это правило запрещает показывать страницу в результатах поиска после даты и времени, указанных в одном из основных форматов, таких как RFC 822, RFC 850, ISO 8601 и др. Это правило игнорируется, если не указано допустимое значение даты и времени. По умолчанию у контента нет срока действия.

Если не добавить это правило, страница может показываться в результатах поиска неограниченное время. После указанной даты и времени частота сканирования URL роботом Googlebot значительно уменьшится.

Пример:

<meta name="robots" content="unavailable_after: 2020-09-21">

Устаревшие и другие неиспользуемые правила

Google Поиск игнорирует перечисленные ниже правила. Они указаны здесь, поскольку пользователи неоднократно задавали о них вопросы или в прошлом использовали их.

Список устаревших и других неиспользуемых правил

noarchive

Правило noarchive больше не используется в Google Поиске для управления показом ссылки на кеш в результатах поиска, так как функции ссылки на кеш уже не существует.

nocache

Правило nocache в Google Поиске не используется.

nositelinkssearchbox

Правило nositelinkssearchbox больше не используется в Google Поиске для управления показом окна поиска по сайту на определенной странице, так как этой функции больше не существует.

Как комбинировать правила индексирования и показа контента

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

Список, разделенный запятыми

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

Несколько тегов meta

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

В следующем примере фрагмент текста ограничен 20 символами, но разрешен показ крупных изображений:

<meta name="robots" content="max-snippet:20, max-image-preview:large">

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

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

Обнаружив теги meta, робот Googlebot будет действовать так же, как при наличии на странице правила noindex, nofollow.

Как использовать HTML-атрибут data-nosnippet

Фрагменты текста на HTML-странице можно специально пометить, чтобы они не показывались в результатах поиска. Для этого служит атрибут data-nosnippet для HTML-элементов span, div и section. Атрибут data-nosnippet является логическим и может указываться без значения. Код должен отвечать стандартам HTML и содержать все необходимые закрывающие теги.

Примеры

<p>This text can be shown in a snippet
<span data-nosnippet>and this part would not be shown</span>.</p>

<div data-nosnippet>not in snippet</div>
<div data-nosnippet="true">also not in snippet</div>
<div data-nosnippet="false">also not in snippet</div>
<!-- all values are ignored -->

<div data-nosnippet>some text</html>
<!-- unclosed "div" will include all content afterwards -->

<mytag data-nosnippet>some text</mytag>
<!-- NOT VALID: not a span, div, or section -->

<p>This text can be shown in a snippet.</p>
<div data-nosnippet>
<p>However, this is not in snippet.</p>
<ul>
  <li>Stuff not in snippet</li>
  <li>More stuff not in snippet</li>
</ul>
</div>

Обычно при индексировании робот Google отрисовывает страницы, но это происходит не всегда. Поэтому атрибут data-nosnippet может извлекаться как до отрисовки, так и после нее. Чтобы избежать неопределенности, не используйте JavaScript для добавления атрибута data-nosnippet в существующие узлы или для его удаления из них. Если вы добавляете элементы в предназначенную для страницы структуру DOM при помощи JavaScript, указывайте атрибут data-nosnippet в момент создания этих элементов. Если вы хотите применить атрибут data-nosnippet к нестандартным элементам, размещайте их внутри тегов div, span или section.

Что нужно учитывать при использовании структурированных данных

Теги meta с атрибутом Robots определяют, какое количество контента Google может автоматически извлекать с веб-страниц и показывать в результатах поиска. Однако многие издатели также применяют структурированные данные schema.org, чтобы показывать в результатах поиска нужную им информацию. Заданные в тегах meta с атрибутом Robots ограничения не распространяются на структурированные данные, кроме значений article.description и description, которые относятся к творческим работам. Чтобы задать максимальную длину текстового фрагмента в результатах поиска с учетом этих значений description, используйте правило max-snippet. К примеру, если на странице есть структурированные данные для рецептов (recipe), размеченный ими контент может показываться в карусели рецептов независимо от ограничения длины текстового фрагмента. Длину текстового фрагмента можно ограничить при помощи атрибута max-snippet, однако в этом случае тег meta с атрибутом robots не будет применяться, если информация передается с помощью структурированных данных для расширенных результатов.

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

Как добавить тег X-Robots-Tag

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

Например, чтобы добавить тег X-Robots-Tag с правилом noindex, nofollow в HTTP-ответ для файлов .PDF со всего сайта, включите небольшой фрагмент кода в корневой файл .htaccess/httpd.conf (Apache) или .conf (nginx).

Apache

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

nginx

location ~* \.pdf$ {
add_header X-Robots-Tag "noindex, nofollow";
}

Теги X-Robots-Tag можно использовать в тех случаях, когда для файлов недоступны HTML-теги meta с атрибутом robots. В приведенном ниже примере правило noindex в теге X-Robots-Tag применяется к файлам изображений (.png, .jpeg, .jpg, .gif) на всем сайте:

Apache

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

nginx

location ~* \.(png|jpe?g|gif)$ {
add_header X-Robots-Tag "noindex";
}

Заголовки X-Robots-Tag также можно задать для отдельных статических файлов.

Apache

# the htaccess file must be placed in the directory of the matched file.
<Files "unicorn.pdf">
Header set X-Robots-Tag "noindex, nofollow"
</Files>

nginx

location = /secrets/unicorn.pdf {
add_header X-Robots-Tag "noindex, nofollow";
}

Сочетание правил robots.txt с правилами индексирования и показа

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