Technické SEO
Robots.txt: co to je a jak ho
správně nastavit
Soubor robots.txt říká crawlerům vyhledávačů, kam na vašem webu smí a kam ne. Tato stránka vám ukáže přesnou syntaxi direktiv, tři komentované vzory ke zkopírování a nejčastější chyby, které mohou shodit celý web z výsledků vyhledávání.
Obsah článku
Kdy je tato stránka pro vás
- Potřebujete nastavit robots.txt od nuly nebo zkontrolovat stávající
- Chcete vědět, proč Google ignoruje váš zákaz a jak to napravit
- Řešíte crawl budget u e-shopu s filtry nebo velkým katalogem
- Chcete zabránit AI crawlerům ve stahování obsahu webu
- Nevíte, kdy použít robots.txt a kdy raději noindex nebo canonical
Aktualizováno: . Obsah vychází z oficiální dokumentace Google Search Central, RFC 9309 (standardizace robots.txt) a z praktické zkušenosti PŘESAH.agency se správou technického SEO pro e-shopy a obsahové weby.
Základ
Co je robots.txt
Robots.txt je jednoduchý textový soubor umístěný v kořenovém adresáři domény, který říká crawlerům, které části webu smí procházet a které ne. Každý robot, který přijde na web, by si ho měl nejdřív přečíst a teprve pak začít procházet stránky.
Soubor je veřejně přístupný komukoli. Zobrazíte ho zadáním vasestranka.cz/robots.txt přímo do prohlížeče. To je důležité vědět, protože cokoli do něj napíšete, uvidí nejen crawleři, ale i konkurence nebo případní útočníci.
K čemu robots.txt reálně slouží
Soubor robots.txt je důležitou součástí SEO. Níže jsou typické situace, kdy robots.txt pomáhá. Důležité je hned na začátku říct: robots.txt neblokuje indexaci, pouze crawling. Rozdíl vysvětlujeme detailně v další sekci.
| Situace | Co robots.txt vyřeší | Co nevyřeší |
|---|---|---|
| Web je ve vývoji na dočasné adrese | Zákaz procházení celého webu crawlery vyhledávačů | Nezajistí přihlášení ani ochranu heslem |
| Děkovací stránky, interní formuláře | Zakáže přístup na konkrétní sekci | Stránka může být v indexu přes zpětné odkazy |
| Crawler přetěžuje server | Zakáže přístup nebo nastaví zpomalení (Crawl-delay) | Google Crawl-delay ignoruje, nastavuje se v Search Console |
| E-shop s tisíci variantami filtrů | Blokování URL s parametry šetří crawl budget | Duplicity je lepší řešit canonical tagem |
| AI crawleři stahují obsah webu | Blokování konkrétních AI botů (GPTBot, ClaudeBot) | Nevychovaní boti pravidla ignorují |
Mechanismus
Jak robots.txt funguje
Robot přijde na web, jako první si stáhne soubor robots.txt z kořene domény a teprve pak rozhodne, které URL smí navštívit. Pokud soubor neexistuje nebo vrátí chybu, může mít výpadek z vyhledávání vážné důsledky.
Kde robots.txt platí a kde ne
Soubor robots.txt platí vždy jen pro konkrétní doménu, protokol a port. Pokud provozujete více verzí webu, každá potřebuje vlastní soubor:
Robots.txt platí pro
- Danou doménu (vasestranka.cz)
- Daný protokol (HTTP nebo HTTPS zvlášť)
- Daný síťový port (vasestranka.cz:8080 zvlášť)
Robots.txt NEplatí pro
- Subdomény (blog.vasestranka.cz potřebuje vlastní)
- Jiný protokol (HTTP robots.txt nepokrývá HTTPS)
- Jiné porty
Crawling vs. indexace: nejdůležitější rozdíl
Robots.txt neblokuje indexaci. Toto je nejčastější omyl, na který narážíme i u zkušených webmasterů. Robots.txt pouze zakáže crawlerovi stránku navštívit. Google se o stránce ale může dozvědět jinak, například přes zpětné odkazy z jiných webů, a stránku zaindexuje i bez toho, aby ji navštívil.
Navíc platí kritické pravidlo: pokud stránku zablokujete v robots.txt a zároveň na ni přidáte noindex tag, Google noindex neuvidí, protože stránku nemůže navštívit. Stránka pak může v indexu zůstat navždy.
| Nastavení | Co Google udělá | Výsledek |
|---|---|---|
| Stránka blokovaná v robots.txt, bez noindex | Nenavštíví, ale může indexovat přes zpětné odkazy | Stránka může být v indexu bez obsahu |
| Stránka blokovaná v robots.txt, s noindex | Nenavštíví, takže noindex nepřečte | Stránka může zůstat v indexu trvale |
| Stránka přístupná, s noindex | Navštíví, přečte noindex, vyřadí z indexu | Stránka není v indexu |
| Stránka přístupná, bez omezení | Navštíví a zaindexuje | Stránka je v indexu |
Praktické doporučení: Chcete-li stránku skrýt z výsledků vyhledávání, používejte meta tag noindex nebo X-Robots-Tag, ne robots.txt. Robots.txt nechte pro řízení crawlingu, ne indexace.
Syntaxe
Syntaxe robots.txt: direktivy a pravidla zápisu
Soubor se skládá z bloků. Každý blok začíná řádkem User-agent a obsahuje jednu nebo více direktiv Disallow nebo Allow. Mezi bloky musí být prázdný řádek.
Povinná pravidla formátu
- Název souboru robots.txt vždy malými písmeny
- Kódování ASCII nebo UTF-8
- Každá direktiva na samostatném řádku
- Cesty jsou case-sensitive (/Admin je jiná cesta než /admin)
- Soubor musí být v kořeni domény (nikoli v podadresáři)
- Prázdný řádek mezi jednotlivými bloky
Co je komentář
Každý řádek začínající znakem # je komentář a crawleři ho ignorují. Komentáře je dobrým zvykem přidávat ke každému pravidlu, abyste za půl roku věděli, proč jste daný zákaz nastavili.
# Blokuje admin sekci User-agent: * Disallow: /wp-admin/ # Povoluje přístup k souboru # pro správu WordPressu Allow: /wp-admin/admin-ajax.php
User-agent: pro koho pravidlo platí
Direktiva User-agent určuje, kterého crawlera se blok pravidel týká. Hodnota * (hvězdička) znamená všechny roboty. Místo hvězdičky lze napsat konkrétní jméno crawlera, například Googlebot nebo Seznambot.
Klíčové chování, které mate mnoho webmasterů: hvězdička se nedědí. Pokud pro konkrétního crawlera napíšete vlastní blok, pravidla pro * pro něj přestanou platit úplně. Googlebot v příkladu níže smí do /en/, i když je tam globálně zakázán.
# Platí pro všechny crawlery User-agent: * Disallow: /en/ # Googlebot má vlastní blok # pravidlo pro * pro něj přestane platit # Googlebot tedy do /en/ smí! User-agent: Googlebot Disallow: /cs/ # Správné řešení, pokud chceme obojí: User-agent: Googlebot Disallow: /en/ Disallow: /cs/
Disallow: kam robot nesmí
Direktiva Disallow zakáže crawlerovi přístup na cesty začínající zadaným řetězcem. Lomítko musí být vždy na začátku, protože jím začínají všechny cesty k souborům.
| Zápis | Co blokuje |
|---|---|
Disallow: / |
Celý web (každá cesta začíná lomítkem) |
Disallow: /admin/ |
Adresář /admin/ a vše v něm |
Disallow: /in |
Vše začínající na /in: /index.html, /interni/, /info.php… |
Disallow: /docs/smlouva.pdf |
Konkrétní soubor |
Disallow: (prázdné) |
Nic není zakázáno (robot smí všude) |
Allow: povolení v rámci zakázané sekce
Direktiva Allow povolí konkrétní cestu nebo soubor, i když nadřazený adresář je zakázaný. Používá se typicky ve WordPressu: zakážete celý /wp-admin/, ale povolíte admin-ajax.php, který je potřeba pro správné fungování frontendu.
Jak Google prioritizuje pravidla: Google (a Bing) se vždy řídí nejkonkrétnější direktivou, bez ohledu na pořadí v souboru. Ostatní vyhledávače (např. Seznam) se řídí pořadím direktiv. Pokud chcete spolehlivé chování napříč vyhledávači, pište Allow vždy před Disallow.
# WordPress: zakázat admin, ale ponechat ajax User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php
Wildcards: hvězdička * a dolar $
Wildcards umožňují blokovat celé skupiny URL pomocí zástupných znaků v direktivách Disallow a Allow:
- * (hvězdička) nahrazuje žádný, jeden nebo více libovolných znaků kdekoli v URL
- $ (dolar) označuje konec URL, tedy přesný konec adresy
# Blokuje všechny PDF soubory Disallow: /*.pdf$ # Blokuje URL s parametrem fbclid (Facebook tracking) Disallow: /*?*fbclid= # Blokuje URL s libovolným parametrem v e-shopu Disallow: /produkty/*?sort= # Blokuje výchozí dokument v adresáři /komentare/, # ale ostatní soubory v něm povoluje Disallow: /komentare/$
Crawl-delay: zpomalení crawlování
Direktiva Crawl-delay říká crawlerovi, kolik sekund má čekat před stažením další stránky. Google ji ignoruje a rychlost crawlování nastavuje v Google Search Console. Bingbot a Seznambot ji respektují.
# Zpomalení pro Bingbot na 10 sekund User-agent: bingbot Allow: / Crawl-delay: 10
Sitemap: odkaz na mapu webu
Součástí robots.txt by měl být odkaz na sitemap.xml. Uvádějte vždy absolutní URL včetně protokolu a domény. Lze uvést až 100 odkazů na sitemapy.
Sitemap: https://www.vasestranka.cz/sitemap.xml # U velkých webů lze uvést více sitemapových souborů: Sitemap: https://www.vasestranka.cz/sitemap-produkty.xml Sitemap: https://www.vasestranka.cz/sitemap-kategorie.xml
Vzory
Vzory robots.txt pro tři nejčastější scénáře
Níže najdete tři komentované vzory robots.txt připravené ke zkopírování. Každý vzor je výchozím bodem, nikoli finálním řešením. Vždy ho přizpůsobte konkrétní situaci svého webu a ověřte funkčnost v testovacím nástroji Google Search Console.
Vzor 1: Základní web (blog, prezentační stránka)
Pro jednoduchý web bez administračního rozhraní a bez dynamicky generovaných URL stačí minimalistický soubor. Hlavním přínosem je odkaz na sitemap, který pomáhá Googlebotu najít všechny důležité stránky.
# Robots.txt — základní web # Vygenerováno: 2026-04-11 # Dokumentace: https://developers.google.com/search/docs/crawling-indexing/robots/intro # Všichni crawleři smí všude User-agent: * Disallow: # Mapa webu Sitemap: https://www.vasestranka.cz/sitemap.xml
Poznámka: Prázdný Disallow není chyba. Říká, že žádná cesta není zakázaná. Robots.txt s tímto obsahem je lepší než žádný soubor, protože zabraňuje chybě 404 při každém volání, která může zkreslit data v analytice.
Vzor 2: WordPress web
WordPress má specifické systémové adresáře, které nemají v indexu vyhledávačů co dělat. Nejdůležitější je blokovat /wp-admin/ a zároveň povolit admin-ajax.php, který používá JavaScript na frontendu.
Pokud používáte plugin Yoast SEO nebo RankMath, sitemapu generují automaticky a její URL je obvykle /sitemap_index.xml. Zkontrolujte si to zadáním adresy do prohlížeče.
# Robots.txt — WordPress # Vygenerováno: 2026-04-11 User-agent: * # Blokování administrace WordPressu Disallow: /wp-admin/ # Povolení ajax endpointu — nutné pro správný # chod pluginů a frontendu Allow: /wp-admin/admin-ajax.php # Blokování systémových adresářů # (neobsahují obsah relevantní pro vyhledávače) Disallow: /wp-includes/ Disallow: /wp-content/plugins/ Disallow: /wp-content/cache/ # Blokování URL s parametry pro vyhledávání a řazení # (generují duplicitní obsah) Disallow: /*?s= Disallow: /*?replytocom= # Blokování výsledků interního vyhledávání Disallow: /?s= # Blokování trackingových parametrů Facebooku Disallow: /*?*fbclid= # Sitemap — upravte URL dle vašeho pluginu Sitemap: https://www.vasestranka.cz/sitemap_index.xml
Vzor 3: E-shop s filtry a kategoriemi
Největší výzva u e-shopů je fasetová navigace. Filtry jako barva, velikost, řazení nebo stránkování dokáží z jedné kategorie vygenerovat tisíce kombinací URL se stejným nebo velmi podobným obsahem. To plýtvá crawl budgetem a vytváří duplicitní obsah.
Vzor níže předpokládá, že parametry filtrů jsou v URL jako query string (např. /produkty?barva=red&velikost=M). Pokud váš e-shop generuje URL bez parametrů (např. /produkty/cervena/), musíte vzor upravit podle skutečné struktury vašich URL.
# Robots.txt — E-shop # Vygenerováno: 2026-04-11 # DŮLEŽITÉ: Upravte cesty dle skutečné struktury vašeho e-shopu User-agent: * # Administrace a interní systémové sekce Disallow: /admin/ Disallow: /administrace/ Disallow: /checkout/ Disallow: /kosik/ Disallow: /muj-ucet/ Disallow: /prihlaseni/ Disallow: /registrace/ # Blokování URL filtrů a řazení # (generují duplicitní obsah, řešte také canonical tagem) Disallow: /*?sort= Disallow: /*?order= Disallow: /*?filter= Disallow: /*?barva= Disallow: /*?velikost= Disallow: /*?strana= # Blokování trackingových parametrů Disallow: /*?*fbclid= Disallow: /*?*utm_ # Blokování interního vyhledávání Disallow: /*?q= Disallow: /*?search= # Technické soubory Disallow: /cdn-cgi/ Disallow: /cgi-bin/ # Sitemapy (upravte URL) Sitemap: https://www.vasestranka.cz/sitemap.xml Sitemap: https://www.vasestranka.cz/sitemap-produkty.xml Sitemap: https://www.vasestranka.cz/sitemap-kategorie.xml
K e-shopovému vzoru: Blokování filtrů v robots.txt je jen polovina řešení. Kombinujte ho s canonical tagem na stránkách s filtrovaným výpisem, který odkazuje na hlavní stránku kategorie. Canonical je pro řešení duplicit spolehlivější, protože říká Googlu, která URL je preferovaná i tehdy, když crawling nezablokujete.
Aktuální téma
Jak blokovat AI crawlery v robots.txt
AI crawleři jako GPTBot (OpenAI) nebo ClaudeBot (Anthropic) procházejí weby za účelem sběru dat pro trénování jazykových modelů. Většina z nich robots.txt respektuje, takže blokování je technicky jednoduché. Stačí přidat příslušný blok User-agent.
Zda AI crawlery blokovat, je obchodní rozhodnutí. Někteří provozovatelé obsah chrání, jiní naopak chtějí být citováni v odpovědích AI nástrojů. Pokud vás zajímá druhá strana, tedy jak optimalizovat obsah tak, aby vás AI zmiňovala, podívejte se na naši stránku o GEO (generative engine optimization) nebo na llms.txt, což je soubor podobný robots.txt speciálně navržený pro AI modely.
Přehled hlavních AI crawlerů
| Crawler | Provozovatel | User-agent string | Respektuje robots.txt |
|---|---|---|---|
| GPTBot | OpenAI | GPTBot |
Ano |
| ClaudeBot | Anthropic | ClaudeBot |
Ano |
| Google-Extended | Google (Gemini, Bard) | Google-Extended |
Ano |
| PerplexityBot | Perplexity AI | PerplexityBot |
Ano |
| Applebot-Extended | Apple (AI funkce) | Applebot-Extended |
Ano |
| CCBot | Common Crawl (zdroj pro mnoho AI modelů) | CCBot |
Částečně |
Jak AI crawlery zablokovat
Pro každého crawlera stačí přidat samostatný blok s direktivou Disallow. Chcete-li zakázat všechny najednou, přidejte bloky za sebou. Pořadí bloků nehraje roli.
# Blokování AI crawlerů pro trénování modelů # Přidejte pod stávající pravidla vašeho robots.txt # OpenAI User-agent: GPTBot Disallow: / # Anthropic User-agent: ClaudeBot Disallow: / # Google AI (Gemini, trénování modelů) # POZOR: toto neblokuje běžný Googlebot pro vyhledávání! User-agent: Google-Extended Disallow: / # Perplexity AI User-agent: PerplexityBot Disallow: / # Apple AI funkce User-agent: Applebot-Extended Disallow: / # Common Crawl (dataset pro mnoho AI projektů) User-agent: CCBot Disallow: /
Důležité upozornění: Blokování Google-Extended neovlivní běžný Googlebot, který zajišťuje indexaci ve vyhledávání. Jsou to dva samostatné crawleři s různými User-agent řetězci. Vaše pozice ve výsledcích vyhledávání se nezhorší.
Kdy co použít
Robots.txt, meta robots nebo X-Robots-Tag: kdy sáhnout po čem
Robots.txt, meta tag robots a X-Robots-Tag jsou tři různé nástroje pro kontrolu toho, co Google vidí a co indexuje. Řeší různé problémy a nelze je libovolně zaměňovat.
| Nástroj | Co řídí | Kde funguje | Typické použití |
|---|---|---|---|
| robots.txt | Crawling (procházení) | Celé sekce webu, adresáře, skupiny URL | Blokování administrace, filtrů e-shopu, AI crawlerů |
| Me noindex | Indexaci (zda stránka bude v Google) | Jednotlivé HTML stránky (v hlavičce) | Děkovací stránky, výsledky interního vyhledávání, duplicitní stránky |
| X-Robots-Tag | Indexaci | Jakýkoli soubor přes HTTP hlavičku (PDF, obrázky, XML) | Blokování indexace PDF dokumentů, obrázků nebo celých subdomén |
| Canonical tag | Duplicitní obsah | Jednotlivé HTML stránky (v hlavičce) | Filtry e-shopu, stránkování, parametry UTM, různé verze téže stránky |
Kdy použít robots.txt
- Chcete crawlerům zakázat přístup na celou sekci webu
- Řešíte přetížení serveru crawlingem
- Blokujete AI crawlery nebo nežádoucí boty
- Optimalizujete crawl budget u velkého webu
Kdy nepoužívat robots.txt
- Chcete stránku skrýt z výsledků vyhledávání (použijte noindex)
- Řešíte duplicitní obsah způsobený parametry (použijte canonical)
- Chcete chránit citlivé informace (robots.txt je veřejný soubor)
- Stránka je blokovaná a má noindex (noindex se neuplatní)
Pokročilé
Robots.txt a crawl budget: kdy to reálně řešit
Crawl budget je počet stránek, které je Google ochoten procházet na vašem webu za určitý čas. Pro většinu webů s jednotkami nebo desítkami tisíc stránek není crawl budget problém. Aktivně ho řešte až tehdy, kdy máte stovky tisíc URL nebo kdy Google indexuje stránky, které indexovat nemají.
Kdy robots.txt na crawl budget nestačí
Blokování v robots.txt pomáhá, ale není jediné řešení. Pro komplexní e-shopy doporučujeme kombinaci:
- Robots.txt pro blokování URL s parametry na úrovni celých skupin
- Canonical tag na filtrovaných stránkách odkazující na hlavní kategorii
- Google Search Console pro sledování, které URL Google skutečně crawluje a indexuje
- Parametry URL v Search Console jako alternativa k blokování v robots.txt (pouze pro Google)
Z praxe PŘESAH.agency: U projektů s katalogem nad 50 000 produktů vidíme, že špatně nastavený robots.txt nebo chybějící canonical u filtrů způsobuje, že Google indexuje tisíce duplicitních URL a na skutečné produktové stránky se dostane jen zlomek crawl budgetu. Výsledkem je, že nové produkty se neobjeví ve výsledcích vyhledávání i týdny po přidání.
Kontrola
Jak otestovat robots.txt a vyhnout se nejčastějším chybám
Google Search Console nabízí bezplatný tester robots.txt. Zadáte libovolnou URL a okamžitě zjistíte, zda ji váš soubor blokuje nebo povoluje. Nástroj zároveň upozorní na syntaktické chyby v souboru.
Checklist před nasazením robots.txt
Než nahrajete soubor na server, projděte si tento checklist:
Technická správnost
- Název souboru je přesně robots.txt (malá písmena)
- Soubor leží v kořeni domény, ne v podadresáři
- Každá zakázaná cesta začíná lomítkem (
/admin/, neadmin/) - Odkaz na sitemap je absolutní URL s protokolem
- Mezi bloky User-agent jsou prázdné řádky
- Soubor je přístupný přes prohlížeč na /robots.txt
Obsahová správnost
- Klíčové stránky (homepage, kategorie, produkty) nejsou blokovány
- CSS a JavaScript soubory nejsou blokovány
- Staging Disallow: / je odstraněno před spuštěním ostrého webu
- Blokování filtrů nevyřazuje důležité kategorie
- Otestováno v Google Search Console testeru
Nejčastější chyby v robots.txt
Zapomenutý Disallow: / ze staging
Web byl vyvíjen s globálním zákazem crawlingu. Po spuštění na ostrém serveru nikdo robots.txt neupravil. Google web neindexuje. Toto je přesně chyba z příběhu, který koluje v SEO komunitě o vývojáři, který za opravu (smazání dvou řádků) inkasoval 100 000 Kč.
Blokování CSS a JavaScriptu
Googlebot dnes stránky renderuje jako prohlížeč. Pokud mu zakážete přístup k CSS nebo JS souborům, uvidí web jinak než uživatel. Může to ovlivnit hodnocení stránky i pochopení jejího obsahu.
Chybějící lomítko na začátku cesty
Zápis Disallow: admin/ místo Disallow: /admin/ blokuje všechny cesty obsahující řetězec „admin/“ kdekoli, ne jen adresář /admin/. Výsledek může být nepředvídatelný.
Relativní URL sitemapy
Zápis Sitemap: /sitemap.xml je nesprávný. Sitemap musí mít absolutní URL: Sitemap: https://www.vasestranka.cz/sitemap.xml. Bez protokolu a domény crawleři sitemapu nenajdou nebo ji ignorují.
Stránka blokovaná v robots.txt má noindex
Google stránku nenavštíví, takže noindex tag nepřečte. Stránka může v indexu zůstat trvale, protože Google nemá instrukci ji odstranit. Řešení: buď jen robots.txt (blokování crawlingu), nebo jen noindex (blokování indexace), ale ne obojí najednou.
Záměna hvězdičky pro User-agent a cestu
Hvězdička u User-agent znamená všechny crawlery. U cesty (Disallow, Allow) nahrazuje libovolný řetězec znaků. Chování je různé a záměna vede k neočekávaným zákazům nebo povolením.
Otázky a odpovědi
Nejčastější otázky o robots.txt
Zdroje
Zdroje a další čtení
Oficiální dokumentace
- Google Search Central: Úvod do robots.txt — přístup duben 2026
- Google Search Central: Jak vytvořit robots.txt — přístup duben 2026
- Google Search Central: Specifikace robots.txt — přístup duben 2026
- Google Search Central: Správa crawl budgetu — přístup duben 2026
- RFC 9309: Robots Exclusion Protocol — standardizace robots.txt, září 2022
Další odborné zdroje
- Semrush: Průvodce robots.txt pro začátečníky — přístup duben 2026
- Semrush: Crawl budget a jak ho optimalizovat — přístup duben 2026
- Semrush: Jak funguje Googlebot — přístup duben 2026
- Google Search Central: Jak funguje Googlebot — přístup duben 2026