robots.txt: kompletní návod (a časté chyby)
· 9 min čtení
Zablokujete v robots.txt jednu složku, kterou nechcete v Googlu. O týden později zjistíte, že vám z vyhledávání zmizela půlka webu. Nebo naopak: dáte tam pravidlo proti indexaci a stránka se v Googlu drží dál, jen bez popisku. Robots.txt je jeden z nejmenších souborů na webu a zároveň jeden z nejčastějších zdrojů vážných SEO problémů.
Většina návodů vám vysvětlí syntaxi a skončí. Tenhle jde dál. Ukážu vám, k čemu robots.txt slouží, k čemu rozhodně neslouží, a jak se vyhnout chybám, které dokážou shodit celý web z výsledků vyhledávání.
Co robots.txt je a co rozhodně není
Robots.txt je textový soubor v kořenovém adresáři webu, dostupný na adrese vasedomena.cz/robots.txt. Říká vyhledávacím robotům, které části webu mají a nemají procházet. Je to první soubor, který robot při návštěvě webu načte.
Klíčové slovo je procházet, tedy crawlovat. Robots.txt řídí crawling, ne indexaci. To jsou dvě různé věci a jejich záměna stojí za většinou problémů, které v praxi vidím.
Crawling je stahování obsahu stránky robotem. Indexace je zařazení stránky do databáze vyhledávače, ze které se pak skládají výsledky. Robots.txt umí zabránit tomu prvnímu. To druhé neřídí.
Zablokovaná stránka se pořád může objevit v Googlu. Když na ni vede dost odkazů, Google ji zaindexuje i bez procházení obsahu, jen podle URL a anchor textů. Ve výsledcích pak uvidíte URL bez popisku a s poznámkou, že informace nejsou k dispozici.
Syntaxe a základní pravidla
Robots.txt se skládá z bloků. Každý blok začíná řádkem User-agent, který určuje, pro kterého robota pravidla platí, a pokračuje pravidly Disallow a Allow.
Nejjednodušší funkční soubor, který pustí všechny roboty všude a odkáže na sitemapu, vypadá takto:
User-agent: * Disallow: Sitemap: https://vasedomena.cz/sitemap.xml
Hvězdička u User-agent znamená všechny roboty. Prázdný Disallow znamená, že se nic nezakazuje. Kdybyste za lomítko něco doplnili, začnete zakazovat.
Disallow: co zakázat a jak
Direktiva Disallow určuje cesty, které robot nemá procházet. Cesta se počítá od kořene domény a začíná lomítkem.
User-agent: * Disallow: /wp-admin/ Disallow: /kosik/ Disallow: /vyhledavani/ Disallow: /*?filter=
První tři řádky zakazují konkrétní složky: administraci, košík a interní vyhledávání. Poslední řádek používá hvězdičku jako zástupný znak a blokuje všechny URL s parametrem ?filter=, což se hodí na filtrované výpisy v e-shopech.
Allow: výjimka z pravidla
Allow dělá díru do Disallow. Použijete ji, když chcete zakázat celou složku, ale jeden soubor v ní nechat přístupný.
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php
Google při konfliktu pravidel řídí specifičtějším, tedy delším pravidlem. Allow na konkrétní soubor tak přebije Disallow na celou složku.
Sitemap: nepovinný, ale doporučený řádek
Řádek Sitemap odkazuje na XML mapu webu. Musí obsahovat plnou absolutní URL, ne relativní cestu. Nepatří k žádnému User-agent bloku, dá se uvést kdekoli v souboru.
Robots.txt vs noindex: nejdůležitější sekce
Tady dělá chybu i řada zkušenějších lidí. Když nechcete stránku ve vyhledávání, robots.txt je špatný nástroj. Na deindexaci slouží noindex.
Noindex je pokyn v HTML hlavičce stránky nebo v HTTP odpovědi serveru. Vypadá takto:
<meta name="robots" content="noindex, follow">
Rozdíl je zásadní. Disallow v robots.txt řekne robotovi, ať na stránku nechodí. Noindex řekne robotovi, ať stránku z indexu vyřadí. Když chcete stránku pryč z Googlu, potřebujete to druhé.
A teď ta past, kvůli které tuhle sekci píšu. Když stránku zablokujete v robots.txt a zároveň na ni dáte noindex, noindex nikdy nezafunguje.
Logika je jednoduchá. Robot musí stránku načíst, aby si přečetl značku noindex v jejím kódu. Jenže vy jste mu robots.txt souborem zakázali, aby stránku vůbec navštívil. Robot na stránku nevleze, značku neuvidí, a stránka klidně zůstane v indexu dál.
Pokud tedy chcete stránku dostat z Googlu ven, postupujte takto:
1. Nechte stránku v robots.txt PŘÍSTUPNOU (bez Disallow) 2. Přidejte na stránku <meta name="robots" content="noindex"> 3. Počkejte, až ji Google znovu projde a vyřadí z indexu 4. Teprve potom ji můžete případně zablokovat i v robots.txt
Robots.txt používejte na stránky, které Google nikdy nemá procházet, třeba administraci nebo košík. Noindex na stránky, které se mají procházet, ale nemají být ve výsledcích, třeba interní vyhledávání nebo tenké kategorie. Víc o vztahu procházení a indexace rozebírám v článku o indexaci a crawl budgetu.
AI crawleři: blokovat, nebo pustit?
Do robots.txt v posledních letech přibyla nová vrstva. Vedle klasických robotů jako Googlebot a Seznambot chodí na weby crawleři jazykových modelů. Trénují na obsahu nebo z něj skládají odpovědi v AI vyhledávačích.
Nejčastější, se kterými se setkáte:
GPTBot - OpenAI, sběr dat pro trénování modelů OAI-SearchBot - OpenAI, výsledky ve vyhledávání ChatGPT ChatGPT-User - OpenAI, akce vyvolané uživatelem ClaudeBot - Anthropic, crawler pro Claude PerplexityBot - Perplexity, AI vyhledávač Google-Extended - Google, trénování modelů Gemini CCBot - Common Crawl, otevřený dataset
Jednotná odpověď, jestli je blokovat, neexistuje. Záleží na tom, co od webu chcete. Pokud zablokujete GPTBot, vypadnete z tréninkových dat OpenAI. Zablokujete-li ale i OAI-SearchBot, přijdete o šanci, že vás ChatGPT bude citovat ve svých odpovědích.
Pro většinu firemních webů dává smysl AI vyhledávače pustit. Viditelnost v ChatGPT nebo Perplexity dnes přivádí reálné zákazníky a je to kanál, který teprve roste. Blokaci zvažte spíš u obsahu, který nechcete mít v tréninkových datech, třeba u placeného obsahu za paywallem.
Když chcete zablokovat konkrétního AI bota, přidáte samostatný blok:
User-agent: GPTBot Disallow: / User-agent: CCBot Disallow: /
Toto pravidlo zakáže GPTBot a CCBot celý web, ostatních robotů se netýká. Pozor na jednu věc: robots.txt je jen zdvořilá žádost. Slušní crawleři ji respektují, ale nezaručuje vám, že ji dodrží každý bot na internetu.
Časté chyby, které shodí web
Většina havárií z robots.txt má pár opakujících se příčin. Tady jsou ty, které v auditech vidím nejčastěji.
Zablokovaný celý web z vývoje
Nejnebezpečnější chyba vůbec. Na vývojové verzi webu je běžně tohle pravidlo, aby se rozpracovaný web nedostal do Googlu:
User-agent: * Disallow: /
Problém nastane, když se web spustí naostro a robots.txt se přenese i s tímhle pravidlem. Lomítko samotné znamená celý web. Google přestane procházet všechno a web postupně zmizí z výsledků. Po nasazení produkční verze proto robots.txt vždy zkontrolujte jako první.
Zablokované CSS a JavaScript
Roky se traduje, že složky jako /wp-content/ nebo /assets/ patří do Disallow. Nepatří. Google potřebuje CSS a JavaScript, aby stránku vykreslil tak, jak ji vidí uživatel. Když mu je zablokujete, hodnotí rozbitou verzi stránky a poškodíte si tím hodnocení.
Chybějící lomítko na začátku cesty
Cesta v Disallow musí začínat lomítkem. Disallow: slozka nefunguje spolehlivě, správně je Disallow: /slozka/. Drobnost, která rozhodne, jestli pravidlo platí.
Spoléhání na robots.txt jako na zabezpečení
Robots.txt je veřejný. Kdokoli si ho otevře na vasedomena.cz/robots.txt a přečte, které složky před roboty schováváte. Když tam vypíšete /admin/ nebo /interni-dokumenty/, právě jste zvědavcům dali mapu citlivých míst. Na ochranu obsahu slouží heslo a přihlášení, ne robots.txt.
Disallow: / z vývoje přenesený na ostrý web. Po nasazení kontrolujte robots.txt jako první.Jak robots.txt otestovat
Změny v robots.txt netestujte naslepo. Špatné pravidlo se projeví až za týdny, kdy už napáchá škodu.
Základní kontrola je otevřít si soubor v prohlížeči na vasedomena.cz/robots.txt. Uvidíte přesně to, co vidí robot. Ověříte tím, že soubor vůbec existuje, je dostupný a neobsahuje překlep.
Pro důkladnější test použijte Google Search Console. V nástroji na testování robots.txt zadáte konkrétní URL a Search Console vám řekne, jestli je pro Googlebot povolená, nebo zablokovaná, a kterým pravidlem. Tímhle způsobem odhalíte konflikty mezi Disallow a Allow dřív, než napáchají škodu.
Po každé změně zkontrolujte tři věci: že důležité stránky jsou přístupné, že skutečně zablokované jsou jen ty, které blokovat chcete, a že řádek se sitemapou ukazuje na správnou adresu. Robots.txt je součást technického SEO a patří do každého technického auditu. Širší kontext najdete v článku o technickém SEO.
Tip od SEO specialisty
Jednou za čtvrtletí si robots.txt otevřete a projděte řádek po řádku, i když jste ho neměnili. Weby se totiž mění pod rukama. Přibude nová sekce, přesune se blog, spustí se nová jazyková verze, a stará pravidla najednou blokují něco, co blokovat nemají, nebo naopak pouští to, co má zůstat skryté.
V praxi vidím nejčastěji Disallow pravidlo, které někdo přidal před dvěma lety kvůli tehdejší struktuře webu, a dnes už zbytečně blokuje důležitou složku. Nikdo si toho nevšimne, protože robots.txt nikdo neotvírá. Dejte si připomínku do kalendáře. Dvě minuty kontroly vás ochrání před tichým výpadkem, který jinak odhalíte až podle propadu návštěvnosti.
Často kladené otázky (FAQ)
vasedomena.cz/robots.txt. Na jiném místě, třeba v podsložce, ho roboti ignorují. Každá doména a subdoména má svůj vlastní robots.txt.Disallow v robots.txt zakazuje robotovi stránku procházet. Noindex v HTML kódu stránky zakazuje její zařazení do vyhledávání. Na deindexaci potřebujete noindex, protože robots.txt indexaci neřídí.