Plik robots.txt

Podczas crowlingu roboty indeksujące sprawdzają specjalny plik o nazwie robots.txt, który powinien znajdować się w katalogu głównym witryny wraz z plikiem index.HTML. Plik robots.txt jest plikiem tekstowym bez tagów HTML. We wnętrzu pliku robots.txt można umieścić szereg poleceń, które regulują zasady dostępu robotów wyszukiwarek do podstron serwisu WWW.

Robots.txt używa specjalnego protokołu Robots Exclusion Protocol. Przy pomocy komend tego protokołu możemy zabronić (ang. disallow) robotom dostępu do wybranych katalogów czy plików.

Można postawić pytanie - po co używać robots.txt i tym samym zakazywać robotom indeksującym odwiedzenia i zaindeksowania naszej strony? Przecież naszym celem jest zapewnienie sobie jak najwyższej pozycji w wyszukiwarkach. Otóż okazuje się, że są niekiedy sytuacje, gdy chcemy, aby wyszukiwarki nie miały dostępu do danej strony lub pliku na serwerze. Jako przykład można podać sytuację, gdy odwiedzenie strony powoduje oddanie głosu w sondażu. Innym przykładem może być sytuacja, gdy przygotowujemy stronę dla klienta i nie chcemy, żeby została zaindeksowana przed jej ukończeniem. Może również wystąpić sytuacja, gdy na serwerze trzymamy jakieś prywatne pliki, i nie chcemy ich upubliczniać. W takich sytuacjach robots.txt to najskuteczniejsza zapora przeciw robotom

Zawartość pliku robots.txt można podzielić na sekcje. Sekcja pliku zawiera linijkę z nazwą robota (User-agent) oraz linii zawierającej ścieżki, na które danemu robotowi zakazany jest wstęp (Disallow). Poszczególne sekcje oddzielamy pustą linijką. W pliku robots.txt można tylko zabraniać dostępu - nie ma natomiast możliwości dopuszczenia robota do określonych katalogów lub plików.

Wpis Znaczenie
User-agent: *
Disallow:
Znak „*” w sekcji User-agent oznacza „wszystkie roboty”.
Jako, że nic nie jest zabronione, wszystko jest dozwolone.
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/
W tym przykładzie wszystkie roboty mogą zaglądać do wszystkich katalogów z wyjątkiem trzech
wymienionych.
User-agent: BadBot
Disallow: /
Robot o nazwie BadBot nie może katalogować nic z tego serwera.
Znak „/” to skrót do "wszystkie katalogi".
Uwaga: wielkość liter w nazwie bota nie ma znaczenia ( BadBot = badbot = BADBOT)
User-agent: BadBot
Disallow: /

User-agent: *
Disallow: /private/
Podobnie jak wyżej - BadBot nie może katalogować nic, wszystkie pozostałe roboty (poza
BadBot), nie mogą odwiedzić katalogu /private/
User-agent: ZłyBot
Disallow: /tmp/
Disallow: /private/
Disallow:/listing.HTML

User-agent: *
Disallow: /tmp/
Disallow: /private/
Robot o nazwie ZłyBot ma zabroniony dostęp do wymienionych dwóch katalogów oraz do pliku
listing.HTML
Wszystkie pozostałe roboty nie mogą wejść w tmp i private.

Jeśli utworzono plik robots.txt, a nie jesteśmy pewni składni możemy skorzystać z darmowego narzędzia The Robots Syntax Checker.

Aby móc utworzyć plik robots.txt, niezbędne jest poznanie nazw robotów poszczególnych wyszukiwarek. Na stronie http://www.spiders.pl/baza-browse.php znajduje się wykaz prawie 300 najpopularniejszych robotów. Oto kilka z nich:

Wyszukiwarka Nazwa robota
Google Googlebot
Yahoo Yahoobot
Bing msnbot
AltaVista Scooter
Baidu baiduspider

Wielu fachowców zajmujących się pozycjonowaniem zaleca blokowanie dostępu do stron robotom, które pracują dla mało popularnych wyszukiwarek, chociażby, dlatego, że roboty używając protokołu http do ściągania stron, generują ruch i mogą nadmiernie obciążać serwer.

Robots Exclusion Protocol jedynie informuje o odpowiednim zachowaniu, nie wymusza go zaś w żaden sposób. System ten jest generalnie przestrzegany, gdyż w niczyim interesie nie leży łamanie jego zasad.