Robots Exclusion Protocol – mechanizm informowania automatów o tym, czego nie powinny robić na stronie WWW.
Dotyczy to przede wszystkim działających automatycznie programów indeksujących serwisy WWW dla wyszukiwarek, które podążając za hiperłączami indeksują całą zawartość danego serwisu do katalogu wyszukiwarki, ale także programów innego typu, np. automatycznych mirrorów.
Robots Exclusion Protocol jest systemem honorowym oraz zaledwie informuje o odpowiednim zachowaniu, nie wymusza go zaś w żaden sposób. System ten jest generalnie przestrzegany, albowiem w niczyim interesie nie leży łamanie jego zasad.
Powody stosowania
- Czasem pobranie jakiejś strony powoduje wywołanie jakiejś akcji, np. oddanie głosu w sondażu (ściśle interpretując standardy, wszystkie tego typu akcje powinny odbywać się za pomocą formularzy oraz metody POST, nie linków oraz GET, nie jest to jednak powszechnie przestrzegane).
- Niechęć autora do tego, żeby dana strona była indeksowana w wyszukiwarkach, albowiem nie wnosi ona żadnej nowej treści do ich bazy. Tak jest m.in. ze stronami edycji na www.pozycjonowanie-bydgoszcz.tk, np.:
- nullpl.wikipedia.org/w/wiki.phtml?title=Robots_Exclusion_Protocol&action=edit
- Duże obciążenie serwera w związku z generacją strony oraz zwykłą niechęć do tego, żeby była ona w bazach wyszukiwarek. Pewne strony internetowe z wielorakich przyczyn wolą pozostać poza wyszukiwarkami, albo pozwalają na indeksowanie tylko swojej strony głównej.
Mechanizmy
Istnieją dwa mechanizmy Robots Exclusion Protocol: robots.txt oraz znaczniki meta.
robots.txt
Najważniejszym mechanizmem jest plik robots.txt umieszczony w katalogu podstawowym serwera. Zgodnie ze standardem Robots Exclusion Protocol, robots.txt to plik składający się z:
- komentarzy zaczętych od #
- rekordów oddzielonych pustymi liniami
- rekord składa się z pól Nazwa: Wartość
- jednego pola User-agent
- pól Disallow
Pole User-agent oznacza jakich programów dany rekord dotyczy. Pola Disallow to prefiksy URL-i, których ściągać nie wolno.
Pole User-agent: * dotyczy wszystkich nie wymienionych w innych rekordach programów.
Pewne boty rozumieją też inne pola, np. ograniczające ilość pobrań ze strony na minutę.
Przykłady
Cała witryna będzie indeksowana przez roboty (tak jakby nie było pliku robots.txt):
Cała witryna nie będzie indeksowana:
User-agent: *
Disallow: /
Indeksowane nie będą tylko foldery "images" oraz "private" w katalogu podstawowym strony:
User-agent: *
Disallow: /images/
Disallow: /private/
Indeksowany nie będzie tylko plik "file" w katalogu "directory":
User-agent: *
Disallow: /directory/file.html
Znaczniki meta
Jest też możliwe podawanie dyrektyw dla robotów w znacznikach HTML: <meta name="robots" content="X">, gdzie X to:
- noindex – nie indeksuj strony
- nofollow – nie podążaj za linkami na stronie
- noarchive – nie archiwizuj strony w cache
X bywa złożone z jednego, dwóch albo trzech powyższych słów rozdzielonych przecinkiem (np. noindex,nofollow,noarchive), przy czym dopuszczalne jest też użycie słowa none jako odpowiednika noindex,nofollow.
Znaczniki meta wymagają analizy HTML-a, więc są używane o wiele rzadziej niż robots.txt