Analyzátor robots.txt

Vložte robots.txt a přečtěte jej tak, jak jej čte crawler, podle RFC 9309 (Protokol vyloučení robotů, standardizovaný v roce 2022): skupiny user-agent, pravidla Allow/Disallow, mapy stránek a neznámé direktivy, vše přehledně uspořádáno — plus audit klasických chyb (prázdné řádky disallow, neznámé direktivy, příliš velké soubory). Matcher pak odpoví na skutečnou otázku: vložte user agent a cestu a dostanete verdikt povolit/zakázat s přesným pravidlem, které rozhodlo — nejdelší shoda, zástupný znak *, koncová kotva $ a slučování skupin, přesně podle standardu. Vše běží ve vašem prohlížeči.
Zatím nic nezpracováno. Vložte robots.txt nahoru a stiskněte Analyzovat soubor, nebo načtěte ukázku.
Matcher pracuje s textem, který je právě v poli výše (není třeba nejprve stisknout Analyzovat). User agent se páruje způsobem definovaným RFC 9309: hodnota User-agent v souboru musí být podřetězec bez ohledu na velikost písmen v tom, co zde napíšete — takže zápis ExampleBot/1.0 odpovídá skupině deklarované jako ExampleBot. Jako cestu lze zadat i úplnou URL.
User agent (funguje skutečný řetězec UA) Cesta, nebo úplná URL
Zatím žádný verdikt. Stiskněte Otestovat oprávnění.
Jak stáhnout váš soubor:otevříthttps://your-domain.example/robots.txtv prohlížeči, vybrat vše, zkopírovat a vložit sem — nebocurl -s https://your-domain.example/robots.txtv terminálu. Tato stránka nic nestahuje sama: pouze čte to, co vložíte. Chcete-li zkontrolovat hlavičky odpovědi, které soubor přenesly, spusťte je přesanalyzátor HTTP hlaviček.
Autotest
Znovu spustí parser a matcher proti referenčním vektorům RFC 9309: přednost nejdelší shody (včetně remízy allow-proti-disallow a případu hluboké cesty), slučování skupin, *záložní skupina, citlivost cest a user agentů na velikost písmen, zástupné znaky, $kotva, implicitní povolení z/robots.txt, normalizaci kódování procent, extrakci map stránek a záporné cesty. Nic se nikam neodesílá.
Co je robots.txt?
Jednou větou: robots.txt je prostý textový soubor v kořeni webu, který slušným crawlerům říká, které cesty smějí stahovat — dobrovolná konvence, standardizovaná jako RFC 9309 v roce 2022, kterou dodržuje každý hlavní crawler.
Podoba souboru

Soubor je posloupnost záznamů. Skupina začíná jedním nebo více řádky User-agent, za nimiž následují pravidla Allow a Disallow platná pro tyto crawlery. Nový řádek User-agent za pravidly začíná novou skupinu; několik řádků User-agent za sebou sdílí jednu skupinu (crawler se dvěma jmény to potřebuje). Samostatné záznamy jako Sitemap mohou být kdekoli. # začíná komentář kdekoli na řádku. Názvy polí nerozlišují velikost písmen; cesty ano.

SpojnicovýZnamená
User-agent: foobotPravidla níže platí pro crawlery, jejichž jméno obsahuje foobot (bez ohledu na velikost písmen)
User-agent: *Pravidla níže platí pro každý crawler bez konkrétnější skupiny
Disallow: /private/Nestahovat cesty začínající na /private/
Allow: /private/public/Výjimka, která pro tyto cesty přebíjí disallow výše (nejdelší shoda)
Disallow: (prázdné)Nic není zakázáno — klasická idiom „povolit vše“
Sitemap: https://…/sitemap.xmlKde je vaše mapa stránek; crawlery jich mohou sbírat více
Crawl-delay: 30Není v RFC 9309 — starší rozšíření; hlavní crawlery jej ignorují nebo interpretují po svém
Jak se dospěje k verdiktu (RFC 9309 §2.2.2)

1. Najděte skupinu, jejíž hodnota User-agent je podřetězcem jména crawleru; sloučte všechny odpovídající skupiny. Pokud žádná, použijte skupinu *; pokud není ani ta, je vše povoleno. 2. Otestujte cestu proti každému pravidlu: shoda je založena na předponě, rozlišuje velikost písmen a */$ fungují jako zástupné znaky. 3. Vyhrává nejdelší odpovídající pravidlo; při stejné délce je Allow silnější než Disallow. Žádné odpovídající pravidlo znamená povoleno. A ať říkají pravidla cokoli, samotný /robots.txt je implicitně povolen — crawler by jinak pravidla nemohl přečíst.

Časté chyby
  • Domněnka, že robots.txt blokuje přístup. Je to žádost slušným crawlerům, ne zeď: nepoctiví scrapery ji zcela ignorují a nemá žádný vliv na to, co může prohlížeč otevřít. Pro skutečnou ochranu použijte autentizaci; pro řízení jen vyhledávačů je robots.txt správný nástroj.
  • Očekávání, že Disallow: / odstraní stránku z výsledků vyhledávání. Zastaví procházení, ne indexování: pokud na vaši stránku odkazují jiné stránky, vyhledávač URL může stále uvést (bez popisu). Nástrojem pro odstranění je meta značka nebo hlavička odpovědi noindex.
  • Spoléhání se na pořadí místo délky. Nevyhrává první odpovídající pravidlo — vyhrává nejkonkrétnější (nejdelší). Přeskládání řádků, aby se „opravilo“ chování, nic nedělá; místo toho pravidlo, které myslíte, prodlužte.
  • Blokování CSS a JS. Zakazovat /*.css$ a /*.js$ bývalo běžnou „optimalizací“; renderery nyní tyto soubory potřebují, aby viděly stránku tak jako návštěvníci, a napůl vykreslená stránka se může umístit hůř.
  • Zacházení s jedinou velkou skupinou jako s dokumentací. Komentářové řádky uvnitř skupiny jsou v pořádku, ale odstavec prózy před prvním řádkem User-agent bez # je chyba parsování, která může zmást shovívavé parsery.
Časté dotazy

Podporují všichni crawlery Allow, * a $? Hlavní ano a RFC 9309 všechny tři standardizuje. Některé menší nebo starší crawlery rozumějí jen Disallow a čtou * doslova — jeden z důvodů, proč udržet pravidla jednoduchá, když to jde.

Co znamená prázdné Disallow:? „Nezakazovat nic“ — skupina výslovně povoluje vše. Obvykle se objeví, když někdo upraví šablonu a smaže cestu, ale ne direktivu; audit to označí.

Jak velký smí soubor být? RFC 9309 vyžaduje, aby parsery zvládly alespoň 500 KiB; nad to může crawler přestat číst a zbytek považovat za zakázaný. Držte se hluboko pod tím a pokud vyroste obrovsky, zvažte, zda řízení procházení nepatří spíše do hlaviček stránek.

Proč matcher říká, že /robots.txt je povolen i pod Disallow: /? Protože to standard říká doslova: soubor robots je implicitně povolen. Python urllib.robotparser mimo jiné tento zvláštní případ neimplementuje — jedna z malých odchylek mezi reálnými parsery, kterou tato stránka dokumentuje ve svém samotestu.

Rozlišuje cesta v Disallow velikost písmen? Ano. /Private/ a /private/ jsou různé cesty. Název pole disallow může být v libovolné velikosti písmen, ale hodnota se musí přesně shodovat s URL.