Přeskočit na obsah

Shoptet a AI roboti: povolení, které zrušilo zákazy

Měření 47 e-shopů na Shoptetu: explicitní blokaci AI robotů jsem nenašel. Šest jim přidalo vlastní pravidla a čtyřem tím přestaly platit výchozí zákazy.

~1 500 slov 6 častých otázek ~7 minut čtení Aktualizováno: 8. 8. 2026
Shoptet a AI roboti: povolení, které zrušilo zákazy
Stručná odpověď

Změřil jsem robots.txt na 47 e-shopech běžících na Shoptetu. Explicitní blokaci sledovaných AI robotů jsem nenašel ani u jednoho. Šest jim naopak přidalo vlastní skupinu pravidel — a protože pro robota platí jen jeho nejspecifičtější skupina, čtyřem z nich tím přestalo platit všech 40 výchozích zákazů, tedy i vyhledávání, košík a filtrované adresy.

První díl skončil otevřenou otázkou: robots.txt byl u všech patnácti měřených e-shopů identický, ale jestli ho jde v administraci upravit, jsem netvrdil ani jedním směrem.

Odpověď byla v nápovědě Shoptetu. A když jsem pak rozšířil vzorek na 47 e-shopů, našel jsem něco, co jsem nehledal: u čtyř obchodů vedlo přidání vlastních pravidel pro AI roboty k tomu, že pro ně přestalo platit všech 40 zákazů, které platforma nastavuje ve výchozím stavu.

Jestli máte v robots.txt vlastní blok pro GPTBota, ClaudeBota nebo jiného AI robota, zkontrolujte hned teď, jestli neobsahuje jen Allow: /. Pokud ano, výchozí zákazy pro něj přestaly platit a je potřeba je do jeho skupiny dopsat. Proč, vysvětluje zbytek článku.

Co následuje, platí pro obsah souboru robots.txt a pro odpověď homepage na zadané řetězce user-agenta z běžné IP adresy. Ověřené rozsahy adres robotů ani jiné stránky než homepage jsem netestoval.

Co říká nápověda

Shoptet to má popsané v sekci HTML kódy: robots.txt se edituje v Vzhled a Obsah → Editor → HTML kód, sekce má limit 8 192 znaků a — to je důležité — „vložený text se přidá na konec souboru robots.txt“. Tedy přílepek, ne přepis. Výchozích 40 zákazů zůstává.

Tatáž stránka mimochodem popisuje ještě jedno pole, o kterém se moc neví: llms.txt — vlastní text pro AI nástroje. K němu se dostanu níž, protože měření u něj ukázalo nepříjemnou věc.

Vzorek

Potřeboval jsem seznam reálných e-shopů, který jsem nesestavil sám. Vzal jsem 125 e-shopů uvedených ve výsledcích soutěže ShopRoku 2025, u každého otestoval otisk Shoptetu v HTML (cdn.myshoptet.com a objekt Shoptet. v JavaScriptu) a nechal si ty, které na platformě běží.

Vyšlo 31 e-shopů, tedy 25 %. K nim jsem přidal 7 obchodů z prvního dílu a 9 oficiálních šablonových dem. Dohromady 47 e-shopů. Není to reprezentativní náhodný vzorek platformy — soutěž ho vychyluje k větším a aktivnějším obchodům.

Konkrétní domény v článku neuvádím. Princip i čísla dávají smysl bez nich a vystavovat nastavení jednotlivých obchodů mi nepřijde férové.

U každého jsem stáhl robots.txt, /llms.txt a homepage — jednou s běžným prohlížečem a pak postupně s user-agenty pěti AI robotů.

V robots.txt jsem blokaci AI robota nenašel ani jednou

ZjištěníPočet
robots.txt vrátil 20047 z 47
byte-identický s výchozím31 z 47
upravený16 z 47
obsahuje zmínku o AI robotovi6 z 47
blokuje nějakého AI robota0 z 47

Jediné Disallow: / v celém vzorku patří robotu YoudaoBot, tedy nikomu ze sledované sady.

Úpravy jsou většinou nudné přílepky — někdo přidal dva řádky, jiný pět. Ale ne všechny: jeden e-shop má proti výchozímu souboru o dvě pravidla míň a jedno přepsané, jiný má celý obsah na jediném řádku. Základ tedy není všude stejný a proč, to zvenku nepoznám.

Hlavní nález: vlastní skupina bez zákazů vyřadí tu obecnou

Šest e-shopů má pro AI roboty vlastní pravidla. Všechna povolují. A právě tím vznikl problém.

Dokumentace Googlu k robots.txt to říká jednou větou: u konkrétního robota se použije vždy jen jedna skupina — ta s nejspecifičtějším odpovídajícím user-agentem. Jakmile tedy GPTBot dostane vlastní skupinu, skupina User-agent: * se na něj přestane vztahovat. Nedoplní se. Nahradí se.

Podívejte se, co to udělá se souborem, který má ve výchozím stavu 40 zákazů:

User-agent: *
Disallow: /vyhledavani/
Disallow: /kosik/
Disallow: /login/
Disallow: /*?order
...celkem 40 pravidel

User-agent: GPTBot
Allow: /

Pro všechny roboty platí těch 40 zákazů. Pro GPTBota platí jediné pravidlo: pusť ho všude. Vyhledávání, košík, přihlášení, filtrované a řadicí adresy, záložky s diskusí a hodnocením — všechno, co majitel před roboty schoval, je pro něj zase otevřené.

Rozpad těch šesti e-shopů s vlastními skupinami vypadá takhle:

Kolik e-shopůSkupin v souboruSkupina *Co mají AI roboti
1340× Disallow2 roboti, jen Allow: /
31240× Disallow11 robotů, jen Allow: /
11643× Disallow15 robotů, Allow: / + jediné Disallow: /klient/
11043× DisallowClaudeBot má prázdnou skupinu

Není to výtka — úmysl byl správný a technicky to není havárie. Filtrované adresy jsou tenké stránky, ne tajemství. Ale je to přesný opak toho, co si majitel myslel, že dělá: chtěl robotům otevřít obsah a otevřel jim navíc adresy, které měl pro roboty dosud zavřené.

Jak povolení zapsat, aby nezpůsobilo tohle

Nejjednodušší odpověď je nepsat ho vůbec. Výchozí Shoptet robots.txt sledované AI roboty nijak nezmiňuje, takže z pohledu pravidel procházení mají stejný základ jako ostatní roboti — Allow: / jim nepřidá nic, co by neměli.

Pokud vlastní skupinu chcete (třeba kvůli přehlednosti), nestačí do ní dát Allow: /. Musíte do ní zkopírovat všechny zákazy, které chcete zachovat. Následující ukázka je zkrácená — výchozí Shoptet soubor jich má 40:

User-agent: GPTBot
Allow: /
Disallow: /vyhledavani/
Disallow: /kosik/
Disallow: /login/
Disallow: /*?order

Trochu se to opisuje, ale robot pak čte skupinu, která odpovídá vašemu záměru.

llms.txt: dvoustovka na všech, obsah na třech

Vedle robots.txt jsem změřil i llms.txt, protože na něj má Shoptet vlastní pole v administraci. Otázka zněla, kolik e-shopů ho vyplnilo — a odpověď je nepříjemnější, než jsem čekal.

ZjištěníPočet
/llms.txt vrátí HTTP 20047 z 47
tělo je prázdné (content-length: 0)44 z 47
má skutečný obsah3 z 47

Shoptet vystavuje adresu /llms.txt každému e-shopu bez ohledu na to, jestli do pole někdo něco napsal. Nevrací 404 — vrací dvoustovku s prázdným tělem.

Ty tři vyplněné mají mezi 2,8 a 7,9 kB textu. Ani jeden z nich není náhoda — někdo si s tím dal práci.

Filtraci podle user-agenta jsem ve vzorku nenašel

Zbývala otázka, jestli se blokování neděje o patro výš, na serveru. Stáhl jsem homepage s user-agenty GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot a CCBot.

Všech 47 e-shopů vrátilo 200 každému z nich, stejně jako běžnému prohlížeči. Žádná hlavička X-Robots-Tag se neobjevila ani jednou. Všechny e-shopy hlásí Server: openresty a v naměřených hlavičkách jsem u žádného nenašel známky Cloudflare, takže se na vzorek zřejmě nevztahují ani výchozí blokace AI robotů, které Cloudflare zapnul.

Limit toho testu je podstatný: měřil jsem řetězec user-agenta z běžné IP adresy. Skuteční roboti chodí z ověřitelných rozsahů adres a filtrovat se dá až podle nich. Rate-limiting jsem neměřil vůbec.

Museli jsme opravit vlastní návod

Tenhle nález se týká i nás. Náš návod na robots.txt pro AI ukazoval šablonu s Allow: / pro jednotlivé roboty a doprovázel ji větou, že to má smysl „v případě, kdy máte obecné User-agent: * s blokací“.

Ta věta to má obráceně. Právě když má web neprázdnou skupinu User-agent: *, přidání vlastní skupiny pro robota tu obecnou skupinu pro něj zruší. Tenhle článek našel čtyři e-shopy, kde to takhle dopadlo. Návod jsme opravili a doplnili do něj bezpečný zápis.

Tři chyby, které se dají udělat za minutu

Zkopírovat cizí blok „povolení pro AI“

Nejrychlejší cesta k tomu, aby vám roboti chodili do vyhledávání a košíku. Když už blok kopírujete, projděte si, jestli má vlastní zákazy, nebo jen Allow: /.

Považovat HTTP 200 na /llms.txt za splněno

Na Shoptetu vrací dvoustovku i prázdný soubor. Ve vzorku to byl případ 44 e-shopů ze 47. Kontrolujte obsah.

Myslet si, že robota musíte povolit vlastním blokem

Na Shoptetu to ve výchozím stavu nutné není — obecná skupina mu nic nezakazuje nad rámec toho, co platí pro všechny. Vlastní blok jen s Allow: / naopak obecnou skupinu pro toho robota vypne.

Co si projít na vlastním Shoptetu

  • Otevřít /robots.txt a najít vlastní skupiny Pokud tam žádná není, řídí se AI roboti obecnou skupinou. Pokud je, projděte, co v ní stojí.
  • U každé vlastní skupiny zkontrolovat zákazy Skupina jen s Allow lomítko bez zopakovaných zákazů způsobí, že pro toho robota přestanou platit zákazy z obecné skupiny.
  • Otevřít /llms.txt a podívat se na obsah Dvoustovka nestačí. Prázdný soubor vypadá zvenku stejně jako vyplněný.
  • Rozhodnout se vědomě, koho chcete pustit Ve výchozím stavu Shoptet sledované AI roboty neblokuje, jen na ně platí obecné zákazy jako na ostatní. Není to chyba, ale je to rozhodnutí, které za vás udělala platforma.

Kam tenhle článek patří

Druhý díl bloku o Shoptetu a viditelnosti v AI. V dalších navážu datovými poli v administraci, filtry a parametrickými adresami a blogovým modulem. První díl měřil, co Shoptet posílá strojům ve strukturovaných datech.

A pokud si z celého textu máte odnést jedinou kontrolu: otevřete si dnes /robots.txt a ověřte, že případná skupina pro GPTBota, ClaudeBota nebo PerplexityBota neobsahuje jen Allow: /.

Sniper Design
Pomoc s implementací

Nechcete to řešit interně? Postavíme to za vás.

V Sniper Design děláme kompletní AI SEO — strategii, audit, implementaci i obsah. Zlatý partner Upgates i Shoptetu, přes 600 e‑shopů na CZ trhu. Na AI vyhledávání připravujeme návrhy homepage, obsahovou strukturu i audity klientských webů.

  • 600+ e‑shopů
  • Vlastní e‑shop MEGA DETAIL
FAQČasté otázky

Časté otázky, které k tématu nejčastěji padají

Jde robots.txt na Shoptetu upravit?
Ano. Podle nápovědy Shoptetu je pole v administraci v sekci Vzhled a Obsah → Editor → HTML kód a platí pro něj limit 8 192 znaků. Nápověda uvádí, že se vložený text přidá na konec souboru. V měřeném vzorku mělo 16 ze 47 e-shopů soubor jiný než nejčastější výchozí otisk, takže k úpravám v praxi dochází.
Proč je povolení AI robota nebezpečnější než nic?
Riziko nevzniká samotným Allow lomítko, ale tím, že robot dostane vlastní specifičtější skupinu bez zákazů, které do té doby platily v obecné skupině. Podle specifikace se pro konkrétního robota vyhodnocuje jen jedna skupina — ta s nejspecifičtějším odpovídajícím user-agentem. Pokud v ní stojí jen Allow lomítko, robot už zákazy z obecné skupiny nečte.
Jak tedy povolit AI robota bezpečně?
Na Shoptetu ve výchozím stavu mu vlastní skupinu psát nemusíte. Hlavně nepřidávejte samostatný blok jen s Allow lomítko — tím pro daného robota vypnete zákazy z obecné skupiny. Pokud vlastní skupinu chcete, zopakujte v ní zákazy, na kterých vám záleží: vyhledávání, košík, přihlášení a filtrované adresy.
Znamená HTTP 200 na /llms.txt, že mám llms.txt hotový?
V měřeném vzorku ne. Ve 44 ze 47 e-shopů vrátila adresa /llms.txt stavový kód 200 s prázdným tělem, tedy hlavičkou content-length nula. Kontrola, která se ptá jen na stavový kód, tyhle e-shopy označí za vyřešené. Ověřujte obsah, ne existenci.
Blokuje Shoptet AI roboty na úrovni serveru?
V tomhle testu ne. Stáhl jsem homepage s user-agenty GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot a CCBot a všech 47 e-shopů vrátilo 200 stejně jako běžnému prohlížeči. Žádná hlavička X-Robots-Tag se neobjevila. Testoval jsem ale jen řetězec user-agenta z běžné IP adresy, ne ověřené rozsahy robotů.
Platí měření pro každý Shoptet e-shop?
Ne. Vzorek tvoří 47 e-shopů: 31 z výsledků soutěže ShopRoku 2025, 7 z předchozího měření a 9 oficiálních šablonových dem. Je to vzorek vychýlený k větším a aktivnějším obchodům a měřil jsem jeden den, 8. srpna 2026.
Čtěte dál

Související články

Všechny články v blogu Zpět na úvod