Moodul 3 · 3.3
robots.txt: mida blokeerida ja mida mitte
Moodul 3: Lehe tehniline alus · Lugemisaeg: 13 minutit
Õpieesmärk: Pärast seda õppetundi oskad robots.txt-i lugeda ja kirjutada, ise välja arvutada, kas Googlebot tohib aadressi külastada, ja selgitada, mis juhtub, kui fail puudub või pole kättesaadav. Samuti tead, miks robots.txt pole turvameede ega noindex.
Põhimõisted: robots.txt (RFC 9309), roomaja, grupp, User-agent, Disallow, Allow, pikim vaste, võrdne pikkus (Allow võidab), * ja $, Sitemap:, robots.txt-i olekukood (4xx, 5xx), 500 KiB, 24 tunni vahemälu, pole turvameede, pole noindex, AI-roomajad (Google-Extended, GPTBot)
Silt välisukse juures
robots.txt on tavaline tekstifail sinu saidi juurkaustas ja see asub alati samal aadressil: https://www.example.com/robots.txt. Korralik roomaja (õppetund 1.2) küsib kõigepealt selle faili ja loeb, milliseid saidi osi ta külastada ei tohi. See on silt välisukse juures, mitte lukk: Googlebot ja Bingbot peavad sellest kinni, aga pahatahtlik robot loeb sildi läbi ja läheb lihtsalt edasi.
Alates 2022. aastast on protokoll ametlik internetistandard: RFC 9309. Lisaks kirjeldab Google täpselt, kuidas Googlebot faili loeb. Selles õppetunnis kasutame mõlemat allikat.
Mõned kindlad kokkulepped:
- Fail asub hosti juurkaustas. Faili
/blog/robots.txtei loeta. - See kehtib ainult selle hosti, protokolli ja pordi kohta.
https://www.example.com/robots.txtei kehti aadressilehttps://shop.example.com/; sellel peab olema oma fail. - See on lihttekst kodeeringus UTF-8.
Kuidas fail on üles ehitatud
User-agent: *
Disallow: /winkelmand/
Disallow: /zoeken
Allow: /zoeken/tips
User-agent: Googlebot
Disallow: /concepten/
Sitemap: https://www.example.com/sitemap.xmlFail koosneb gruppidest. Grupp algab ühe või mitme reaga User-agent: ning sellele järgnevad read Disallow: (ära külasta) ja Allow: (võib külastada). Rea Disallow: järel olev tee on aadressi algus: Disallow: /zoeken blokeerib aadressid /zoeken, /zoeken?q=rozen ja ka /zoekenmachine, sest need kõik algavad osaga /zoeken.
Rida Sitemap: ei kuulu ühtegi gruppi ja ütleb, kus asub sinu saidikaart (õppetund 3.4). Google nõuab täielikku aadressi koos https:// ja hostinimega.
Disallow: ilma teeta ei blokeeri midagi. Disallow: / blokeerib kõik.
Milline grupp kehtib?
Roomaja valib ühe grupi: selle, mille nimi talle kõige täpsemalt sobib. Googlebot järgib seega gruppi User-agent: Googlebot, kui see olemas on, ja jätab grupi * siis täielikult tähelepanuta. Ülaltoodud näites tohib Googlebot seega minna kausta /winkelmand/: see reegel on ainult *-grupis. See on üks levinumaid vigu: kui teed Googlebotile eraldi grupi, pead kõik reeglid, mis kehtivad ka Google'ile, seal uuesti kirja panema.
Nimes ei ole suur- ja väiketähtedel vahet (googlebot = Googlebot). Kui samale roomajale on kaks gruppi, liidab Google need kokku.
Milline reegel võidab?
Grupi sees võib aadressile sobida mitu reeglit. Siis kehtib:
- Võidab pikim sobiv reegel (kõige täpsem tee).
- Kui
AllowjaDisallowon täpselt sama pikad, võidabAllow. Google nimetab seda "kõige vähem piiravaks reegliks".
Kahel märgil on eriline tähendus:
| Märk | Tähendus | Näide | Sobib | Ei sobi |
|---|---|---|---|---|
* | null või rohkem suvalist märki | Disallow: /*?sessie= | /rozen?sessie=12 | /rozen?kleur=rood |
$ | aadressi lõpp | Disallow: /*.pdf$ | /folder.pdf | /folder.pdf?v=2 |
Arvutusnäide ülaltoodud grupiga * roomaja Bingbot jaoks (tal pole oma gruppi):
| Aadress | Sobivad reeglid | Tulemus |
|---|---|---|
/winkelmand/ | Disallow: /winkelmand/ | ei tohi |
/zoeken/tips | Disallow: /zoeken (7 märki) ja Allow: /zoeken/tips (12) | tohib: pikim võidab |
/zoeken?q=rozen | Disallow: /zoeken | ei tohi |
/bruidsboeketten | puuduvad | tohib |
/robots.txt | (alati) | tohib: robots.txt ise on alati lubatud |
Kui faili pole või server hangub
See, mida Google teeb, sõltub olekukoodist, millega su server aadressile /robots.txt vastab:
| Vastus | Mida Google teeb |
|---|---|
| 200 (leitud) | Loeb reeglid |
| Ümbersuunamine (301, 302) | Järgib vähemalt viit sammu; seejärel käsitleb Google seda kui 404 |
| 4xx, näiteks 404 või 403 (v.a 429) | Justkui robots.txt-i polekski: kõik on lubatud |
| 5xx või ühendus puudub | Esimesed 12 tundi Google saiti ei roomata ja proovib uuesti; seejärel kasutab kuni 30 päeva vahemälust viimast head versiooni. Kui viga püsib ka pärast seda, aga sait muidu töötab, käitub Google nii, nagu robots.txt-i poleks |
Puuduv robots.txt pole seega probleem: siis on kõik lubatud. Robots.txt, mis annab serveri vea, on aga probleem: siis lõpetab Google ajutiselt roomamise. RFC 9309 on siin veel rangem: kui fail pole kättesaadav, peab roomaja eeldama, et kõik on keelatud.
Lisaks:
- Google loeb kõige rohkem 500 KiB; kõik, mis tuleb pärast seda, jäetakse tähelepanuta.
- Google hoiab robots.txt-i vahemälus tavaliselt kuni 24 tundi. Muudatus ei hakka seega kohe tööle. Search Console'is leiad jaotisest Seaded robots.txt-i aruande: milline versioon Google viimati alla laadis, koos vigade ja hoiatustega, ning nupu uuesti allalaadimiseks.
- Google tunneb ainult ridu
User-agent,Allow,DisallowjaSitemap. Ridu naguCrawl-delayvõiNoindexGooglebot ei arvesta.
Mida robots.txt ei tee
See pole turvameede
Sinu robots.txt-i saab lugeda igaüks, ka see, kellel on halvad kavatsused. Rida Disallow: /beheer-oud/ näitab hoopis kätte, kus on midagi huvitavat. RFC 9309 ütleb ise: reeglid ei ole juurdepääsu kaitse vorm. Päriselt kaitsed sa sisu parooliga või lastes serveril juurdepääsu keelata, näiteks failiga .htaccess (vt Loe edasi).
See pole noindex
See on kõige olulisem õppetund. robots.txt reguleerib roomamist, mitte indekseerimist (õppetund 1.3). Google kirjutab sõna-sõnalt, et robots.txt ei ole viis lehe Google'ist eemal hoidmiseks. Kui teised saidid lingivad blokeeritud aadressile, võib see aadress ikkagi otsingutulemustes ilmuda, lihtsalt ilma kirjelduseta.
Kui tahad lehte otsingutulemustest eemal hoida, kasuta noindex-i (sildis <meta name="robots"> või päises X-Robots-Tag) või pane leht parooli taha. Ja hoidu klassikalisest lõksust: kui paned noindex-iga lehe robots.txt-is ka Disallow alla, ei saa Google lehte külastada ega seega kunagi noindex-i lugeda.
Ära blokeeri osi, mida Google vajab
Ära blokeeri kaustu stiililehtede, skriptide või piltidega, mida su leht korrektseks kuvamiseks vajab. Google vaatab su lehte nii nagu brauser; ilma nende failideta saab Google lehest halvemini aru.
Tehisintellekti roomajad
Üha rohkem ettevõtteid kogub veebilehti tehisintellekti jaoks. Mõnda neist saad robots.txt-is eraldi pöörduda:
Google-Extendedpole eraldi robot, vaid nimi robots.txt-is, millega annad teada, kas Google tohib sinu sisu kasutada Gemini mudelite treenimiseks ja grounding'u jaoks. Google kirjutab, et sellel pole mõju sinu kaasamisele ega positsioonile Google'i otsingus.- OpenAI
GPTBotkogub lehti, mida võidakse kasutada mudelite treenimiseks.OAI-SearchBoton ChatGPT otsingufunktsiooni jaoks: kui selle blokeerid, ei ilmu su sait ChatGPT otsinguvastustes.
User-agent: GPTBot
Disallow: /Kas sa seda tahad, on valik, mitte tehniline vajadus. Kui blokeerid kogemata otsingurobotı (Googlebot, Bingbot, OAI-SearchBot), leitakse sind seal halvemini.
Praktikas: kus su robots.txt asub?
- WebOké AI Builder loob avaldamisel ise robots.txt-i ridadega
User-agent: *,Allow: /jaSitemap:-reaga. Kui määrad saidi mitte indekseerima või see on tasuta demo, on sealDisallow: /. - WordPress loob virtuaalse robots.txt-i, milles on viide saidikaardile. Kui paned veebikausta ise faili
robots.txt, on see eelisjärjekorras. - Oma sait majutuspaketis: paned faili
robots.txtveebikausta (DirectAdminispublic_html) File Manageri või FTP kaudu.
Teiste teenusepakkujate juures töötab see sarnaselt: fail peab alati olema kättesaadav sinu hosti aadressil /robots.txt.
Kokkuvõte
- robots.txt asub iga hosti aadressil
/robots.txtja ütleb korralikele roomajatele, mida nad külastada ei tohi. - Roomaja järgib ühte gruppi (kõige täpsema nimega, muidu
*). Grupi sees võidab pikim reegel; võrdse pikkuse korral võidabAllow. - 404 tähendab "kõik on lubatud", serveri viga paneb Google'i ajutiselt roomamist lõpetama. Google loeb 500 KiB ja hoiab faili vahemälus kuni 24 tundi.
- robots.txt pole turvameede ega noindex. Ära blokeeri
noindex-iga lehte robots.txt-is. - AI-roomajaid nagu
GPTBotja nimeGoogle-Extendedsaad reguleerida eraldi, ilma mõjuta Google'i otsingule.
Test
Ülesanne
Ülesanne A3.3: Sinu robots.txt läbivaatus. Sisesta oma domeen ja lisaks kolm aadressi oma saidilt (näiteks avaleht, tooteleht ja ostukorv või otsinguleht) ning iga aadressi juurde oma ootus: kas Googlebot tohib seda roomata, jah või ei? Programm laadib su robots.txt-i alla, vaatab olekukoodi, suurust, gruppe ja Sitemap:-rida ning arvutab iga aadressi kohta välja, mida Googlebot selle õppetunni reeglite järgi tohib. Kas sinu ootus pidas paika? Sul pole oma saiti? Kasuta aadressi www.wikipedia.org.
Loe edasi
Nende artiklite sammud kehtivad WebOké paneelide kohta; teiste teenusepakkujate juures töötab see sarnaselt.
- DirectAdmin juhend 11.1: File Manageri avamine: paketi kaustad
- Failide blokeerimine .htaccess-i kaudu, nt plugin-googlemap2-proxy.php
- DirectAdmin juhend 11.4: Peidetud failide, näiteks .htaccess, kuvamine ja muutmine
- Google Search Central, kuidas Google robots.txt-i tõlgendab: https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt
- Google Search Central, sissejuhatus robots.txt-i: https://developers.google.com/search/docs/crawling-indexing/robots/intro
- RFC 9309, Robots Exclusion Protocol: https://www.rfc-editor.org/rfc/rfc9309.html
- Google, roomajate ülevaade (Google-Extended): https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers
- OpenAI, roomajate ülevaade (GPTBot, OAI-SearchBot): https://developers.openai.com/api/docs/bots
