Dziś chciałbym pokazać Wam czym jest plik robots.txt, jakie jest jego zastosowanie i czy warto go stosować. Plik robots (ang. spider, robot, crawler) umożliwia kontrolowanie zachowań robotów sieciowych oraz ich dostęp do zasobów w danej witrynie internetowej. Inaczej mówiąc, podczas tworzenia pliku wskazujemy jakie roboty oraz jakie dane mogą zostać znalezione i zaindeksowane przez wyszukiwarki internetowe, katalogi itp.Wyobraźmy sobie sytuację, gdy na naszym serwerze znajduje się witryna internetowa, która składa się z kilku katalogów. Dodatkowo na serwerze umieszczone są prywatne dane np. w katalogu /temp/. Jak łatwo się domyślić, chcemy aby nasza witryna została zaindeksowana przez wyszukiwarki internetowe, ale bez wspomnianego katalogu /temp/. Podany przykład możemy bez problemu zaimplementować w pliku robots.txt. Szczegóły i zasady tworzenia pliku robots zostały opisane w dwóch dokumentach. Pierwszy z nich w 1994 r. „A Standard for Robot Exclusion”, drugi w 1997 r. „A Method for Web Robots Control”.
Zasady i reguły pliku robots
1) Wymagana nazwa pliku to „robots.txt” i powinien być zwykłym plikiem tekstowym.
2) Plik robots musi zawsze znajdować się w katalogu głównym serwera HTTP (inna lokalizacja pliku nie przyniesie żadnego rezultatu).
3) Odpowiedzi serwera pliku robots:
- 3xx (przekierowanie) – podążaj za plikiem
- 401 Unauthorized – nie pobieraj żadnych zasobów,
- 403 Forbidden – nie pobieraj żadnych zasobów,
- 404 Not Found (brak pliku na serwerze) – pobierz wszystkie zasoby,
- 503 Service Unavailable (plik niedostępny) – próba analizy zostanie powtórzona.
4) Stosowanie pliku robots jest opcjonalne.
1) Wymagana nazwa pliku to „robots.txt” i powinien być zwykłym plikiem tekstowym.
2) Plik robots musi zawsze znajdować się w katalogu głównym serwera HTTP (inna lokalizacja pliku nie przyniesie żadnego rezultatu).
3) Odpowiedzi serwera pliku robots:
- 3xx (przekierowanie) – podążaj za plikiem
- 401 Unauthorized – nie pobieraj żadnych zasobów,
- 403 Forbidden – nie pobieraj żadnych zasobów,
- 404 Not Found (brak pliku na serwerze) – pobierz wszystkie zasoby,
- 503 Service Unavailable (plik niedostępny) – próba analizy zostanie powtórzona.
4) Stosowanie pliku robots jest opcjonalne.
Składnia pliku
Plik robots składa się z rekordów o następującej konstrukcji:
Dozwolone są również komentarze przy użyciu znaku
Plik robots składa się z rekordów o następującej konstrukcji:
pole: wartośćDozwolone są również komentarze przy użyciu znaku
# - hash np.# to jest komentarz pliku robots.txtPole User-agent w pliku robots.txt
określa nazwę – identyfikator robota. Korzystając z tego pola określamy jakie roboty mają dostęp do zasobów naszej witryny. Pole może przyjmować następujące wartości:
-
-
-
-
- inne roboty:
Szczegółowy opis i wykaz wszystkich robotów znajduje się na oficjalnej witrynie pliku robots.
określa nazwę – identyfikator robota. Korzystając z tego pola określamy jakie roboty mają dostęp do zasobów naszej witryny. Pole może przyjmować następujące wartości:
-
* (określa wszystkie roboty),-
Googlebot (robot Google),-
msnbot (robot MSN),-
slurp (robot Yahoo),- inne roboty:
Adsbot-Google, Googlebot-Mobile, Googlebot-Image, itd.Szczegółowy opis i wykaz wszystkich robotów znajduje się na oficjalnej witrynie pliku robots.
Ponieważ samo zadeklarowanie robota nie przyniesie żadnego rezultatu, należy nadać każdemu robotowi atrybut dostępu. Są to:
Disallow – dostęp zabroniony,Allow – dostęp do zasobów (niezalecany i niewykorzystywany).Poniższy przykład pokazuje zdefiniowany rekord:
# znacznik Allow nie jest zalecany!
User-agent: Googlebot
Allow: /temp/
Disallow: /abc/Na samym początku określamy w polu
User-agent robota i jego nazwę. Następnie korzystając z atrybutów Allow – robot Googlebot otrzyma dostęp do katalogu /temp/, a atrybut Disallow uniemożliwi dostęp do katalogu /abc/. W pierwszej linii powyższego przykładu widzimy komentarz rozpoczynający się od znaku #. Użyty w przykładzie atrybut Allow jest zbędny, ponieważ zawartość (poza zawartością wskazaną w ścieżce Disallow) będzie dostępna dla robotów.Oczywiście w jednym pliku robots, możemy definiować zachowania dla jednego, kilku lub wszystkich robotów, określając ich dostęp do zasobów np.:
# robot Google
User-agent: Googlebot
Disallow: /temp/
Disallow: /wazne/
# pozostałe roboty
User-agent: *
Disallow: /W powyższym przykładzie pierwszy robot Googlebot nie otrzyma dostępu do katalogów: /temp/ oraz /wazne/. Wszystkie pozostałe zasoby dostępne będą dla Googlebot. Drugi wpis określa zachowanie wszystkich niewymienionych wcześniej robotów, a zapis
oznacza zablokowanie dostępu wszystkich plików i folderów.
Disallow: /oznacza zablokowanie dostępu wszystkich plików i folderów.
Kolejny bardziej rozbudowany przykład:
# pierwszy wpis
# pusta wartość w Disallow oznacza dostęp do wszystkich zasobów
User-agent: Googlebot
User-agent: msnbot
Disallow:
# drugi wpis
User-agnet: Adsbot-Google
User-agnet: Googlebot-Image
Disallow: /
# trzeci wpis
User-agent: slurp
Disallow: /dokumenty/
# czwarty wpis
User-agent: *
Disallow: /dokumenty/
Disallow: /temp/plik.htmlRoboty Googlebot i msnbot otrzymają dostęp do wszystkich folderów i plików, natomiast całe zasoby serwera zostaną zablokowane dla robotów Adsbot-Google i Googlebot-Image. Trzeci wpis zablokuje dostęp do katalogu /dokumenty/ dla robota slurp. Pozostałe roboty będą miały dostęp do wszystkich zasobów oprócz katalogu /dokumenty/ i pliku /temp/plik.html.
Pole Sitemap w pliku robots.txt
Niektóre roboty internetowe wspierają mapy witryn (ang. sitemap), które zostały szczegółowo opisane w artykule „Mapy witryny XML”. Dzięki takiemu rozwiązaniu możemy od razu w pliku robots.txt zdefiniować odwołanie do mapy witryny strony internetowej. Poniżej przykład wpisu definiujący mapy witryny w pliku robots.txt:
Niektóre roboty internetowe wspierają mapy witryn (ang. sitemap), które zostały szczegółowo opisane w artykule „Mapy witryny XML”. Dzięki takiemu rozwiązaniu możemy od razu w pliku robots.txt zdefiniować odwołanie do mapy witryny strony internetowej. Poniżej przykład wpisu definiujący mapy witryny w pliku robots.txt:
# przykład zastosowania wpisu mapy witryny w pliku robots.txt
Sitemap: http://www.piwnicait.blogspot.com/sitemap.xml
Sitemap: http://www.piwnicait.blogspot.com/sitemap-index.xmlWażne reguły i zalecenia przy tworzeniu wpisów
- Określenie samego atrybutu
- Nie można zabronić dostępu do pliku robots.txt np.
- Atrybut
- Ścieżki dostępu nie mogą zawierać znaków globalnych, a znaki specjalne np.
- Zapis:
- W polach Sitemap zalecane jest stosowanie adresów bezpośrednich.
- Określenie samego atrybutu
Disallow: bez wskazania ścieżki oznacza dostęp do wszystkich zasobów.- Nie można zabronić dostępu do pliku robots.txt np.
Disallow: /robots.txt – ten plik jest zawsze dostępny.- Atrybut
Allow nie został powszechnie zaakceptowany i nie jest zalecane jego stosowanie.- Ścieżki dostępu nie mogą zawierać znaków globalnych, a znaki specjalne np.
& muszą zostać zastąpione postacią szesnastkową np. %26.- Zapis:
Disallow: /dokument nie jest równoznaczny z zapisem: Disallow: /dokument/. Pierwszy z nich zabrania dostępu do katalogów, których nazwa zaczyna się lub składa ze znaków "dokument", np. "dokumenty", "dokument", "dokument.html", "dokumentalny.txt" itp. Dostęp do wszystkich wymienionych plików i folderów zostanie zablokowany dla robotów. Natomiast drugi wpis Disallow: /dokument/ oznacza zablokowanie dostępu tylko do katalogu /dokument/.- W polach Sitemap zalecane jest stosowanie adresów bezpośrednich.
Znacznik meta w pliku HTML
Jednym z kolejnych zaleceń standardu jest podanie dyrektyw dla robotów w znacznikach HTML. Wspomnianą dyrektywę należy umieścić pomiędzy znacznikiem otwierającym
Jednym z kolejnych zaleceń standardu jest podanie dyrektyw dla robotów w znacznikach HTML. Wspomnianą dyrektywę należy umieścić pomiędzy znacznikiem otwierającym
<head>, a zamykającym </head>.<meta name=„robots” content=„wartość”>, gdzie content może przyjmować następujące wartości, zgodne ze standardem konsorcjum W3C:-
index – indeksuj strony,-
all – jest równoznaczne z index i follow (podążaj za linkami na stronie),-
noindex – nie indeksuj strony,-
nofollow – nie podążaj za linkami na stronie.Istnieje również powiązanie wartości
noindex i nofollow poprzez zapisanie obu wartości po przecinku content=„noindex,nofollow”.Odpowiedzialne i poprawne wykorzystanie pliku robots.txt daje szerokie możliwości konfiguracji witryny pod kątem pozycjonowania i indeksowania serwisów oraz witryn www przez wyszukiwarki internetowe. Oczywiście każdy webmaster musi zdać sobie sprawę z tego, że zbyt „agresywne” zastosowanie pliku robots.txt, może wiązać się z wieloma konsekwencjami i może zostać odebrane jako malware czy tzw. „bad bot”. Mam nadzieję, że zaprezentowane przykłady pozwolą w dowolny sposób skonfigurować plik robots.txt na waszych witrynach.
Na zakończenie powyższe przykłady: robots.zip.
Nie ponoszę odpowiedzialności za błędy i następstwa powstałe wskutek działania programu i kodu. Pobierasz i użytkujesz na własną odpowiedzialność.



