Souhrn

Pro vedení firmy: Když se dnes někdo zeptá ChatGPT, Claude nebo Perplexity na doporučení dodavatele, kanceláře nebo produktu v daném oboru, asistent nesahá do žádného katalogu firem. Odpovídá buď z dat, na kterých byl natrénovaný, nebo si v reálném čase prochází web · a v obou případech je vstupní podmínkou, že si to AI robot (crawler) vůbec smí přečíst. Jestli smí, řídí veřejně dostupný soubor jménem robots.txt, který má skoro každý web. CIAD tento soubor živě přečetl u 299 českých firemních domén a zjistil, že u naprosté většiny z nich nikdo o AI robotech vůbec nerozhodl · web je vidět, nebo není, čistě náhodou.

92,7 %webů bez jakéhokoli pravidla pro AI crawlery
15domén explicitně blokuje pojmenovaný AI crawler
9 z 15z nich přitom nechává Googlebot bez omezení

Co je robots.txt a proč na tom firmě záleží

robots.txt je veřejný textový soubor, který leží na adrese vasedomena.cz/robots.txt a posílá ho webový server komukoli, kdo se zeptá. Neřídí se jím člověk v prohlížeči · řídí se jím jen automatizovaní návštěvníci, takzvaní roboti (crawlery). Soubor jim říká, které části webu smí procházet a které ne, robot po robotovi, podle jeho jména.

Firmy jako OpenAI, Anthropic, Google, Perplexity nebo Amazon provozují vlastní crawlery (GPTBot, ClaudeBot, Google-Extended, PerplexityBot a další), které stahují obsah webů a používají ho jedním ze dvou způsobů: buď jako tréninková data pro budoucí verzi modelu, nebo v reálném čase, když model odpovídá na konkrétní dotaz konkrétního uživatele. Jestli crawler smí na web vůbec vstoupit, se rozhoduje přesně v robots.txt, řádek po řádku, jménem robota.

Chybějící nebo mlčící robots.txt není neutrální stav. Je to rozhodnutí udělané výchozím nastavením internetu: cokoli není výslovně zakázané, je povolené. Firma, která chce být v odpovědích AI asistentů vidět, ale nikdy se souborem nezabývala, je viditelná čistě náhodou, aniž by se tak sama rozhodla. Firma, která by naopak nechtěla, aby její texty, ceníky nebo návody sloužily jako tréninková data cizímu modelu, je bez vlastního vědomí používaná stejně · výchozím stavem internetu je stažení dat, nikoli jejich odepření. Obě situace mají stejnou příčinu: chybějící rozhodnutí o robots.txt.

Vzorek a jeho meze

Vzorek je konvenienční, ne náhodný: 299 českých komerčních domén z výzkumného korpusu, který CIAD dlouhodobě používá napříč paralelními bezpečnostními studiemi (stejná měřicí metoda jako u studie o zabezpečení webů advokátních kanceláří). Není sestavený náhodným výběrem a nepokrývá žádný konkrétní obor ani celou českou ekonomiku. Každé procento v tomto textu se proto vztahuje výhradně k těmto 299 zkoumaným doménám, nikdy k českým firmám obecně.

KategoriePočet
Domén celkem, sken zahájen299
Nedostupné (DNS chyba, timeout, odmítnuté spojení)39
Dostupné, základ pro robots.txt metriky260

39 nedostupných domén je z metrik robots.txt vyloučeno úplně a nikdy se nepočítá jako „bez pravidla" · nedostupnost domény je jiná kategorie než dostupný web bez pravidla pro AI crawlery, a míchat je dohromady by číslo zkreslilo oběma směry.

Sken byl čistě pasivní: jeden veřejný GET požadavek na /robots.txt a jeden TLS handshake, přesně to, co udělá kterýkoli prohlížeč nebo AI crawler sám. Bez pokusu o průnik, testování zranitelností, skenování portů nebo autentizace.

Hlavní zjištění: 92,7 % webů neudělalo žádné rozhodnutí

Z živého skenu 260 dostupných českých firemních domén (3. 8. 2026) CIAD zjistil, že 92,7 % (241 z 260) nemá v souboru robots.txt žádné pravidlo pojmenovávající konkrétní AI crawler, ani blokaci, ani povolení. Pouze 15 domén explicitně blokuje alespoň jednoho pojmenovaného AI crawlera, a z nich 9 zároveň nechává Googlebota bez omezení. Zjištění popisují technický stav veřejně dostupné infrastruktury k datu měření a nepředstavují právní posouzení jednotlivých subjektů.

Stav robots.txt vůči AI crawlerům (z 260 dostupných)PočetPodíl
Robots.txt existuje, ale nejmenuje žádný AI crawler (mlčí)21783,5 %
Robots.txt neexistuje vůbec (potvrzená chyba 404)249,2 %
Explicitní blokace ≥ 1 pojmenovaného AI crawleru, bez povolení124,6 %
Explicitní povolení ≥ 1 pojmenovaného AI crawleru, bez blokace31,2 %
Smíšený stav · jeden crawler blokovaný, jiný povolený20,8 %
Blanketní blokace všech robotů (User-agent: * Disallow: /)20,8 %

První dva řádky tabulky (mlčící robots.txt plus žádný robots.txt) dávají dohromady 241 domén, tedy 92,7 %. To je jádro zjištění: naprostá většina zkoumaných webů se otázkou AI crawlerů vůbec nezabývala. Nejde o vzorek firem, které se rozhodly weby otevřít AI asistentům, ani o vzorek firem, které se rozhodly je zavřít · je to vzorek firem, které se nerozhodly vůbec, a výsledek jejich viditelnosti tak určuje výchozí nastavení internetu, ne jejich vlastní volba.

Blanketní blokace (User-agent: * Disallow: /, 2 domény) není v tomto součtu počítána jako rozhodnutí o AI · blokuje úplně každého robota včetně Googlebota a vyhledávačů, takže nejde o krok mířený na AI crawlery specificky. Ve výše uvedené tabulce je uvedena samostatně.

Rozdělení stavu robots.txt vůči AI crawlerům: bez rozhodnutí proti explicitnímu pravidluSloupcový graf šesti kategorií stavu robots.txt vůči AI crawlerům z 260 dostupných domén, Mlčí: 217/260, 83,5 %; Neexistuje: 24/260, 9,2 %; Blokace AI: 12/260, 4,6 %; Povolení AI: 3/260, 1,2 %; Smíšený: 2/260, 0,8 %; Blokuje vše: 2/260, 0,8 %. Svislá přerušovaná čára odděluje první dvě kategorie (bez rozhodnutí o AI, dohromady 241/260, 92,7 %) od zbylých čtyř (alespoň nějaké explicitní pravidlo, dohromady 19/260, 7,3 %).Bez rozhodnutí o AIExplicitní pravidlo83,5 %217/260Mlčí9,2 %24/260Neexistuje4,6 %12/260Blokace AI1,2 %3/260Povolení AI0,8 %2/260Smíšený0,8 %2/260Blokuje všePodíl domén (z 260)
Rozdělení stavu robots.txt vůči AI crawlerům u 260 dostupných domén. Bez rozhodnutí o AI (mlčí nebo robots.txt neexistuje): 241/260 (92,7 %). Alespoň nějaké explicitní pravidlo (blokace, povolení, smíšený stav nebo blanketní blokace všech robotů): 19/260 (7,3 %).

Těch, kdo se rozhodli: 15 domén, a co je odlišuje

Skutečně zajímavou skupinou jsou domény, které pojmenovaly konkrétní AI crawler v blokovacím pravidle · to je jediný důkaz v datech, že šlo o vědomé rozhodnutí o AI, ne o vedlejší efekt obecného nastavení webu.

15domén pojmenovává AI crawler v Disallow pravidle
9 z 15zároveň nechává Googlebota bez omezení

Proč na tom záleží: web, který blokuje třeba GPTBot, ale zároveň nechává volný přístup Googlebotu, dělá rozdíl mezi „ať mě najdou ve vyhledávači" a „nechci být tréninková data nebo obsah AI odpovědi" · to je rozdíl, který nejde vysvětlit náhodou nebo generickým nastavením CMS šablony. Je to 9 z 15, tedy 60 %, ale při patnácti případech je to číslo, které při takto malém počtu ukazuje směr, ne přesný poměr. Zbylých 6 z 15 blokuje Googlebota stejným nebo podobným pravidlem, což je slabší signál: může jít stejně tak dobře o obecně přísné nastavení webu jako o rozhodnutí mířené konkrétně na AI.

Metodická poznámka: generická pravidla typu Disallow: /wp-admin/ pod User-agent: *, která platí stejně pro každého robota včetně Googlebota, do této skupiny 15 domén nepatří · takové pravidlo neříká nic o AI konkrétně. Základ 15/9 počítá jen domény, které pojmenovaly konkrétní AI crawler jménem.

Jak se 15 skládá z tabulky výše: 12 domén má jako svou hlavní klasifikaci „jen blokace" a 2 domény „smíšený stav" · dohromady 14. Patnáctá doména má navíc i blanketní pravidlo (User-agent: * Disallow: /), které v tabulce výše u klasifikace převažuje, a proto je v ní vedena pod „blanketní blokace" (1 ze 2 domén v tom řádku) · přesto obsahuje i jmenovité pravidlo pro konkrétní AI crawler, a proto se počítá i v této skupině 15. Číslo 15 tedy není v rozporu s tabulkou výše, jen měří jinou otázku: „má doména kdekoli jmenovité AI pravidlo", ne „je to její hlavní klasifikace".

Který AI crawler firmy blokují nejčastěji

Následující tabulka počítá, kolikrát byl každý crawler jmenovitě zablokovaný, z 236 domén, které mají strojově zpracovatelný robots.txt. Jedna doména může jmenovat víc než jednoho crawlera, takže součet sloupce přesahuje 15.

AI crawlerJmenovitě zablokován (z 236)
Amazonbot14
ClaudeBot12
GPTBot11
Google-Extended11
Applebot-Extended10
Bytespider9
meta-externalagent9
CCBot9
PerplexityBot4
anthropic-ai3
OAI-SearchBot3
ChatGPT-User3
Claude-User2
Claude-SearchBot2
Perplexity-User2

Žádný jednotlivý crawler není zablokovaný víc než 6 % domén s robots.txt souborem. Rozložení je ploché, ne soustředěné na jeden nástroj · nejde o to, že by se firmy zaměřovaly na ChatGPT a ostatní crawlery pomíjely · cíleně se nezabývají prakticky žádným z nich.

Vedlejší zjištění: certifikáty a šifrování

Sken zároveň provedl TLS handshake ke každé doméně · to je technický protokol, který zajišťuje, že spojení mezi návštěvníkem a webem je šifrované a že web je skutečně ten, za koho se vydává. Z 299 domén handshake dokončilo 257 (zbytek: 34 DNS chyba, 5 timeout, 3 odmítnuté spojení · žádné z toho se nepočítá jako TLS zjištění).

ZjištěníPočetPodíl (z 257)
Certifikát validuje celý řetězec důvěry24796,1 %
Certifikát nesedí na hostname domény62,3 %
Certifikát je již prošlý20,8 %
Protokol TLS 1.322386,8 %
Protokol TLS 1.23413,2 %

Prošlý certifikát a certifikát, který nesedí na hostname, jsou tvrdá zjištění přímo z živého handshake, ne odhad · prohlížeč v obou případech zobrazí návštěvníkovi bezpečnostní varování před vstupem na stránku.

Co se z tohoto skenu nedá zjistit a proč: jestli web ještě přijímá zastaralé protokoly TLS 1.0 nebo TLS 1.1, není z tohoto skenovacího prostředí měřitelné. Místní instalace OpenSSL (3.6.2) má tyto protokoly vypnuté na úrovni knihovny pro každé spojení, bez ohledu na cíl · je to vlastnost skenovacího nástroje, ne jednotlivých webů, a tvrzení „0 % webů přijímá zastaralé TLS" by bylo nepravdivé. Tahle metrika proto v datech chybí záměrně, ne proto, že by vyšla nulová.

Vydavatelé (certifikační autority) certifikátů, jen kategorie s alespoň 10 doménami:

VydavatelPočetPodíl (z 257)
Let's Encrypt18170,4 %
Google Trust Services2911,3 %
DigiCert Inc155,8 %
ostatní (žádná kategorie nedosáhla 10)3212,5 %

Medián zbývající platnosti certifikátu (z 257 dokončených handshake) je 65 dní, 12 domén z těch 257 vyprší do 30 dní a 2 z nich už vypršely v okamžiku měření.

HTTP/2 a HTTP/3

Podpora novějších verzí protokolu HTTP. HTTP/2 je měřen při TLS handshake (základ 257), HTTP/3 se měří jako inzerovaná schopnost v hlavičce odpovědi na /robots.txt (základ 260 dostupných domén, ne všech 299 · nedostupná doména nemůže žádnou hlavičku poslat, a počítat ji jako „bez podpory HTTP/3" by ji tiše přesunulo mezi weby, které HTTP/3 skutečně nenabízí):

ZjištěníZákladPočetPodíl
Server nabízí HTTP/2 (ALPN)25722687,9 %
Server inzeruje HTTP/3 (hlavička Alt-Svc)2607528,8 %

Vysoká podpora HTTP/2 mezi českými komerčními weby není překvapivá a slouží tu jen jako vedlejší doplněk, ne jako samostatný nález.

Zveřejněná verze software v odpovědi serveru

Z 260 dostupných domén 30 (11,5 %) posílá v hlavičce Server konkrétní číslo verze software (například přesnou verzi webového serveru), ne jen obecné jméno bez čísla. To je informace, kterou útočník může použít k rychlejšímu vyhledání známé zranitelnosti pro danou verzi · sama o sobě neznamená zranitelnost, jen zbytečně usnadňuje první krok někomu, kdo by ji hledal.

Co s tím

Jak si to ověřit u vlastního webu za 30 vteřin: do prohlížeče napište adresu vlastního webu s /robots.txt na konci, například vasefirma.cz/robots.txt.

  • Pokud stránka vrátí chybu (typicky 404), web nemá robots.txt vůbec · výchozí stav je viditelnost pro každého robota, AI crawlery nevyjímaje.
  • Pokud se zobrazí text, hledejte v něm jméno konkrétního AI crawleru (třeba GPTBot, ClaudeBot, Google-Extended, PerplexityBot) a řádek Disallow: pod ním · to znamená, že daný crawler je pro danou cestu zablokovaný.
  • Pokud jméno žádného AI crawleru v souboru není, web spadá do stejné skupiny jako 83,5 % zkoumaných domén: technicky přístupný, ale bez vlastního rozhodnutí.
Dvě rozumné politiky, podle toho, co firma chce:
  1. Chci být vidět v odpovědích AI asistentů. Nejjednodušší krok je ověřit, že robots.txt neobsahuje blanketní blokaci User-agent: * Disallow: / a že žádný konkrétní AI crawler není zablokovaný omylem, třeba přes výchozí nastavení šablony webu nebo pluginu CMS.
  2. Nechci, aby moje texty sloužily jako tréninková data cizímu modelu. Do robots.txt lze přidat explicitní blokaci jmenovitě pro crawlery určené primárně k trénování (typicky GPTBot, CCBot, Google-Extended, Bytespider), a ponechat volné crawlery, které odpovídají na dotaz konkrétního uživatele v reálném čase (třeba OAI-SearchBot, PerplexityBot), pokud firma chce zůstat dohledatelná v odpovědích, i když nechce být součástí tréninkových dat. Podobnou kombinaci v datech naznačuje 9 z 15 domén, jež blokují AI crawler, ale nechávají Googlebota volného.

Metodika

Detail dostatečný k tomu, aby ho kdokoli zopakoval na stejném vzorku:

  • Zdroj vzorku: 299 českých komerčních domén z výzkumného korpusu, který CIAD používá napříč paralelními bezpečnostními studiemi.
  • Datum skenu: 3. 8. 2026, jeden živý běh, žádná archivní data.
  • Požadavek pro robots.txt: jeden GET na veřejnou cestu /robots.txt, User-Agent CIAD-research/1.0, timeout 8 s, jeden opakovaný pokus jen při timeoutu (celkem max. 2 pokusy na doménu).
  • TLS: jeden handshake přes openssl s_client na standardní porty, timeout 8 s, čtení protokolu, řetězce důvěry, shody hostname, data expirace a vydavatele certifikátu. Bez odesílání jakýchkoli dat, bez pokusu o exploitaci.
  • Klasifikace robots.txt: pravidlo se počítá jako AI-specifické, jen pokud pojmenovává konkrétního AI crawlera jménem v Disallow nebo Allow řádku. Generická pravidla pod User-agent: *, která platí stejně pro každého robota (např. Disallow: /wp-admin/), do AI-specifické klasifikace nepatří.
  • Základ pro výpočet podílu: 260 pro všechny metriky robots.txt (299 mínus 39 nedostupných), 236 pro rozpad podle jednotlivého crawleru (domény s parsovatelným robots.txt), 257 pro všechny TLS metriky (299 mínus DNS chyby, timeouty a odmítnutá spojení). Nedostupná doména se nikdy nepočítá jako „bez pravidla" nebo jako TLS zjištění.
  • Práh pro zveřejnění segmentu: žádná kategorie s méně než 10 doménami se nepublikuje jako samostatný řádek · menší kategorie jsou sloučené do „ostatní".
  • Rozsah skenu: výhradně /robots.txt a TLS handshake. Žádná autentizace, žádné testování zranitelností, žádné skenování portů, žádný zásah do funkčnosti webu.
  • Publikovaná data: pouze agregáty · žádná doména, žádné jméno firmy. Podrobná data z jednotlivého skenu nejsou veřejná.

Data ke stažení

Agregovaná data ke stažení pod licencí CC BY 4.0 · JSON i CSV, bez doménových jmen a bez jmen firem. Kdokoli může data ověřit, přepočítat nebo citovat s odkazem na tuto stránku.

Stáhnout JSON · Stáhnout CSV