Blog

Robots.txt a sitemap.xml: dva soubory, které řídí indexaci webu

Robots.txt a sitemap.xml jsou dva nenápadné soubory s mocí nad celou indexací: první říká robotům, kam smějí a kam ne, druhý jim předává seznam stránek, které stojí za pozornost. Oba se nastavují jednou a pak na ně roky nikdo nesáhne – přesně proto v nich přežívají chyby, které tiše brzdí celé weby roky. Projdeme, jak fungují, jak je správně nastavit a jakou novou roli hrají v éře AI robotů, kdy o přístup k vašemu obsahu žádají i crawleři jazykových modelů.

Robots.txt: vrátný u vchodu

Textový soubor na adrese domena.cz/robots.txt, který robotům sděluje pravidla procházení: direktivy User-agent (pro koho pravidlo platí), Disallow/Allow (kam nesmí/smí) a odkaz na Sitemap. Dvě zásadní pochopení: je to prosba, ne zámek – slušní roboti pravidla respektují, ale soubor nic nevynucuje a citlivý obsah patří za heslo; a blokuje procházení, ne indexaci – zablokovaná URL se může ve výsledcích objevit „naslepo” (bez popisku), pokud na ni vedou odkazy. Chcete-li stránku z indexu, patří jí noindex – a ten robot musí mít možnost přečíst, takže stránka nesmí být v robots.txt blokovaná. Tenhle paradox je nejčastější zdroj zmatků v celé technické SEO – zapamatujte si ho a polovinu problémů s indexací vyřešíte z hlavy.

Co do robots.txt patří (a co ne)

Patří: administrace a systémové cesty (u WordPressu /wp-admin/ s výjimkou admin-ajax.php – výchozí stav), interní vyhledávání (/?s=), nekonečné parametrové kombinace filtrů u e-shopů (šetří crawl budget), testovací a duplicitní sekce. Nepatří: CSS a JavaScript (robot musí stránku vykreslit – blokace stylů je klasická chyba, která rozbíjí hodnocení mobilní verze), stránky, které mají mít noindex, citlivá data (soubor je veřejný – vypsat v něm /tajne-dokumenty/ je pozvánka) a plošné Disallow: / na živém webu, což je nejničivější řádek v SEO vůbec – typicky pozůstatek z vývoje, který po spuštění nikdo nezkontroloval.

Sitemap.xml: seznam doporučených

XML soubor se seznamem URL, které chcete indexovat – u každé volitelně datum poslední změny (lastmod, jediný atribut, který Google reálně používá). Neposiluje pozice; zrychluje objevování: nové a změněné stránky si robot najde dřív, u velkých webů zásadně. Zásady: jen kanonické, indexovatelné URL (žádné přesměrované, noindex, 404 – sitemap plná balastu ztrácí důvěru), automatická aktualizace (generuje SEO plugin či platforma; ruční sitemapy zastarávají do měsíce), u velkých webů index sitemap dělený podle typů (stránky, články, produkty – v Search Console pak vidíte pokrytí po částech). Odeslání: jednou v Search Console, odkaz v robots.txt pro ostatní vyhledávače.

Nastavení na WordPressu: 15 minut

  • Sitemap: generuje SEO plugin (Yoast, Rank Math) na /sitemap_index.xml – zkontrolujte, že obsahuje jen typy obsahu, které chcete (vypněte média, tagy bez obsahu, autory u firemního webu).
  • Robots.txt: WordPress generuje virtuální základ; úpravy přes SEO plugin nebo fyzický soubor. Pro běžný web stačí výchozí stav + řádek Sitemap.
  • Kontrola: otevřete oba soubory v prohlížeči; sitemap odešlete v Search Console a sledujte stav „Úspěch” a počet objevených URL.
  • Test blokací: nástroj Kontrola URL ukáže „Blokováno souborem robots.txt” u konkrétní adresy – ověřte klíčové stránky.

Chyby, které vídáme při auditech

Disallow: / z vývoje – web spuštěn, blokace zůstala; viz náš průvodce indexací. Blokované CSS/JS – stránka se robotům vykresluje rozbitá. Sitemap s balastem – stovky přesměrovaných a noindex URL; Google pak seznamu přestává věřit. Sitemap zapomenutá po migraci – odkazuje na staré URL, nové se objevují pomalu. Noindex + Disallow současně – robot se k noindexu nedostane a URL straší v indexu dál. Robots.txt jako bezpečnostní opatření – veřejný soubor vypisující „tajné” cesty. Každá chyba se opraví za minuty – jen o ní vědět: kvartální pohled na oba soubory patří do rutiny správce webu.

Nová kapitola: AI roboti a řízení přístupu

Robots.txt dostal v AI éře druhý život: přes User-agent pravidla řídíte přístup AI crawlerů – GPTBot (OpenAI), ClaudeBot (Anthropic), PerplexityBot, Google-Extended (trénink Gemini) a dalších. Strategická otázka zní: chcete být v AI odpovědích vidět? Pro většinu firem ano – blokace AI robotů znamená neexistovat v doporučeních ChatGPT či Perplexity, což je rostoucí kanál zákazníků. Blokace dává smysl u placeného obsahu a unikátních dat, ze kterých žijete. Pozor na tichá překvapení: některé bezpečnostní pluginy a CDN blokují AI roboty plošně bez ptaní – zkontrolujte svůj robots.txt i nastavení CDN, ať o AI viditelnost nepřicházíte omylem – rozhodnutí za vás udělal software. Souvislosti v článku co je GEO.

Crawl budget: kdy tyhle soubory rozhodují

Každému webu věnují roboti omezenou kapacitu procházení. Malý web (do stovek URL) ji nevyčerpá nikdy – tam jsou robots.txt a sitemap hygiena. U e-shopů a velkých webů je to jinak: filtry, řazení a kombinace parametrů generují statisíce URL a robot tráví čas na balastu, zatímco nové produkty čekají dny na objevení. Řešení je dvojité: robots.txt blokuje nekonečné kombinace (Disallow: /*?orderby=, /*?filter_), sitemap zvýrazňuje to podstatné (kanonické kategorie a produkty s čerstvým lastmod). Diagnóza v Search Console → Statistiky procházení: kolik požadavků jde na parametrové URL vs. na skutečný obsah. Poměr horší než 1:1 znamená, že roboti uklízejí místo indexování – a novinky na to čekají.

Modelový příklad: e-shop, který krmil roboty balastem

E-shop s 3 000 produkty, novinky se indexovaly týden i déle. Diagnóza: Statistiky procházení ukázaly 78 % požadavků na parametrové URL filtrů; sitemap generovaná před dvěma lety obsahovala 800 mrtvých adres. Zásah (2 hodiny): robots.txt pravidla pro filtry a řazení, nová sitemap jen s kanonickými URL a funkčním lastmod, odeslání v konzoli. Výsledek za měsíc: podíl balastu v procházení pod 20 %, nové produkty v indexu do 48 hodin, a bonus – server přestal zbytečně obsluhovat statisíce robotických požadavků denně. Žádný obsah se nezměnil; jen roboti konečně dostali mapu místo bludiště. Stejný vzorec se opakuje u většiny starších e-shopů – a oprava je vždy levnější, než vypadá.

Checklist obou souborů

  • robots.txt: žádné Disallow: /, žádná blokace CSS/JS, řádek Sitemap přítomen.
  • Blokace jen pro admin, interní vyhledávání a parametrový balast – nic, co má být v indexu.
  • Žádná kombinace Disallow + noindex na téže URL.
  • Sitemap generovaná automaticky, jen kanonické indexovatelné URL, funkční lastmod.
  • Sitemap odeslaná v Search Console se stavem Úspěch; počet URL odpovídá realitě webu.
  • Vědomé rozhodnutí o AI robotech (GPTBot a spol.) – a kontrola, že je neblokuje plugin či CDN.
  • Kvartální kontrola + vždy po zásahu do webu.

Užitečné direktivy a jejich meze

Krátký slovník pro čtení cizích robots.txt: User-agent: * platí pro všechny roboty, konkrétní jméno (Googlebot, SeznamBot, GPTBot) má přednost před hvězdičkou – pozor, robot čte jen „svůj” blok, takže pravidla musíte u specifických agentů zopakovat. Disallow: /slozka/ blokuje vše pod cestou; Allow: vyjímá podcestu z blokace (typicky Allow: /wp-admin/admin-ajax.php). Zástupné znaky: * pro libovolný řetězec, $ pro konec URL (Disallow: /*.pdf$). Crawl-delay Google ignoruje (Seznam a Bing respektují) – rychlost Googlebota se ladí jen nepřímo přes výkon serveru. A jedna zrada: robots.txt musí vracet kód 200 – pokud server na jeho URL odpoví chybou 5xx, Google raději přestane procházet celý web, dokud se soubor nevzpamatuje. Monitoring dostupnosti webu by proto měl hlídat i /robots.txt.

Speciální sitemapy: obrázky, videa, novinky

Vedle základní sitemap existují specializované: obrázková (pomáhá obrázkovému vyhledávání – u e-shopů a portfolií smysl má, SEO pluginy ji přibalují k URL automaticky), video sitemap (pro weby s vlastním video obsahem) a news sitemap (jen pro zpravodajské weby schválené v Google News). Běžná firma je řešit nemusí – důležitější je, aby základní sitemap žila: po každé publikaci se aktualizuje sama a lastmod odpovídá skutečným změnám. Falšovat lastmod „ať robot chodí častěji” nefunguje – Google si datum ověřuje proti obsahu a lhářům přestává věřit. I tady platí princip celého článku: oba soubory jsou komunikace s roboty, a komunikace funguje, jen když je pravdivá a aktuální.

Rychlá diagnostika za pět minut

Tři kontroly, které odhalí 90 % problémů: 1) otevřete domena.cz/robots.txt – vrací se soubor (ne 404/500)? Není v něm Disallow: / ani blokace /wp-content/? 2) otevřete adresu sitemap – načte se XML se skutečnými URL webu a rozumným počtem? 3) v Search Console: stav sitemap „Úspěch”, v Indexování žádný nečekaný nárůst „Blokováno robots.txt”, a namátkou Kontrola URL na dvou klíčových stránkách. Když všechny tři projdou, soubory dělají svou práci – a můžete energii věnovat obsahu, kde se rozhoduje o pozicích. Když ne, máte přesnou stopu, kde začít hledat.

Jistota, že roboti vidí, co mají?

V technickém auditu zkontrolujeme robots.txt, sitemapy i skutečné procházení webu – a opravíme, co brzdí indexaci.

Chci SEO audit

Nejčastější otázky k robots.txt a sitemap

K čemu slouží robots.txt?

Textový soubor v kořeni webu, který robotům říká, které části webu smějí procházet. Slouží k úspoře kapacity robotů (blokace administrace, filtrů, interního vyhledávání) – ne k zabezpečení ani k odstraňování stránek z indexu. Je to veřejná prosba, kterou slušní roboti respektují; citlivý obsah patří za heslo a odstranění z indexu řeší noindex.

Jak funguje sitemap.xml a potřebuji ji?

Sitemap je seznam URL, které chcete indexovat, s datem poslední změny. Zrychluje objevování nových a změněných stránek – u malého webu drobná pomoc, u většího nutnost. Generuje ji SEO plugin či platforma automaticky; vy ji jednou odešlete v Search Console a hlídáte, aby obsahovala jen živé, indexovatelné adresy.

Proč je stránka blokovaná v robots.txt pořád ve výsledcích?

Protože robots.txt blokuje procházení, ne indexaci – Google o URL ví z odkazů a může ji zobrazit „naslepo” bez popisku. Chcete-li stránku z indexu, dejte jí meta noindex a v robots.txt ji NEblokujte (robot si noindex musí přečíst). Po zmizení z indexu můžete blokaci případně vrátit.

Co má obsahovat robots.txt běžného firemního webu?

Málo: povolené procházení všeho podstatného, blokaci administrace a interního vyhledávání, řádek s adresou sitemap. U WordPressu je výchozí stav v pořádku. Rozsáhlá pravidla potřebují hlavně velké e-shopy (parametrové filtry). Platí zásada: čím méně pravidel, tím méně příležitostí k chybě – a nikdy neblokujte CSS a JavaScript.

Jak odešlu sitemap do Googlu a Seznamu?

V Google Search Console: sekce Sitemaps → vložit adresu (typicky /sitemap_index.xml) → odeslat; stav a počet objevených URL pak vidíte průběžně. Pro Seznam a další vyhledávače stačí řádek „Sitemap: https://domena.cz/sitemap_index.xml” v robots.txt. Odeslání je jednorázové – aktualizace si roboti stahují sami.

Mám blokovat AI roboty jako GPTBot?

Pro většinu firem ne – blokace znamená zmizet z odpovědí a doporučení ChatGPT, Perplexity a dalších, což je rostoucí zdroj zákazníků. Blokace dává smysl u placeného obsahu či proprietárních dat. Hlavně rozhodněte vědomě: zkontrolujte, jestli AI roboty neblokuje bezpečnostní plugin nebo CDN bez vašeho vědomí.

Jak často robots.txt a sitemap kontrolovat?

Kvartálně stačí: otevřít oba soubory, ověřit stav sitemap v Search Console a otestovat pár klíčových URL nástrojem Kontrola URL. Mimořádně vždy po zásahu do webu – aktualizaci šablony, novém pluginu, migraci; právě tam blokace vznikají potichu. Pět minut, které chrání celou investici do obsahu.

Tomáš Stýskala

Bc. Tomáš Stýskala, MBA, je zakladatel a hlavní SEO specialista agentury Digital Place s.r.o. SEO se věnuje přes 14 let a naplno – od hloubkových auditů přes obsahovou strategii a linkbuilding až po optimalizaci pro AI vyhledávače (GEO). Měří byznysové výsledky, ne jen pozice.