Specyfikacje metatagu robots, atrybutu data-nosnippet i nagłówka HTTP X-Robots-Tag

W tym dokumencie szczegółowo opisujemy, jak za pomocą ustawień na poziomie strony i tekstu dostosować sposób wyświetlania treści w wynikach wyszukiwania Google. Aby określić ustawienia na poziomie strony, umieść odpowiedni metatag na stronach HTML lub w nagłówku HTTP. Aby określić ustawienia na poziomie tekstu, umieść atrybut data-nosnippet w elementach HTML w obrębie danej strony.

Korzystanie z metatagu robots

Metatag robots pozwala na precyzyjne określanie, jak dana strona ma być indeksowana i wyświetlana użytkownikom w wynikach wyszukiwania Google. Należy go umieścić w sekcji <head> danej strony w ten sposób:

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

W powyższym przykładzie metatag robots informuje wyszukiwarki, aby nie wyświetlały strony w wynikach wyszukiwania. Wartość atrybutu name (robots) wskazuje, że dyrektywa odnosi się do wszystkich robotów. Aby skierować ją do konkretnego robota, zastąp wartość robots w atrybucie name jego nazwą. Konkretne roboty są też określane jako klienty użytkownika (robot korzysta ze swojego klienta użytkownika, gdy przesyła żądanie udostępnienia strony). Nazwa klienta użytkownika standardowego robota indeksującego Google to Googlebot. Aby uniemożliwić indeksowanie strony tylko Googlebotowi, zmień tag w ten sposób:

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

Ten tag informuje teraz Google, że strony nie należy wyświetlać w wynikach wyszukiwania. Wielkość liter w atrybutach namecontent nie jest rozróżniana.

Wyszukiwarki mogą mieć wiele robotów do różnych zastosowań. Zobacz pełną listę robotów Google. Aby na przykład wyświetlać stronę w wynikach wyszukiwania Google w internecie, ale nie w Wiadomościach Google, użyj tego metatagu:

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

Aby pojedynczo wskazać kilka robotów, użyj wielu metatagów robots:

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

Korzystanie z nagłówka HTTP X-Robots-Tag

X-Robots-Tag może być elementem nagłówka HTTP odpowiedzi na żądanie określonego adresu URL. W nagłówku X-Robots-Tag można też określić wszystkie dyrektywy z metatagu robots. Przykładowa odpowiedź HTTP z elementem X-Robots-Tag informującym roboty, aby nie indeksowały strony, wygląda tak:

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

W odpowiedzi HTTP możesz połączyć wiele nagłówków X-Robots-Tag lub podać listę dyrektyw rozdzielonych przecinkami. Oto przykładowa odpowiedź HTTP, która zawiera połączone nagłówki noarchive X-Robots-Tagunavailable_after X-Robots-Tag:

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 może przed dyrektywami zawierać opcjonalnie nazwę klienta użytkownika. Na przykład ten zestaw nagłówków HTTP X-Robots-Tag warunkowo zezwala różnym wyszukiwarkom na wyświetlanie strony w wynikach wyszukiwania:

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
(…)

Dyrektywy bez nazwy klienta użytkownika obowiązują wszystkie roboty. W nagłówkach HTTP, nazwach klienta użytkownika i określonych wartościach nie jest rozróżniana wielkość liter.

Prawidłowe dyrektywy indeksowania i wyświetlania

Podane niżej dyrektywy umożliwiają kontrolowanie indeksowania oraz wyświetlania krótkich opisów za pomocą metatagu robots i elementu X-Robots-Tag. W wynikach wyszukiwania krótki opis to fragment tekstu, który ma wykazać trafność dokumentu względem zapytania użytkownika. W poniższej tabeli znajdziesz nazwy i opisy wszystkich dyrektyw, których przestrzega Google. Każda wartość odpowiada konkretnej dyrektywie. Kilka dyrektyw można połączyć w listy rozdzielane przecinkami. W tych dyrektywach nie jest rozróżniana wielkość liter.

Dyrektywy

all

Brak ograniczeń indeksowania i wyświetlania. Ta dyrektywa to wartość domyślna i wyraźne jej podawanie nie ma żadnego efektu.

noindex

Uniemożliwia wyświetlanie strony w wynikach wyszukiwania. Jeśli dyrektywa nie jest określona, strona może być indeksowana i wyświetlać się w wynikach wyszukiwania.

nofollow

Nie korzystaj z linków na tej stronie. Jeśli ta dyrektywa nie jest określona, Google może używać linków na stronie, aby znaleźć linkowane strony. Dowiedz się więcej o nofollow.

none

Odpowiednik: noindex, nofollow.

noarchive

Uniemożliwia wyświetlanie w wynikach wyszukiwania linku z pamięci podręcznej. Jeśli ta dyrektywa nie jest określona, Google może wygenerować z pamięci podręcznej stronę, na którą użytkownicy będą mogli wejść z poziomu wyników wyszukiwania.

nosnippet

Nie pokazuj krótkiego opisu ani podglądu filmu z tej strony w wynikach wyszukiwania. Miniatura obrazu statycznego (jeśli jest dostępna) może być nadal widoczna, jeśli zwiększa to wygodę użytkowników. Dotyczy to wszystkich form wyników wyszukiwania (w Google: wyszukiwarki, Grafiki Google, kart Discover).

Jeśli ta dyrektywa nie jest określona, Google może wygenerować krótki opis i podgląd filmu na podstawie informacji znalezionych na stronie.

max-snippet: [liczba]

Określa, że w przypadku danego wyniku wyszukiwania liczba znaków w krótkim opisie powinna wynosić maksymalnie [liczba]. (Należy pamiętać, że adres URL może wyświetlać się na stronie wyników wyszukiwania jako kilka wyników). Nie wpływa to na podgląd obrazu ani filmu. Dotyczy to wszystkich form wyników wyszukiwania (np. wyszukiwarki Google, Grafiki Google, kart Discover, Asystenta). Limit ten nie obowiązuje jednak wtedy, gdy wydawca oddzielnie udzielił zgody na wykorzystywanie treści. Jeśli na przykład wydawca dostarcza treści w formie uporządkowanych danych na stronie lub ma umowę licencyjną z Google, to ustawienie nie zakłóca bardziej szczegółowych dozwolonych zastosowań. Ta dyrektywa jest ignorowana, jeśli nie określono żadnego możliwego do przeanalizowania elementu [liczba].

Jeśli nie określisz tej dyrektywy, długość krótkiego opisu wybierze Google.

Wartości specjalne:

  • 0: nie ma być wyświetlany żaden krótki fragment. Odpowiednik: nosnippet.
  • -1: Google wybierze taką długość krótkiego opisu, jaka może najskuteczniej pomagać w kierowaniu użytkowników do Twojej witryny i ułatwiać im odkrywanie Twoich treści.

Przykłady:

Aby wyłączyć wyświetlanie krótkiego opisu w wynikach wyszukiwania:


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

Aby umożliwić wyświetlanie w krótkim opisie maksymalnie 20 znaków:


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

Aby wskazać, że nie ma ograniczenia liczby znaków, które można wyświetlić w krótkim opisie:


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

max-image-preview: [ustawienie]

W przypadku tej strony należy ustawić maksymalny rozmiar podglądu obrazu w wynikach wyszukiwania.

Jeśli dyrektywa max-image-preview nie jest określona, Google może wyświetlać podgląd obrazu w rozmiarze domyślnym.

Akceptowane wartości elementu [ustawienie]:

  • none: nie ma być wyświetlany żaden podgląd obrazu.
  • standard: może być wyświetlany domyślny podgląd obrazu.
  • large: może być wyświetlany większy podgląd obrazu, nawet tak szeroki jak widoczny obszar.

Dotyczy to wszystkich form wyników wyszukiwania (np. wyszukiwarki Google, Grafiki Google, kart Discover, Asystenta). Limit ten nie obowiązuje jednak wtedy, gdy wydawca oddzielnie udzielił zgody na wykorzystywanie treści. Jeśli na przykład wydawca dostarcza treści w formie uporządkowanych danych na stronie (na przykład są to artykuły w wersji AMP i kanonicznej) lub ma umowę licencyjną z Google, to ustawienie nie zakłóca bardziej szczegółowych dozwolonych zastosowań.

Wydawcy, którzy nie chcą używać większych obrazów miniatur, gdy w wyszukiwarce lub na kartach Discover wyświetlane są ich artykuły w wersji AMP i kanonicznej, powinni wybrać dla ustawienia max-image-preview wartość standard lub none.

Przykład:


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

max-video-preview: [liczba]

Wyświetlane w wynikach wyszukiwania fragmenty filmów z tej strony powinny trwać maksymalnie [liczba] s.

Jeśli dyrektywa max-video-preview nie jest określona, Google może pokazywać fragment filmu w wynikach wyszukiwania i zdecydować, jak długi może być taki podgląd.

Wartości specjalne:

  • 0: można użyć najwyżej obrazu statycznego (zgodnie z ustawieniem max-image-preview).
  • -1: nie ma limitu.

Dotyczy to wszystkich form wyników wyszukiwania (np. w Google: wyszukiwarki, Grafiki Google, kart Discover, Asystenta). Ta dyrektywa jest ignorowana, jeśli nie określono żadnego możliwego do przeanalizowania elementu [liczba].

Przykład:


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

notranslate

Uniemożliwia proponowanie tłumaczenia danej strony w wynikach wyszukiwania. Jeśli ta dyrektywa nie jest określona, Google może wyświetlać obok wyniku link umożliwiający użytkownikom wyświetlenie przetłumaczonej zawartości Twojej strony.

noimageindex

Nie indeksuj obrazów na tej stronie. Jeśli ta wartość nie jest określona, obrazy na stronie mogą być indeksowane i wyświetlać się w wynikach wyszukiwania.

unavailable_after: [data/godzina]

Uniemożliwia wyświetlanie tej strony w wynikach wyszukiwania po określonej dacie i godzinie. Datę i godzinę należy podać w jednym z popularnych formatów, np. RFC 822, RFC 850 lub ISO 8601. Jeśli nie określisz prawidłowej daty/godziny, dyrektywa będzie ignorowana. Domyślnie treści nie mają daty ważności.

Jeśli dyrektywa nie jest określona, strona może być wyświetlana w wynikach wyszukiwania bezterminowo.

Przykład:


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

Stosowanie połączonych dyrektyw indeksowania i wyświetlania

Jeśli w metatagu robots chcesz utworzyć instrukcję z wieloma dyrektywami, rozdziel je przecinkami. Tak wygląda przykładowy metatag robots informujący roboty indeksujące, aby nie indeksowały strony ani nie korzystały z żadnych zawartych na niej linków:

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

W tym przykładzie ograniczono liczbę znaków w krótkim opisie do 20 i umożliwiono wyświetlanie dużego podglądu obrazu:

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

Jeśli wymienisz kilka robotów z różnymi dyrektywami, wyszukiwarka będzie przestrzegać sumy dyrektyw negatywnych. Przykład:

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

Po zindeksowaniu strony z tymi metatagami Googlebot zinterpretuje je jako dyrektywę noindex, nofollow.

Używanie atrybutu HTML data-nosnippet

Możesz wskazać fragmenty tekstu ze strony HTML, które mają nie być używane w krótkich opisach. Możesz to zrobić na poziomie elementu HTML, korzystając z atrybutu HTML data-nosnippet w elementach span, divsection. Element data-nosnippet jest uważany za atrybut logiczny. Tak jak w przypadku wszystkich atrybutów logicznych, każda określona wartość jest ignorowana. Aby umożliwić odczyt maszynowy, należy używać prawidłowego kodu HTML, a wszystkie tagi muszą być odpowiednio zamknięte.

Przykłady:

<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 -->

Z reguły Google renderuje strony, aby je zindeksować, chociaż nie jest to pewne. Dlatego wyodrębnienie elementu data-nosnippet może nastąpić zarówno przed renderowaniem, jak i po nim. Aby uniknąć niepewności związanej z renderowaniem, nie należy dodawać ani usuwać atrybutu data-nosnippet istniejących węzłów za pomocą JavaScriptu. Podczas dodawania elementów DOM za pomocą JavaScriptu należy w razie potrzeby dołączyć atrybut data-nosnippet przy początkowym dodawaniu elementu do DOM strony. Jeśli używasz elementów niestandardowych, spakuj je lub wyrenderuj za pomocą elementów div, span lub section, o ile chcesz użyć data-nosnippet.

Korzystanie z uporządkowanych danych

Ilość treści, które Google automatycznie wyodrębnia ze stron internetowych, aby wyświetlić je w wynikach wyszukiwania, określają metatagi robots. Wielu wydawców korzysta też z uporządkowanych danych schema.org, aby udostępnić określone informacje na potrzeby prezentacji wyszukiwania. Ograniczenia metatagu robots nie wpływają na korzystanie z uporządkowanych danych, z wyjątkiem wartości article.descriptiondescription uporządkowanych danych określonych na potrzeby innej twórczości. Aby określić maksymalną długość podglądu na podstawie wartości description, użyj metatagu robots max-snippet. Na przykład uporządkowane dane recipe na stronie mogą być uwzględnione w karuzeli z przepisami, nawet jeśli tekst podglądu byłyby w innym przypadku ograniczony. Możesz ograniczyć podgląd tekstu za pomocą metatagu robots max-snippet, ale nie jest on stosowany, jeśli informacje podane są przy użyciu uporządkowanych danych na potrzeby wyników z elementami rozszerzonymi.

Aby zarządzać wykorzystaniem uporządkowanych danych na stronach internetowych, zmodyfikuj same typy i wartości tych danych, dodając lub usuwając informacje tak, aby udostępnić tylko wybrane dane. Pamiętaj też, że uporządkowane dane są wciąż użyteczne dla wyników wyszukiwania nawet wtedy, gdy są wskazane w elemencie data-nosnippet.

Praktyczne wdrożenie X-Robots-Tag

Możesz dodać X-Robots-Tag do odpowiedzi HTTP strony za pomocą plików konfiguracji oprogramowania serwera WWW Twojej witryny. Na przykład na serwerach WWW opartych na Apache można używać plików .htaccess i httpd.conf. Zaletą stosowania nagłówka X-Robots-Tag w odpowiedziach HTTP jest to, że możesz określić dyrektywy indeksowania obowiązujące globalnie w całej witrynie. Obsługa wyrażeń regularnych pozwala na znaczną elastyczność.

Aby na przykład dodać noindex, nofollow X-Robots-Tag do odpowiedzi HTTP w przypadku plików PDF w całej witrynie, umieść ten fragment w pliku .htaccess w katalogu głównym, pliku httpd.conf w Apache lub pliku konfiguracji witryny w NGINX.

Apache:

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

NGINX:

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

Nagłówka X-Robots-Tag możesz używać w przypadku plików innych niż HTML (takich jak obrazy), przy których nie można zastosować metatagów robots. Tak wygląda przykładowy nagłówek z dyrektywą noindex X-Robots-Tag obejmującą pliki graficzne (PNG, JPEG, JPG, GIF) w całej witrynie:

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";
}

Łączenie pobierania z dyrektywami indeksowania i wyświetlania

Metatagi robots i nagłówki HTTP X-Robots-Tag są odczytywane podczas skanowania strony pod danym adresem URL. Jeśli w pliku robots.txt zabronisz skanowania strony, roboty nie wykryją dyrektyw indeksowania i wyświetlania, więc nie będą ich przestrzegać. Aby wyszukiwarki stosowały się do dyrektyw indeksowania i wyświetlania, adresy URL stron zawierających te dyrektywy muszą być dostępne do skanowania.