Modul 3 · 3.3
robots.txt: kaj blokirate in česa ne
Modul 3: Tehnična osnova strani · Čas branja: 13 min
Učni cilj: Po tej lekciji boste znali brati in pisati datoteko robots.txt, sami izračunati, ali Googlebot sme obiskati določen naslov, razložiti, kaj se zgodi, če datoteka manjka ali ni dosegljiva, in vedeli boste, zakaj robots.txt ni zaščita in ni noindex.
Ključni pojmi: robots.txt (RFC 9309), pajek (crawler), skupina, User-agent, Disallow, Allow, najdaljše ujemanje, enaka dolžina (zmaga Allow), * in $, Sitemap:, statusna koda datoteke robots.txt (4xx, 5xx), 500 KiB, 24 ur predpomnjenja, ni zaščita, ni noindex, pajki UI (Google-Extended, GPTBot)
Tablica pri vhodnih vratih
Datoteka robots.txt je navadna besedilna datoteka v korenski mapi Vašega spletnega mesta, vedno na istem naslovu: https://www.example.com/robots.txt. Dostojen pajek (lekcija 1.2) najprej zahteva to datoteko in prebere, katerih delov spletnega mesta ne sme obiskati. To je tablica pri vhodnih vratih, ne ključavnica: Googlebot in Bingbot jo upoštevata, zlonamerni robot pa tablico preprosto prebere in gre naprej.
Od leta 2022 je protokol uradni internetni standard: RFC 9309. Google poleg tega natančno opisuje, kako Googlebot bere datoteko. V tej lekciji uporabljamo oba vira.
Nekaj stalnih pravil:
- Datoteka je v korenski mapi gostitelja. Datoteka robots.txt v
/blog/robots.txtse ne prebere. - Velja samo za tega gostitelja, ta protokol in ta vrata.
https://www.example.com/robots.txtne velja zahttps://shop.example.com/; ta potrebuje lastno datoteko. - Gre za navadno besedilo v kodiranju UTF-8.
Kako je datoteka zgrajena
User-agent: *
Disallow: /winkelmand/
Disallow: /zoeken
Allow: /zoeken/tips
User-agent: Googlebot
Disallow: /concepten/
Sitemap: https://www.example.com/sitemap.xmlDatoteka je sestavljena iz skupin. Skupina se začne z eno ali več vrsticami User-agent:, nato sledijo pravila Disallow: (ne obiskati) in Allow: (obiskati). Pot za Disallow: je začetek naslova: Disallow: /zoeken blokira /zoeken, /zoeken?q=rozen in tudi /zoekenmachine, saj se vsi začnejo z /zoeken.
Vrstica Sitemap: ne spada v nobeno skupino in pove, kje je Vaš zemljevid spletnega mesta (lekcija 3.4). Google zahteva poln naslov s https:// in imenom gostitelja.
Pravilo Disallow: brez poti ne blokira ničesar. Disallow: / blokira vse.
Katera skupina velja?
Pajek izbere eno skupino: tisto z najbolj specifičnim imenom, ki ustreza njemu. Googlebot torej sledi skupini User-agent: Googlebot, če ta obstaja, in skupino * takrat v celoti prezre. V zgornjem primeru Googlebot torej sme v /winkelmand/: to pravilo je samo v skupini *. To je ena najpogostejših napak: kdor ustvari ločeno skupino za Googlebot, mora vanjo ponoviti vsa pravila, ki veljajo tudi za Google.
Pri imenu velike in male črke niso pomembne (googlebot = Googlebot). Če sta za istega pajka dve skupini, ju Google združi.
Katero pravilo zmaga?
Znotraj skupine lahko naslov ustreza več pravilom. Takrat velja:
- Zmaga najdaljše ujemajoče se pravilo (najbolj specifična pot).
- Če sta
AllowinDisallownatanko enako dolga, zmagaAllow. Google temu pravi "najmanj omejujoče pravilo".
Dva znaka imata poseben pomen:
| Znak | Pomen | Primer | Zajame | Ne zajame |
|---|---|---|---|---|
* | nič ali več poljubnih znakov | Disallow: /*?sessie= | /rozen?sessie=12 | /rozen?kleur=rood |
$ | konec naslova | Disallow: /*.pdf$ | /folder.pdf | /folder.pdf?v=2 |
Primer izračuna s skupino * od zgoraj, za pajka Bingbot (ki nima lastne skupine):
| Naslov | Ujemajoča se pravila | Rezultat |
|---|---|---|
/winkelmand/ | Disallow: /winkelmand/ | ne sme |
/zoeken/tips | Disallow: /zoeken (7 znakov) in Allow: /zoeken/tips (12) | sme: zmaga najdaljše |
/zoeken?q=rozen | Disallow: /zoeken | ne sme |
/bruidsboeketten | nobeno | sme |
/robots.txt | (vedno) | sme: sama datoteka robots.txt je vedno dovoljena |
Če datoteke ni ali strežnik ne deluje
Kaj Google naredi, je odvisno od statusne kode, s katero Vaš strežnik odgovori na /robots.txt:
| Odgovor | Kaj naredi Google |
|---|---|
| 200 (najdeno) | Prebere pravila |
| Preusmeritev (301, 302) | Sledi vsaj petim korakom; nato Google to obravnava kot 404 |
| 4xx, na primer 404 ali 403 (razen 429) | Kot da datoteke robots.txt ni: vse je dovoljeno |
| 5xx ali ni povezave | Prvih 12 ur Google spletnega mesta ne pregleduje in poskuša znova; nato do 30 dni uporablja zadnjo dobro različico iz predpomnilnika. Če napaka ostane, spletno mesto pa sicer deluje, Google ravna, kot da datoteke robots.txt ni |
Manjkajoča datoteka robots.txt torej ni težava: takrat je vse dovoljeno. Datoteka robots.txt, ki vrne napako strežnika, pa je težava: takrat Google začasno preneha s pregledovanjem. RFC 9309 je pri tem še strožji: če datoteka ni dosegljiva, mora pajek predpostaviti, da je vse prepovedano.
Poleg tega:
- Google prebere največ 500 KiB; kar je za tem, prezre.
- Google datoteko robots.txt običajno hrani v predpomnilniku do 24 ur. Sprememba torej ne začne delovati takoj. V Search Console pod Nastavitve najdete poročilo robots.txt: katero različico je Google nazadnje prenesel, z napakami in opozorili, ter gumb za ponoven prenos.
- Google pozna samo
User-agent,Allow,DisallowinSitemap. Pravila, kot staCrawl-delayaliNoindex, Googlebot prezre.
Česa robots.txt ne naredi
Ni zaščita
Vašo datoteko robots.txt lahko prebere vsak, tudi kdor ima slabe namene. Pravilo Disallow: /beheer-oud/ prav pokaže, kje je nekaj zanimivega. RFC 9309 to pove sam: pravila niso oblika zaščite dostopa. Zares zaščitite z geslom ali tako, da strežnik zavrne dostop, na primer z .htaccess (glejte Za nadaljnje branje).
Ni noindex
To je najpomembnejša lekcija. robots.txt ureja pregledovanje, ne indeksiranja (lekcija 1.3). Google dobesedno piše, da robots.txt ni način, kako stran obdržati zunaj Googla. Če druga spletna mesta povezujejo na blokiran naslov, se ta naslov lahko vseeno pojavi v rezultatih iskanja, le brez opisa.
Če želite stran obdržati zunaj rezultatov iskanja, uporabite noindex (v <meta name="robots"> ali v glavi X-Robots-Tag) ali stran zaščitite z geslom. In pazite na klasično past: če stran z noindex v robots.txt dodatno nastavite na Disallow, Google strani ne more obiskati in noindex zato nikoli ne prebere.
Ne blokirajte delov, ki jih Google potrebuje
Ne blokirajte map s slogovnimi datotekami, skripti ali slikami, ki jih Vaša stran potrebuje za pravilen prikaz. Google si Vašo stran ogleda tako kot brskalnik; brez teh datotek jo razume slabše.
Pajki UI
Vse več podjetij zbira spletne strani za umetno inteligenco. Nekatere od njih lahko nagovorite z datoteko robots.txt:
Google-Extendedni ločen robot, temveč ime v robots.txt, s katerim določite, ali sme Google Vašo vsebino uporabiti za učenje modelov Gemini in za grounding. Google piše, da to ne vpliva na Vašo vključenost ali položaj v Google Iskanju.GPTBotpodjetja OpenAI zbira strani, ki se lahko uporabijo za učenje modelov.OAI-SearchBotje namenjen iskalni funkciji ChatGPT: če ga blokirate, se Vaše spletno mesto ne pojavi v iskalnih odgovorih ChatGPT.
User-agent: GPTBot
Disallow: /Ali to želite, je Vaša odločitev, ne tehnična nujnost. Če po pomoti blokirate iskalnega robota (Googlebot, Bingbot, OAI-SearchBot), Vas bodo tam slabše našli.
V praksi: kje je Vaša datoteka robots.txt?
- AI Builder podjetja WebOké ob objavi sam ustvari datoteko robots.txt z
User-agent: *,Allow: /in vrsticoSitemap:. Če spletno mesto nastavite na brez indeksiranja ali gre za brezplačni demo, je v njejDisallow: /. - WordPress ustvari navidezno datoteko robots.txt s povezavo na zemljevid spletnega mesta. Če sami postavite datoteko
robots.txtv spletno mapo, ima ta prednost. - Lastno spletno mesto na gostovanju: datoteko
robots.txtpostavite v spletno mapo (pri DirectAdminpublic_html) prek Upravitelja datotek ali FTP.
Pri drugih ponudnikih deluje podobno: datoteka mora biti vedno dosegljiva na /robots.txt Vašega gostitelja.
Povzetek
- robots.txt je na
/robots.txtvsakega gostitelja in dostojnim pajkom pove, česa ne smejo obiskati. - Pajek sledi eni skupini (najbolj specifičnemu imenu, sicer
*). Znotraj skupine zmaga najdaljše pravilo; pri enaki dolžini zmagaAllow. - 404 pomeni "vse je dovoljeno", napaka strežnika pa Google začasno ustavi pri pregledovanju. Google prebere 500 KiB in predpomni do 24 ur.
- robots.txt ni zaščita in ni noindex. Strani z
noindexne blokirajte v robots.txt. - Pajke UI, kot je
GPTBot, in imeGoogle-Extendedlahko urejate ločeno, brez posledic za Google Iskanje.
Kviz
Naloga
Naloga A3.3: Pregled Vaše datoteke robots.txt. Vpišite svojo domeno in poleg nje tri naslove svojega spletnega mesta (na primer domačo stran, stran izdelka in košarico ali stran za iskanje) ter za vsak naslov svoje pričakovanje: ali ga Googlebot sme pregledati, da ali ne? Program prenese Vašo datoteko robots.txt, preveri statusno kodo, velikost, skupine in vrstico Sitemap: ter za vsak naslov izračuna, kaj Googlebot sme po pravilih iz te lekcije. Ali se Vaše pričakovanje ujema? Nimate lastnega spletnega mesta? Uporabite www.wikipedia.org.
Za nadaljnje branje
Koraki v teh člankih veljajo za nadzorne plošče WebOké; pri drugih ponudnikih deluje podobno.
- Priročnik DirectAdmin 11.1: Odpiranje upravitelja datotek: mape v Vašem paketu
- Blokiranje datotek prek .htaccess, na primer plugin-googlemap2-proxy.php
- Priročnik DirectAdmin 11.4: Prikaz in urejanje skritih datotek, kot je .htaccess
- Google Search Central, kako Google tolmači robots.txt: https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt
- Google Search Central, uvod v robots.txt: https://developers.google.com/search/docs/crawling-indexing/robots/intro
- RFC 9309, Robots Exclusion Protocol: https://www.rfc-editor.org/rfc/rfc9309.html
- Google, pregled pajkov (Google-Extended): https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers
- OpenAI, pregled pajkov (GPTBot, OAI-SearchBot): https://developers.openai.com/api/docs/bots
