Analyzátor robots.txt

Vloží sa robots.txt a prečíta sa tak, ako ho číta prehľadávač podľa RFC 9309 (Protokol vylúčenia robotov, štandardizovaný v roku 2022): skupiny user-agent, pravidlá Allow/Disallow, mapy stránok a neznáme direktívy, všetko prehľadne usporiadané — plus audit typických chýb (prázdne riadky disallow, neznáme direktívy, príliš veľké súbory). Porovnávač potom odpovie na skutočnú otázku: vloží sa user agent a cesta a dostane sa verdikt povoliť/zakázať s presným pravidlom, ktoré o ňom rozhodlo — najdlhšia zhoda, zástupný znak *, koncová kotva $ a zlučovanie skupín presne tak, ako to určuje štandard. Všetko beží v prehliadači.
Zatiaľ nič nie je spracované. Vloží sa robots.txt vyššie a stlačí sa Spracovať súbor, alebo sa načíta vzorka.
Porovnávač pracuje s textom, ktorý je práve v poli vyššie (netreba stlačiť Spracovať). User agent sa porovnáva tak, ako ho definuje RFC 9309: hodnota User-agent v súbore musí byť podreťazcom bez ohľadu na veľkosť písmen z toho, čo sa tu zadá — takže zadanie ExampleBot/1.0 zodpovedá skupine deklarovanej ako ExampleBot. Ako cesta sa akceptuje aj celá URL.
User agent (funguje aj skutočný reťazec UA) Cesta alebo úplná URL
Zatiaľ žiadny verdikt. Kliknutím na Otestovať povolenie.
Ako stiahnuť svoj súbor:otvoriťhttps://your-domain.example/robots.txtv prehliadači, označiť všetko, kopírovať a vložiť sem — alebocurl -s https://your-domain.example/robots.txtv termináli. Táto stránka sama nič nenačítava: číta len to, čo sa vloží. Na kontrolu hlavičiek odpovede, ktoré niesli súbor, sa spustia cezanalyzátor hlavičiek HTTP.
Autotest
Znovu spustí analyzátor a porovnávač voči referenčným vektorom RFC 9309: prednosť najdlhšej zhody (vrátane remízy allow-beats-disallow a prípadu hlbokej cesty), zlučovanie skupín, a*skupiny záložné riešenie, rozlišovanie veľkosti písmen v cestách a user agentoch, zástupné znaky, $kotva, implicitné povolenie/robots.txt, normalizácia percent-kódovania, extrakcia máp stránok a záporné cesty. Nič sa nikam neodosiela.
Čo je robots.txt?
Jednou vetou: robots.txt je obyčajný textový súbor v koreňovom adresári stránky, ktorý slušným prehľadávačom hovorí, ktoré cesty smú načítať — dobrovoľná konvencia, štandardizovaná ako RFC 9309 v roku 2022, ktorú dodržiava každý veľký prehľadávač.
Tvar súboru

Súbor je postupnosť záznamov. Skupina sa začína jedným alebo viacerými riadkami User-agent, za ktorými nasledujú pravidlá Allow a Disallow platné pre tieto prehľadávače. Nový riadok User-agent za pravidlami začína novú skupinu; viac riadkov User-agent za sebou zdieľa jednu skupinu (prehľadávač s dvoma menami to potrebuje). Samostatné záznamy ako Sitemap sa môžu objaviť kdekoľvek. # začína komentár kdekoľvek v riadku. Názvy polí nerozlišujú veľkosť písmen; cesty áno.

ČiarovýZnamená
User-agent: foobotNasledujúce pravidlá platia pre prehľadávače, ktorých názov obsahuje foobot (bez ohľadu na veľkosť písmen)
User-agent: *Nasledujúce pravidlá platia pre každý prehľadávač bez konkrétnejšej skupiny
Disallow: /private/Nenačítavať cesty začínajúce na /private/
Allow: /private/public/Výnimka, ktorá pre tieto cesty prebíja vyššie uvedený disallow (najdlhšia zhoda)
Disallow: (prázdne)Nič nie je zakázané — klasická idióma „povoliť všetko“
Sitemap: https://…/sitemap.xmlKde je mapa stránok; prehľadávače ich môžu zbierať viac
Crawl-delay: 30Nie je v RFC 9309 — staré rozšírenie; veľké prehľadávače ho ignorujú alebo interpretujú po svojom
Ako sa dospeje k verdiktu (RFC 9309 §2.2.2)

1. Nájde sa skupina, ktorej hodnota User-agent je podreťazcom mena prehľadávača; všetky zodpovedajúce skupiny sa zlúčia. Ak žiadna, použije sa skupina *; ak nie je ani tá, všetko je povolené. 2. Cesta sa testuje voči každému pravidlu: porovnávanie je na základe predpony, rozlišuje veľkosť písmen a */$ fungujú ako zástupné znaky. 3. Najdlhšie zodpovedajúce pravidlo vyhráva; pri rovnakej dĺžke má Allow prednosť pred Disallow. Ak nezodpovedá žiadne pravidlo, je to povolené. A bez ohľadu na pravidlá je /robots.txt sám implicitne povolený — prehľadávač by inak pravidlá nemohol prečítať.

Časté chyby
  • Presvedčenie, že robots.txt blokuje prístup. Je to žiadosť na slušné prehľadávače, nie múr: škodliví scrapery ho úplne ignorujú a nemá vplyv na to, čo môže prehliadač otvoriť. Na skutočnú ochranu treba autentifikáciu; robots.txt je správny nástroj len na riadenie vyhľadávačov.
  • Očakávanie, že Disallow: / odstráni stránku z výsledkov vyhľadávania. Zastaví to prehľadávanie, nie indexovanie: ak na stránku odkazujú iné stránky, vyhľadávač môže URL uviesť aj naďalej (bez popisu). Na odstránenie slúži meta značka noindex alebo hlavička odpovede.
  • Spoliehanie sa na poradie namiesto dĺžky. Prvé zodpovedajúce pravidlo nevyhráva — vyhráva najšpecifickejšie (najdlhšie). Preskupovanie riadkov na „opravu“ správania nič nezmení; namiesto toho treba zamýšľané pravidlo predĺžiť.
  • Blokovanie CSS a JS. Zakazovanie /*.css$ a /*.js$ bolo kedysi bežnou „optimalizáciou“; vykresľovače dnes tieto súbory potrebujú, aby videli stránku tak ako návštevníci, a napoly vykreslená stránka sa môže umiestniť horšie.
  • Zaobchádzanie s jednou veľkou skupinou ako s dokumentáciou. Riadky komentárov v skupine sú v poriadku, ale odsek textu pred prvým riadkom User-agent bez # je chyba analýzy, ktorá môže zmiasť zhovievavé analyzátory.
FAQ

Podporujú všetky prehľadávače Allow, * a $? Veľké áno a RFC 9309 všetky tri štandardizuje. Niektoré menšie alebo staršie prehľadávače chápu len Disallow a * čítajú doslovne — jeden dôvod držať pravidlá jednoduché, keď sa dá.

Čo znamená prázdne Disallow:? „Nezakázať nič“ — skupina výslovne povoľuje všetko. Zvyčajne sa objaví, keď niekto upraví šablónu a odstráni cestu, ale nie direktívu; audit na to upozorní.

Aký veľký smie súbor byť? RFC 9309 vyžaduje, aby analyzátory zvládli aspoň 500 KiB; nad to môže prehľadávač prestať čítať a zvyšok považovať za zakázaný. Treba zostať ďaleko pod týmto limitom a ak rastie veľmi, spochybniť, či riadenie prehľadávania patrí do hlavičiek stránky.

Prečo porovnávač hovorí, že /robots.txt je povolený aj pod Disallow: /? Lebo to štandard hovorí výslovne: samotný súbor robots je implicitne povolený. urllib.robotparser v Pythone a iné ho tento osobitný prípad neimplementujú — jedna z malých odchýlok medzi analyzátormi v praxi, ktorú táto stránka dokumentuje vo vlastnom samotteste.

Rozlišuje sa veľkosť písmen v ceste Disallow? Áno. /Private/ a /private/ sú rôzne cesty. Názov poľa disallow môže byť v ľubovoľnej veľkosti písmen, ale hodnota sa musí presne zhodovať s URL.