Robots.txt datoteka

Pregled sadržaja

Što je robots.txt datoteka?

Robots.txt datoteka je obična tekstualna datoteka koja je namijenjena računalnim botovima koju analiziraju stranice. S obzirom da je namijenjena računalima, sintaksa datoteke je točno definirana. Ne postoji službeni standard i specifikacija kako se ophoditi sa datotekom, ali postoji nekoliko mjerodavnih izvora na koje se možemo obratiti. Jedan od njih je Google članak koji opisuje specifikacije robots.txt datoteke kako ga oni koriste. Mi ćemo spomenuti stavke kojih se ionako pridržavaju sve glavne tražilice.

Kada botovi analiziraju stranice kroz cijelu domenu oni idu od stranice do stranice putem linkova koje pronađu. Prije nego što bot analizira stranicu svaki puta otvori robots.txt datoteku kako bi provjerio ima li nekih naredbi kojih se tamo mora pridržavati. Primjerice, možda ne smije pristupiti nekoj određenoj stranici.

Botovi ne otvaraju tu datoteku svaki puta prilikom pokretanja analize svake stranice, već je ubace u predmemoriju kako bi im rad bio efikasniji. Ipak je nekoliko puta kroz dan osvježe za slučaj da su se dogodile neke promjene.

Kako kreirati datoteku

Datoteka se obavezno postavlja u osnovni direktorij domene. Primjerice, ako je domena web-trgovina.hr, onda se datoteka mora pronaći na adresi i možete je otvoriti u vašem pregledniku:

https://web-trgovina.hr/robots.txt

Naziv datoteke obavezno mora biti napisan malim slovima i na cijeloj web stranici (domeni) možemo imati samo jednu datoteku.

Slobodno možemo pisati komentare u datoteku kako bismo kasnije znali što smo htjeli postići. To ćemo postići znakon # koji stavljamo na početak reda.

# Ovo je primjer komentara.

Prednost korištenja robots.txt

Prednost robots.txt datoteke je prije svega kontroliranje proračuna indeksiranja.

Botovi koji analiziraju web stranice imaju određena ograničenja ovisno o projektu jer analiziranje svake pojedine stranice na cijeloj domeni nije toliko jednostavan proces, pogotovo na ogromnim projektima. Kako bi bolje usmjerili botove da određene stranice brže indeksiraju i sve resurse fokusiraju na uži spektar URL-ova možemo koristiti naredbu koja će spriječiti pristup određenim putanjima.

Naredni kôd blokira sve URL-ove koji u sebi sadrže query string.

Disallow: /*?*

Query string je sve ono što dolazi iza upitnika a odnosi se najčešće na filtere ili pretrage koji se vrše na nekim stranicama (arhiva proizvoda, tražilica i sl.). Sadrži ime parametra, znak jednakosti (=) i vrijednost.

Primjerice, naredni URL će obično imati ovakav query string ako netko traži pojam tenisice na stranicama: https://web-trgovina.hr/?s=tenisice

Kao drugi primjer, ova naredba će spriječiti pristup svemu onome što je u adresi smješteno iza “kategorija-proizvoda”

Disallow: /kategorija-proizvoda/*

Kada smo zadovoljni sa rezultatima, možemo jednostavno obrisati naredbe i sve odmah vratiti u početno stanje.

Dodavanje mape stranica u robots.txt

Robots.txt datoteka je dobro mjesto za dodati link na glavnu XML mapu stranicu. Mapa stranica je datoteka koja sadrži cjelokupni popis svih stranica projekta koje želimo da tražilice (Google, Bing…) indeksiraju i prikažu posjetiocima. Jedan od dodatnih načina kojim to možemo učiniti je dodavanjem u Search Console za Google ili u Webmaster Tools za Bing, međutim na taj način će samo njihove tražilice imati informaciju o tome. Stoga, korisno je još dodati link i u robots.txt datoteku a to možemo učiniti narednim kodom:

Sitemap: https://web-trgovina.hr/sitemap.xml

Postavljanje zabrane indeksiranja

Treba imati na umu da gornje opisane radnje ne znače da će stranice unutar tih blokiranih direktoriija biti spriječene od indeksiranja. Ako postoji dovoljno linkova na neke od tih stranica, tražilice će stranice moći uključiti u svoj indeks. Ako se želi pouzdano izbjeći da stranica bude indeksirana, nužno je postaviti meta vrijednost noindex unutar <head> dijela svake željene web stranice. U tom slučaju botovima se MORA unutar robots.txt omogućiti pristup stranici jer inače oni neće ni moći vidjeti taj tag.

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

Upotreba i pravilna sintaksa robots.txt datoteke

Sadržaj datoteke čini blok direktiva koje se odnose na određeni user-agent (ime robota). Kada definiramo user-agent za sve pomoću zvjezdice i ispod ne napišemo ništa, to znači da svim robotima dopuštamo slobodno kretanje svim stranicama bez ograničenja.

User-agent: *

Tipovi korisničkih agenata

Tražilice obično imaju više vrsta botova koji su specijalizirani za određene tipove podataka. Primjerice, neki robot može biti fokusiran samo na slike ili videozapise. Shodno tome možemo i preciznije definirati vrijednosti koje su nam potrebne.

Za Google su ovo vrijednosti koje možemo koristiti da preciziramo radnju za određeni robot:

  • Googlebot – generalno
  • Googlebot-Image – slike
  • Googlebot-Video – video
  • Googlebot-Mobile – mobilni ekrani
  • Mediapartners-Google – AdSense
  • AdsBot-Google – GoogleAds

Bing ima ove vrijednosti:

  • bingbot ili msnbot – generalno
  • msnbot-media – slike i video
  • adidxbot – reklame

Postavljanje ograničenja za određene tipove datoteka

Možemo imati tako sintaksu postavljenu za sve botove ili možemo dodatno specificirati direktive samo za neke određene (Google, Bing…).

U ovom primjeru prvom definicijom zabranjujemo pristup svima određenoj stranici dok u drugoj i trećoj definiciji zabranjujemo pristup određenoj stranici samo Google tražilici ili Bingu.

User-agent: * 
Disallow: /stranica-zabranjena-svima/
User-agent: Googlebot 
Disallow: /stranica-zabranjena-googleu/
User-agent: bingbot 
Disallow: /stranica-zabranjena-bingu/ 
Disallow: /druga-stranica-zabranjena-bingu/

Svaku stranicu kojoj želimo spriječiti pristup moramo ponovno definirati tagom “Disallow: “. Nije moguće u jednom redu sve napisati.

Vrijednost za user-agent obično upisujemo na kraći mogući način, jer puna vrijednost je dosta složenija. Ovo je puna vrijednost za Google korisnički agent

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Ako želimo da robot uzme u obzir sve nazive i tipove datoteka unutar određenog kategorija koristimo zvjezdicu (*). Slično, ako želimo da se tvrdnja odnosi na bilokoji naziv ali za određenu ekstenziju datoteke, tada ćemo na mjestu naziva staviti zvjezdicu.

Disallow: /video/*
Disallow: /fotografije/*.jpg

Ograničavanje opsega puzanja robota na stranicama

Kada želimo sačuvati bandwidth na velikim projektima i ograničiti botove od puzanja po stranicama korisno je podesiti vrijeme odgode. Idućom naredbom postavljamo pauzu od 10 sekunde nakon što robot analizira jednu stranicu. Pauza od 10 sekundi znači da robot ne može u toku 24 sata analizirati više od 8640 stranica.

crawl-delay: 10

Posebno za Google tražilicu možemo definirati ograničenje brzinu indeksiranja u opcijama unutar Search Console. Po zadanim postavkama Google sam određuje kolika bude stopa puzanja ali ako uočimo da pretjeruje u svojim zahtjevima zbog čega nam server pati, korigiranje te opcije možemo smanjiti njegovu stopu puzanja. Postavljena vrijednost vrijedit će idućih 90 dana.

Testiranje robots.txt datoteke

Nakon modificiranja naredbi korisno je provjeriti ispravnost datoteke da nam se nije dogodila greška. U tu svrhu možemo koristiti alat za testiranje robots.txt datoteke koju možemo pronaći unutar Google Search Console. Potrebno je imati kreiran Google račun i projekt je potrebno kreirati i verificirati jednom od ponuđenih metoda. Nakon provjere datoteke, Google nam prikaže datum kada je on saznao za posljednju verziju datoteke te javi ako je naišao na neke greške.