Specyfikacje metatagu robots i nagłówka HTTP X-Robots-Tag

W skrócie

W tym dokumencie szczegółowo opisujemy, jak ustawienia indeksowania na poziomie strony pozwalają webmasterom kontrolować sposób udostępniania ich treści w wynikach wyszukiwania Google. Aby określić te ustawienia, umieść odpowiedni metatag na stronach (X)HTML lub w nagłówku HTTP.

Korzystanie z metatagu robots

Metatag robots to szczegółowe rozwiązanie na wybranej stronie, które pozwala kontrolować sposób jej indeksowania i wyświetlania użytkownikom w wynikach wyszukiwania. Umieść go w sekcji <head> danej strony w ten sposób:

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

Metatag robots w tym przykładzie informuje większość wyszukiwarek, by nie pokazywał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ą 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" />

Informuje on teraz Google (ale nie inne wyszukiwarki), że strony nie należy pokazywać w wynikach wyszukiwania. Wielkość liter w atrybutach name i content nie jest rozróżniana.

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

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

Gdy chcesz pojedynczo wymienić kilka robotów, możesz użyć większej liczby metatagów robots:

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

Jeśli nasz robot wykryje konkurujące dyrektywy, postąpi zgodnie z najbardziej restrykcyjną.

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 działają wszystkie dyrektywy z metatagu robots. Przykładowa odpowiedź HTTP z elementem X-Robots-Tag informującym roboty, by 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 zawierająca połączone nagłówki X-Robots-Tag noarchive i 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 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 pokazywanie 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. Z sekcji poniżej dowiesz się, jak korzystać z połączonych dyrektyw. Wielkość liter w nazwach i wartościach nie jest rozróżniana.

Prawidłowe dyrektywy indeksowania i wyświetlania

Kilka różnych dyrektyw metatagu robots i nagłówka X-Robots-Tag pozwala kontrolować indeksowanie oraz wyświetlanie strony. Każda wartość odpowiada konkretnej dyrektywie. W tabeli poniżej znajdziesz nazwy i opisy wszystkich dyrektyw, których przestrzega Google. Uwaga: roboty pozostałych wyszukiwarek mogą traktować te dyrektywy w inny sposób. Wiele dyrektyw można łączyć w listy rozdzielane przecinkami (zasady stosowania połączonych dyrektyw opisujemy w kolejnej sekcji). Wielkość liter w dyrektywach nie jest rozróżniana.

Dyrektywy
all Brak ograniczeń indeksowania i wyświetlania. Uwaga: ta dyrektywa to wartość domyślna i wyraźne jej podawanie nie ma żadnego efektu.
noindex Nie pokazuj tej strony ani linku do kopii w pamięci podręcznej w wynikach wyszukiwania.
nofollow Nie korzystaj z linków na tej stronie.
none Odpowiednik dyrektyw noindex, nofollow.
noarchive Nie pokazuj linku do kopii w pamięci podręcznej w wynikach wyszukiwania.
nosnippet Nie pokazuj w wynikach wyszukiwania fragmentu tekstu ani podglądu filmu z tej strony. Nadal będzie widoczna statyczna miniatura (jeśli jest dostępna).
notranslate Nie proponuj tłumaczenia tej strony w wynikach wyszukiwania.
noimageindex Nie indeksuj obrazów na tej stronie.
unavailable_after: [RFC-850 date/time] Nie pokazuj tej strony w wynikach wyszukiwania po określonej dacie i godzinie. Datę i godzinę należy podać w formacie RFC 850.

Po zezwoleniu na zeskanowanie strony w pliku robots.txt (lub przy jego braku) jest ona domyślnie traktowana jako możliwa do zeskanowania, zindeksowania i zarchiwizowania, a jej zawartość można wykorzystywać we fragmentach wyświetlanych w wynikach wyszukiwania, chyba że wyraźnie tego zabronisz w metatagu robots lub nagłówku X-Robots-Tag.

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, by nie indeksowały strony ani nie korzystały z żadnych zawartych na niej linków:

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

Gdy wymienisz wiele robotów z różnymi dyrektywami, wyszukiwarka 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.

Praktyczna implementacja nagłówka X-Robots-Tag w Apache

Jeśli chcesz dodać nagłówek X-Robots-Tag do odpowiedzi HTTP witryny, użyj plików .htaccess i httpd.conf domyślnie dostępnych na serwerach WWW opartych na Apache. Zaletą stosowania nagłówka X-Robots-Tag w odpowiedziach HTTP jest to, że możesz określić dyrektywy skanowania obowiązujące globalnie w całej witrynie. Obsługa wyrażeń regularnych pozwala na znaczną elastyczność.

Aby na przykład dodać dyrektywę noindex, nofollow do nagłówka X-Robots-Tag w odpowiedzi HTTP przy wszystkich plikachPDF w całej witrynie, umieść ten fragment kodu w pliku .htaccess w katalogu głównym witryny lub w pliku httpd.conf:

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

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 X-Robots-Tag z dyrektywą noindex obejmującą pliki graficzne (PNG, JPEG, JPG, GIF) w całej witrynie:

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

Łączenie skanowania 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 jej skanowania, 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 zeskanowania.

Wyślij opinię na temat...