Robots.txt: co to je, jak ho napsat a kdy škodí
Robots.txt je textový soubor v kořeni webu, který vyhledávacím robotům říká, které adresy nemají procházet. Nic neskrývá a sám o sobě nebrání tomu, aby se stránka objevila v Googlu – na to slouží značka noindex. Jeden špatný řádek ale dokáže zastavit procházení celého webu.
Aktualizováno
Kde soubor leží a jak ho čte Google
Robots.txt musí být přesně na adrese /robots.txt v kořeni domény, tedy třeba https://vasefirma.cz/robots.txt. Ve složce o úroveň níž ho žádný robot hledat nebude. Platí vždy jen pro tu konkrétní kombinaci protokolu a hostitele – subdoména eshop.vasefirma.cz potřebuje vlastní soubor.
Než robot začne web procházet, soubor si stáhne a podle pravidel se rozhodne, kam smí. Google si ho obvykle pamatuje až 24 hodin. Když soubor neexistuje (server vrátí 404), bere to jako „bez omezení“. Když ale server odpovídá chybou 5xx, Google může procházení webu na čas omezit, dokud se soubor znovu nenačte. Proto se vyplatí, aby robots.txt vždy normálně odpovídal, i když je prázdný.
Jak vypadá správný zápis
Soubor tvoří skupiny pravidel. Každá začíná řádkem User-agent (pro kterého robota platí) a pokračuje řádky Disallow (kam nesmí) a Allow (výjimka ze zákazu). Typický soubor menšího firemního webu nebo e-shopu:
User-agent: *
Disallow: /admin/
Disallow: /kosik/
Disallow: /*?razeni=
Allow: /admin/verejne-podklady/
Sitemap: https://vasefirma.cz/sitemap.xml| Pravidlo | Co dělá |
|---|---|
User-agent: * | Skupina platí pro všechny roboty, kteří nemají vlastní skupinu |
Disallow: /kosik/ | Zakazuje procházet vše, co začíná /kosik/ |
Disallow: /*?razeni= | Hvězdička zastupuje libovolné znaky – blokuje varianty adres s řazením |
Allow: /admin/verejne-podklady/ | Výjimka uvnitř zakázané složky |
Sitemap: | Plná adresa souboru se seznamem stránek |
Cesty rozlišují velká a malá písmena a porovnávají se od začátku adresy. Řádek Sitemap je nezávislý na skupinách a pomáhá robotům najít sitemap, i když jste ji nikde neodeslali. Direktivu Crawl-delay Google nepodporuje, řada jiných robotů ano.
Zákaz procházení není zákaz indexace
Tohle je nejčastější omyl. Disallow říká „sem nechoď“, ne „tohle nezobrazuj“. Když na zablokovanou adresu vedou odkazy z jiných stránek, Google ji může zařadit do výsledků i bez přečtení obsahu – zobrazí jen adresu a místo popisu oznámení, že informace nejsou k dispozici.
Pokud stránku ve výsledcích mít nechcete, použijte meta značku noindex nebo hlavičku X-Robots-Tag. A pozor: stránka se značkou noindex nesmí být zároveň blokovaná v robots.txt, jinak se k ní robot nedostane a značku nikdy neuvidí. Jak Google rozhoduje, co do výsledků zařadí, popisuje heslo Indexace webu. Zápis Noindex: přímo v robots.txt Google od roku 2019 nepodporuje.
Chyby, které web vyřadí z vyhledávání
- Zbylé
Disallow: /z vývoje. Během stavby webu se celý web často zakáže. Po spuštění na to někdo zapomene a Google přestane web procházet. - Blokované styly a skripty. Když robot nesmí načíst CSS a JavaScript, nevidí stránku tak, jak ji vidí lidé, a může ji vyhodnotit hůř.
- Robots.txt jako „zabezpečení“. Soubor je veřejný, každý si přečte, které složky skrýváte. Neveřejné části chraňte heslem.
- Příliš široké pravidlo.
Disallow: /szablokuje i/sluzby/a/servis/, protože pravidlo platí pro vše, co tak začíná. - Blokace stránek, které mají jít z výsledků pryč. Google je pak nemůže přečíst ani zjistit, že tam je noindex.
Pokud Google váš web nezobrazuje vůbec, robots.txt je jedna z prvních věcí ke kontrole. Další možné příčiny probírá článek Proč můj web není na Googlu.
Jak robots.txt zkontrolovat
- Otevřete
vasefirma.cz/robots.txtv prohlížeči a přečtěte si každý řádek Disallow. - V Google Search Console otevřete v nastavení přehled robots.txt. Uvidíte, kdy Google soubor naposledy stáhl a jestli v něm našel chyby.
- Konkrétní adresu ověřte nástrojem Kontrola adresy URL – ukáže, zda ji robots.txt neblokuje. Jak se v Search Console orientovat, vysvětluje průvodce Google Search Console.
Robots.txt na našich webech
Na webech, které stavíme, robots.txt patří k základnímu SEO: odkaz na sitemapu, zákaz jen tam, kde to dává smysl, a kontrola před spuštěním, že v něm nezůstal zákaz z vývoje. Vizitkový web se základním SEO u nás vyjde na 15 000 Kč. Opravu na webu, který dělal někdo jiný, nejdřív prohlédneme a cenu řekneme předem – počítá se hodinovou sazbou 1 000 Kč.
Časté otázky
Musí mít každý web robots.txt?
Nemusí. Když soubor chybí a server vrátí chybu 404, Google to bere tak, že smí procházet všechno. Krátký robots.txt s odkazem na sitemapu se ale hodí a ušetří robotům zbytečné návštěvy administrace nebo košíku.
Jak rychle Google změnu v robots.txt zaznamená?
Google si obsah souboru obvykle drží v mezipaměti až 24 hodin, takže úprava se neprojeví hned. Pokud opravujete chybu, která blokovala celý web, můžete v Search Console v přehledu robots.txt požádat o nové načtení.
Respektuje robots.txt i Seznam?
Ano, SeznamBot i další slušní roboti se jím řídí. Pravidla můžete psát pro všechny najednou přes User-agent: * nebo zvlášť pro konkrétního robota podle jeho jména.
Dá se přes robots.txt zablokovat AI roboty?
Ti, kteří pravidla dodržují, ano – stačí uvést jejich user-agent a Disallow. Jde ale o dobrovolnou dohodu, ne o technickou zábranu. Než nějakého robota zablokujete, ověřte si, jestli tím neomezíte i zobrazování ve vyhledávači, který k němu patří.
Proč Search Console hlásí „Indexed, though blocked by robots.txt“?
Google adresu nesmí procházet, ale našel na ni odkazy, a tak ji zařadil bez znalosti obsahu. Chcete-li ji z výsledků dostat, povolte procházení a dejte na stránku značku noindex. Když je to stránka, kterou ve výsledcích chcete, stačí blokaci odstranit.