Kdo se alespoň trochu pohybuje v oblasti správy webových stránek, určitě už slyšel o textovém souboru robots.txt, který se umisťuje do URL "adresa_webu"/robots.txt. Bývá volně přístupný pro každého (pro čtení), ale některé weby ho nemají.
V první řadě je třeba si říct, že robots.txt není povinný a někteří ho dokonce považují za přežitek. Když se podíváme do historie, jde o standard z roku 1994, který má pomáhat internetovým robotům s indexací webu. Měl by ukazovat, co a kde se na webu nachází (jakýsi rejstřík).Vyhledávače a internetoví roboti ale udělaly velký krok kupředu a v současné době se dokážou po internetových stránkách pohybovat velice dobře i bez této pomoci. Použití souboru robots.txt je tedy postavené na dobrovolnosti a jeho užitek je nyní diskutabilní.
Jelikož se jedná o kraťoučký textový soubor, nehledejme v něm žádný složitý kód.
Primárním pravidlem je "co není zakázáno, je povoleno". Tímto pravidlem se budou řídit roboti, kteří přijdou na web, na kterém robots.txt nebude existovat. Logicky se tak můžou roboti pohybovat kdekoliv a jakkoliv. Avšak hledání neoznačeného obsahu jim může nějaký čas zabrat. Může se tak prodloužit doba integrace do vyhledávačů.
Tomuto pravidlu se bude rovnat zápis:
User-agent: *
Allow: /
Analogicky k tomu, pokud bude mít web nějakou stránku, která se do vyhledávačů dost nemusí (bývá to například přihlášení správce "adresa_webu"/admin/ ), přes robots.txt ji lze vyloučit. Taková stránka se do indexace vůbec dostat nemusí a robotům to ulehčí práci. Přidáme proto takovýto řádek:
Disallow: /admin/
Dalším vhodným zápisem je vložení adresy XML mapy stránek (sitemap.xml). Často totiž nebývá platný zápis "adresa_webu"/sitemap.xml, ale například "adresa_webu"/new-sitemap-2023.xml apod. Pokud robot nenajde sitemap soubor na obvyklém místě, opět to může zbrzdit samotnou indexaci, což v případě například Google News není vůbec žádoucí.
Jednoduše tak můžeme přidat zápis, kde se mapa stránek nachází:
Sitemap: "adresa_webu"/new-sitemap-2023.xml
Ještě uvedu jedno pravidlo, které se v robots.txt používá. Je to samotná blokace robotů z procházení stránek. Roboty totiž mají nejen vyhledávače, ale i jednotlivé online služby. Patří mezi ně například Ahrefs, který má robota AhrefsBot.
Pokud služby Ahrefs nevyužíváme a nechceme, aby nás pomocí tohoto agenta konkurence mohla sledovat, stačí uvést takovýto zápis:
User-agent: AhrefsBot
Disallow: /
Vyloučí jeho použití ze všech stránek.
Standard robots.txt není všemocný. Nemůže nastavit spouštět JS a další kódy. Není ani povinný (i přihlašovací a nevhodné stránky už umí vyhledávače samy vyloučit z indexace), ale dokáže pomoct. Tou pomocí je především rychlejší indexování. Díky zamezování sledovacích robotů může také ušetřit výkon serveru, protože každý přístup robota server zpracovává a poskytuje mu data.
Na druhou stranu velice snadno si můžete například zakázat Google robota (GoogleBot) a budete mít problém se dostat do vyhledávání v takové míře, v jaké byste chtěli.
Ale i některá pravidla robots.txt mohou být přebity. Například zakážete-li indexaci stránky "adresa_webu"/novinky/ pomocí Disallow, ale bude tam nějaký přínosný obsah, na který budou jiné weby odkazovat, stránka se zaindexuje i přes váš zákaz.
Na závěr se ukážeme celý zápis fiktivní stránky www.321mujweb.cz, který bude mít sitemapu umístěnou na podadrese /sitemap-new.xml, bude blokovat podadresy /admin/ a /user/, bude blokovat agenta AhrefsBot. Ostatní agenti budou povolení:
Sitemap: https://www.321mujweb.cz/sitemap-new.xml
User-agent: *
Disallow: /admin/
Disallow: /user/
User-agent: AhrefsBot
Disallow: /
Autor: Vojtěch Král