
Na tento problém nedávno upozornila diskuse na Redditu, kde SEO specialista řešil případ, kdy Google indexoval spamové vyhledávací stránky jeho klienta i přesto, že sekce vyhledávání byla v souboru robots.txt zakázána. Do diskuse se zapojil přímo John Mueller z Googlu, který vysvětlil, kde vznikla chyba a jak Googlebot ve skutečnosti zpracovává pravidla zápisu.
Jak Google čte robots.txt: Pravidlo nejspecifičtějšího agenta
Častým mýtem při správě robots.txt je předpoklad, že pravidla definovaná pro obecného robota (User-agent: *) se automaticky vztahují i na konkrétně definované roboty, například pro User-agent: Googlebot.
Logika vyhledávačů je však odlišná: pokud soubor obsahuje specifickou sekci pro daného robota, ten zcela ignoruje obecnou sekci User-agent: *.
Pokud váš soubor robots.txt vypadá takto:
User-agent: Googlebot
Disallow: /admin/
User-agent: *
Disallow: /search/
Disallow: /cart/
Googlebot si v tomto případě přečte výhradně sekci User-agent: Googlebot.
Blok pro User-agent: * zcela odignoruje. Výsledkem je, že adresy interního vyhledávání (/search/) nebo nákupního košíku (/cart/), které jste chtěli před Googlebotem skrýt, zůstanou pro něj volně přístupné.
Pokud chcete, aby Googlebot respektoval stejná pravidla jako ostatní roboti, musíte je do jeho sekce výslovně zkopírovat, případně roboty seskupit pod společný zápis:
Plaintext
User-agent: Googlebot
User-agent: Bingbot
User-agent: *
Disallow: /search/
Disallow: /cart/
Jak spameři zneužívají interní vyhledávání e-shopu
Tato nenápadná chyba v nastavení se nejčastěji ukáže tehdy, když spameři začnou zneužívat interní vyhledávání e-shopu.
Spameři na vašem webu automatizovaně vyhledávají fráze obsahující odkaz nebo název jejich vlastního webu, např. nerelevantní klíčová slova, nelegální obsah či hazard.
Interní vyhledávání e-shopu na takový požadavek vygeneruje unikátní URL adresu typu vasedomena.cz/search?q=spamovy+text.
Pokud Google takovou URL adresu objeví a v souboru robots.txt nenajde platný zákaz, jednoduše ji zaindexuje. Váš e-shop se pak ve výsledcích vyhledávání začne zobrazovat na pochybné fráze, což přímo škodí autoritě domény i celkovému SEO.
Zákaz v robots.txt nestačí
Mnohé projekty se snaží problém vyhledávacího spamu řešit tak, že do robots.txt přidají pravidlo Disallow: /search. Toto řešení má však dva zásadní nedostatky:
- robots.txt řídí crawling, nikoli indexaci. Pokud na vygenerovanou spamovou URL vede odkaz z jiné stránky, Google ji může zaindexovat i bez toho, aniž by ji navštívil.
- Blokování v robots.txt znemožní přečtení noindex. Pokud vyhledávači zakážete přístup na stránku přes robots.txt, robot se na stránku nedostane a nezpracuje příkaz <meta name=“robots“ content=“noindex“>.
Shrnutí pro SEO
- Kontrolujte dědičnost v robots.txt: Pokud na webu používáte specifická pravidla pro Googlebot nebo jiné konkrétní crawlery, ujistěte se, že obsahují všechna omezení, která jste definovali v obecné sekci User-agent: *.
- Indexaci řešte metaznačkami, ne souborem robots.txt: Výsledky interního vyhledávání by měly být pro roboty dostupné k procházení, ale označené pravidlem noindex.
- Pravidelně auditujte indexovaný obsah: Přes Google Search Console sledujte, zda se mezi indexovanými stránkami nezačínají objevovat nežádoucí URL adresy interního vyhledávání.












