Napomena: Ovaj članak izvorno je objavljen na portalu Sistemac dana 29. kolovoza 2010.
Kada se neka informacija objavi na web siteu, obično je cilj da ona bude indeksirana od strane pretraživača i na taj način dostupnija potencijalnim korisnicima. No postoje situacije kada se pojedini sadržaji žele izostaviti iz rezultata pretraživanja, odnosno poželjno je da se niti ne indeksiraju.
Većinu današnjih pretraživača Interneta čine tri komponente: komponenta za prikupljanje podataka, komponenta za indeksiranje prikupljenih podataka te korisničko sučelje za upite i prikaz rezultata.
Što je Robots Exclusion Standard?
U ovom članku bavit ćemo se standardom koji je vezan uz prvu od tri navedene komponente – Robots Exclusion Standard (RES). RES definira na koji način bi se trebali ponašati programi za prikupljanje podataka kada se nađu na određenom web siteu. U literaturi se koriste različiti nazivi za ovu komponentu, a među najčešćima su roboti (robots), paukovi (spiders) i puzači (crawlers).
Robot kreće s prikupljanjem podataka počevši s jednim ili više URL-ova. Paralelno (višenitno) prikupljanje vremenski je brže, ali može zahtijevati više resursa.
Svaki robot trebao bi poštivati RES, ali tome nije uvijek tako. “Pristojni” roboti poštuju taj protokol, no budući da svatko može napisati robota, nema garancije da će poštivanje standarda biti implementirano (Why did this robot ignore my robots.txt?).
Dva načina upravljanja robotima
Dva su načina putem kojih se može upravljati robotima. Prvi je HTML naredba META koja omogućava definiranje pravila na razini dokumenta. Drugi je datoteka robots.txt koja je više usmjerena prema upravljanju na razini web sitea ili pojedine mape.
HTML META naredba
U slučaju HTML naredbe META moguće su sljedeće vrijednosti atributa CONTENT:
- INDEX – robot smije indeksirati stranicu
- NOINDEX – robot ne smije indeksirati stranicu, ali može pratiti linkove s nje
- FOLLOW – robot smije pratiti linkove sa stranice
- NOFOLLOW – robot smije indeksirati stranicu, ali ne smije pratiti linkove s nje. Ovaj atribut je dobro staviti na stranice gdje sami ne utječete na sadržaj, primjerice forumima i društvenim mrežama. Preporuke za upotrebu možete naći u članku About rel=“nofollow”.
Googlebot prihvaća još neke vrijednosti. Više o njima pročitajte u članku Using the robots meta tag.
Datoteka robots.txt
Datoteku robots.txt (ime datoteke mora biti pisano malim slovima) treba smjestiti u korjensku mapu web poslužitelja, primjerice: http://www.domena.hr/robots.txt. Na poslužitelju može biti samo jedna robots.txt datoteka.
Struktura datoteke je izuzetno jednostavna. Ako se želi zabraniti pristup svim robotima u sve mape:
User-agent: *
Disallow: /
Ako se želi zabraniti pristup samo određenom robotu (u ovom slučaju Googleovom) samo određenoj mapi:
User-agent: Googlebot
Disallow: /test/
Imena nekih robota i detaljnije informacije o njima možete naći u bazi podataka Robots Database.
Osim zabrane, neki roboti podržavaju i naredbu Allow pomoću koje je moguće dozvoliti pristup pojedinom dokumentu. Npr. kada se želi indeksirati samo jedan dokument u nekoj podmapi:
User-agent: *
Allow: /dokumenti/novosti.html
Disallow: /dokumenti/
Budući da Allow nije standardna naredba, roboti ju različito tumače pa je potrebno detaljno proučiti dokumentaciju za svaki robot koji vas zanima (Allow directive).
Važna napomena o vidljivosti robots.txt
Bitno je napomenuti da se sadržaj datoteke robots.txt ne može skriti od pretraživača i web preglednika – svima će biti vidljivo koje mape ili datoteke su zaštićene od indeksiranja. Ako vas zanima kako izgledaju neke robots.txt datoteke, pogledajte primjere:
Korisni resursi
Ukoliko vas zanimaju detalji o izradi web pretraživača i načinu rada robota, kao početnu točku preporučamo članak Teaching Key Topics in Computer Science and Information Systems through a Web Search Engine Project. Za izradu vlastitog web robota preporučamo knjigu Jefa Heattona “Programming Spiders, Bots, and Aggregators in Java”. Dodatne upute i savjete vezane uz RES možete pronaći u FAQ na robotstxt.org.