Specyfikacje tagu meta Robots, data-nosnippet i 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 tag meta 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.

Pamiętaj, że aby móc odczytywać ustawienia i ich przestrzegać, roboty muszą mieć dostęp do zawierających je stron.

Reguła <meta name="robots" content="noindex"> dotyczy robotów wyszukiwarki. Aby zablokować inne roboty, takie jak AdsBot-Google, może być konieczne dodanie reguł skierowanych do konkretnego robota (na przykład <meta name="AdsBot-Google" content="noindex">).

Używanie tagu robots meta

Tag robots meta pozwala na precyzyjne określanie, jak dana strona ma być indeksowana i wyświetlana użytkownikom w wynikach wyszukiwania Google. Umieść tag robots meta w sekcji <head> danej strony w ten sposób:

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

W tym przykładzie tag robots meta informuje wyszukiwarki, że mają nie wyświetlać strony w wynikach wyszukiwania. Wartość atrybutu name (robots) wskazuje, że dyrektywa odnosi się do wszystkich robotów. Wielkość liter w atrybutach name i content nie jest rozróżniana. Aby skierować dyrektywę do konkretnego robota, zastąp wartość robots w atrybucie name tokenem klienta użytkownika, do którego się zwracasz. Google obsługuje 2 tokeny klienta użytkownika w tagu robots meta; inne wartości są ignorowane:

  1. googlebot: dla wszystkich wyników tekstowych.
  2. googlebot-news: dla wyników z wiadomościami.

Aby na przykład uniemożliwić Google wyświetlanie strony w wynikach wyszukiwania, możesz podać googlebot jako nazwę tagu meta:

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

Aby wyświetlać stronę w wynikach wyszukiwania Google, ale nie w Wiadomościach Google, użyj tagu googlebot-news meta:

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

Aby pojedynczo wskazać kilka robotów, użyj kilku tagów robots meta:

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

Aby zablokować indeksowanie zasobów w formacie innym niż HTML, takich jak pliki PDF, pliki wideo czy pliki graficzne, użyj nagłówka odpowiedzi X-Robots-Tag.

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. Każda reguła, której można użyć w tagu robots meta, może być również określona jako nagłówek X-Robots-Tag. 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ę reguł 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 regułami 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
(…)

Reguły 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 reguły indeksowania i wyświetlania

Poniższe dyrektywy, dostępne również w formacie czytelnym dla komputerów, mogą służyć do kontrolowania indeksowania i wyświetlania krótkich opisów za pomocą tagu robots meta i X-Robots-Tag. Każda wartość odpowiada konkretnej regule. Kilka reguł można połączyć w listę rozdzieloną przecinkami lub podać w oddzielnych tagach meta. Wielkość liter w regułach nie jest rozróżniana.

Reguły

all

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

noindex

Uniemożliwia wyświetlanie strony, treści multimedialnej lub zasobu w wynikach wyszukiwania. Jeśli reguła nie jest określona, strona, treść multimedialna lub zasób mogą być indeksowane i wyświetlać się w wynikach wyszukiwania.

Aby usunąć informacje z Google, postępuj zgodnie z naszym szczegółowym przewodnikiem.

nofollow

Nie korzystaj z linków na tej stronie. Jeśli ta reguła 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 reguła 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.

nositelinkssearchbox

Uniemożliwia wyświetlanie pola wyszukiwania z linkami do podstron w wynikach wyszukiwania dotyczących tej strony. Jeśli ta reguła nie jest określona, Google może wygenerować w wynikach wyszukiwania pole wyszukiwania dotyczące Twojej witryny oraz inne bezpośrednie linki do niej.

nosnippet

Uniemożliwia wyświetlanie w wynikach wyszukiwania krótkiego fragmentu strony lub podglądu filmu. 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). Przeglądy SGE Google nie pokazują też treści zablokowanych za pomocą nosnippet.

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

indexifembedded

Google może indeksować treść strony umieszczonej na innej stronie za pomocą elementów iframes lub podobnych tagów HTML pomimo zastosowania reguły noindex.

Tag indexifembedded ma zastosowanie tylko wtedy, gdy towarzyszy mu dyrektywa noindex.

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). Oprócz tego przeglądy SGE Google nie będą wyświetlać treści powyżej określonego limitu. 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 reguła jest ignorowana, jeśli nie określono żadnego możliwego do przeanalizowania elementu [liczba].

Jeśli nie określisz tej reguły, 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 reguła 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 reguła 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 reguła 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 reguła nie jest określona, a Google dostarczy wynik wyszukiwania w języku innym niż język zapytania, może go wyświetlić w postaci linku z przetłumaczonym tytułem i fragmentem. Jeśli użytkownik go kliknie, cała dalsza interakcja ze stroną będzie odbywać się przy użyciu Tłumacza Google, który będzie automatycznie tłumaczyć wszystkie linki klikane przez użytkownika.

noimageindex

Uniemożliwia indeksowanie 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, reguła będzie ignorowana. Domyślnie treści nie mają daty ważności.

Jeśli reguła nie jest określona, strona może być wyświetlana w wynikach wyszukiwania bezterminowo. Po określonej dacie i godzinie Googlebot znacznie zmniejszy szybkość indeksowania adresu URL.

Przykład:

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

Obsługa połączonych reguł indeksowania i wyświetlania

Instrukcję dotyczącą kilku reguł można utworzyć, łącząc reguły tagu robots meta za pomocą przecinków lub przez użycie kilku tagów meta. Tak wygląda przykładowy tag robots meta informujący roboty indeksujące, aby nie indeksowały strony ani nie korzystały z żadnych zawartych na niej linków:

Lista rozdzielona przecinkami

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

Kilka tagów meta

<meta name="robots" content="noindex">
<meta name="robots" content="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 regułami, wyszukiwarka będzie przestrzegać sumy reguł negatywnych. Przykład:

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

Googlebot po pobraniu strony z tymi tagami meta zinterpretuje ją jako stronę z regułą 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 -->

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

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, jeśli 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ą tagi Robots meta. Wielu wydawców korzysta też z uporządkowanych danych schema.org, aby udostępnić określone informacje na potrzeby wyświetlania wyników wyszukiwania. Ograniczenia tagu Robots meta 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 reguły 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. Podgląd tekstu możesz ograniczyć za pomocą tagu max-snippet, ale ten tag robots meta nie jest 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 mogą pojawiać się w wynikach 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, modyfikując pliki konfiguracji oprogramowania serwerowego 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ć reguły indeksowania obowiązujące globalnie w całej witrynie. Obsługa wyrażeń regularnych pozwala na znaczną elastyczność.

Aby na przykład dodać do odpowiedzi HTTP nagłówek X-Robots-Tag z regułami noindex, nofollow dotyczącymi wszystkich plików .PDF w całej witrynie, umieść ten fragment w pliku .htaccess w katalogu głównym, pliku httpd.conf w Apache lub pliku .conf 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ć tagów meta robots. Tak wygląda przykładowy nagłówek X-Robots-Tag z regułą noindex 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";
}

Nagłówki X-Robots-Tag możesz też ustawić w przypadku pojedynczych plików statycznych:

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

Łączenie reguł pliku robots.txt z regułami indeksowania i wyświetlania

Tagi robots meta 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ą reguł indeksowania i wyświetlania, więc nie będą ich przestrzegać. Aby wyszukiwarki stosowały się do reguł indeksowania i wyświetlania, adresy URL stron zawierających te reguły muszą być dostępne do skanowania.