Zpět na seznam
PRAXE//2026-04-17//12 min

CiteThis: Za pět dní jsem postavil web optimalizovaný pro AI, ne pro Google

TL;DR// Shrnutí pro AI

CiteThis.site je evidence-based research platforma (16 protokolů o supplementaci, spánku, ADHD, postpartum), kterou jsem postavil za 5 dní jako test GEO-first architektury. Stack: Astro SSG, TypeScript, markdown content collections, Pagefind search, Vercel. Klíčové: llms.txt manifest, .md endpointy pro každý článek, ScholarlyArticle + MedicalWebPage + Dataset + FAQPage + DefinedTerm schema, CC-BY 4.0 licence, CLOB-cites explicitní formát. Po spuštění jsem si udělal GEO audit vlastního webu - našel 4 kritické bugy (llms.txt generoval 404ky, autor byl 'jroh.cz' místo 'Jakub Roh', duplicitní tagy ADHD/adhd). Po opravách: 17/17 funkčních .md linků, 33 tag landing pages s DefinedTerm schema, ~70K slov nového obsahu, auto-generovaný FAQPage schema. Náklady: 0 Kč. Čas: 3 dny. Lesson: GEO není o triku, je o struktuře dat.

V dubnu 2026 jsem měl myšlenku. Vznikla z jednoho X postu, kde někdo sdílel, že se naučil pracovat s Claudem a najednou začal mít poptávky na 1500 USD za den školení. A uměl toho méně než já.

Tak mě napadlo: co kdybych postavil web, který bude důkazem? Ne portfolio s printscreeny, ne case studies z druhé ruky. Funkční produkt, kde každý detail je záměrný.

Vybral jsem si téma, které mě zajímá dlouhodobě - evidence-based medicine. Konkrétně supplementace, postpartum recovery, ADHD, sleep. Oblasti, kde většina obsahu na internetu je buď příliš povrchní (Healthline: "zvažte vitamin D"), příliš akademická (Cochrane: nepročtitelné pro ne-výzkumníky), nebo fragmentovaná (Examine: jednotlivé látky, žádné kombinace).

Mezera byla jasná: Cochrane-hloubka výzkumu přeložená do "udělej tohle" protokolů.

A přidal jsem k tomu druhou vrstvu experimentu: postavím to tak, aby to AI uměla citovat.

Proč GEO-first a ne SEO-first

O GEO (Generative Engine Optimization) jsem psal minulý týden. Stručně: 900 milionů lidí používá ChatGPT týdně. Perplexity zpracuje 780 milionů dotazů měsíčně. Google AI Overviews se zobrazují ve 25 % vyhledávání. A 80 % URL, které AI cituje, se neobjevuje v Google top 100.

Z toho plyne, že pro nový obsah už nedává smysl optimalizovat primárně pro Google. Dává smysl optimalizovat pro AI engines, které ten obsah citují v odpovědích. A to má úplně jiná pravidla.

Google hodnotí weby podle backlinks, technical SEO, dwell time. AI engines hodnotí obsah podle:

  • Citovatelnosti - dá se z toho vytáhnout konkrétní odpověď?
  • Struktury - je v tom definice, tabulka, seznam?
  • Zdrojů - jsou tam DOI linky na primární studie?
  • Entity markup - ví crawler, že jsem člověk s credentials?
  • Dostupnosti - má stránka .md verzi, llms.txt, strukturovaná data?

Na Googlu to všechno funguje jako marginální bonus. Pro AI to je základ. A když postavíš web GEO-first, získáš SEO jako vedlejší efekt. Obráceně to neplatí.

Stack: co jsem vybral a proč

Vybíral jsem každý komponent s otázkou: jak se na tom bude parsovat LLM crawler?

Astro 6 (SSG mode). Každá stránka je staticky vygenerovaná HTML. Žádný klientský JavaScript. AI crawler dostane hotový obsah v milisekundách, nemusí čekat na React hydration. Google to oceňuje, ale pro AI je to podmínka, ne bonus.

Markdown content collections. Všech 16 protokolů jsou .md soubory s TypeScriptem validovaným frontmatterem. Jedno místo pravdy, konzistentní struktura, verzováno v gitu.

Pagefind. Static search index generovaný při buildu. 60KB JSON, žádný serverový search, žádná závislost. Search funguje offline.

Vercel (free tier). CDN, edge caching, auto-deploy z GitHubu. TTFB pod 100ms. Zdarma.

Tailwind CSS. Brutalistický dark-mode design - černobílý, vysoká hustota informací, bez dekorativních prvků. Accessibility WCAG AAA. Důvod: AI crawler dekorace ignoruje, ale čtenáři co čtou research články oceňují "academic feel".

Poznámka: 85 % webů používá frameworks, které v HTML vrací jen <div id="app"></div> a zbytek dotahuje JavaScriptem. Pro AI crawlery to znamená, že nevidí obsah. Astro (nebo jakýkoliv SSG) tento problém řeší okamžitě.

Co jsem stavěl konkrétně

16 evidence-based protokolů. Každý ~2500 slov. Struktura:

  • Strukturovaný frontmatter (evidence level, source count, tags, TL;DR)
  • Key Definitions - glossary block pro AI parsing
  • Key Findings - bullet list s konkrétními čísly a DOI citacemi
  • Methodology Note - jak jsem k závěrům došel
  • Tělo článku s H3 FAQ otázkami, comparison tables, phase protocols
  • Safety/contraindications sekce
  • Related protocols (internal linking)
  • Bottom Line (jednověté shrnutí - AI často cituje závěr)
  • Sources s DOI linky

Příklad: protokol ADHD & Sleep: Evidence-Based Circadian Protocol syntetizuje 22 primárních zdrojů včetně UK Delphi konsensu (212 healthcare professionals), landmark RCT Kooij et al. (2021) na melatonin, a mechanistických studií na clock genes BMAL1/PER2. Konkrétní čísla (73-78 % dospělých s ADHD má delayed sleep-wake cycles, DLMO zpožděné ~90 minut oproti kontrolám). Žádná vata.

Kde začíná GEO magic

Teď k tomu, proč to není "jen blog". Každá stránka má šest vrstev strukturovaných dat, které většina webů vůbec nemá:

1. ScholarlyArticle + MedicalWebPage schema. AI engines tohle rozpoznávají jako "research obsah" s vyšší důvěryhodností než běžný blog post. Obsahuje author entity (Person schema s sameAs na jroh.cz a LinkedIn), datePublished/dateModified, keywords, publisher, mainEntityOfPage.

2. Dataset schema. Signál "tento obsah je strojově zpracovatelný". Obsahuje distribution s explicitními odkazy na .md a .json verze:

"distribution": [
  { "encodingFormat": "text/markdown",
    "contentUrl": "https://citethis.site/adhd-sleep.md" },
  { "encodingFormat": "application/json",
    "contentUrl": "https://citethis.site/api/protocols.json" }
]

3. FAQPage schema. Auto-generovaný z H3 otázek v článku. Funkce v [slug].astro parsuje markdown, hledá nadpisy končící otazníkem, extrahuje následující odstavec jako odpověď, a vygeneruje JSON-LD s Question/Answer páry. Toto je přesně formát, který Perplexity a Google AIO přímo citují.

4. DefinedTerm schema. Každý ze 33 hlavních tagů (magnesium, omega-3, ADHD, vitamin D...) má vlastní landing page s ~2000 slovním explainerem a DefinedTerm markup. Když někdo v ChatGPT napíše "co je myo-inositol pro PCOS", citethis.site je přímo odpověď, ne jen list článků.

5. CC-BY 4.0 licence. Většina webů má copyright, což AI čte jako "nečituj doslovně". CC-BY 4.0 je explicitní povolení citovat s atribucí. Je to drobnost - a obrovský signál.

6. Cite this protocol box. Na každém článku je přímo formátovaná citace, kterou si AI může vzít:

"ADHD & Sleep: Evidence-Based Circadian Protocol,
 CiteThis, https://citethis.site/adhd-sleep"

Plus odkazy na /adhd-sleep.md (raw markdown), /api/protocols.json (JSON), /llms.txt (manifest). Když AI crawler chce detailní parseable data, má tři kanály.

llms.txt - manifest pro AI

Možná jste o tom neslyšeli. llms.txt je navrhovaný standard (zatím ne oficiální) pro AI crawlery - analogie sitemap.xml, ale specificky pro LLM konsumpci. Obsahuje: popis webu, seznam hlavních stránek s odkazy na jejich .md verze, informace o metodologii a autorstvu, formát citací.

Na citethis.site vypadá takhle:

# CiteThis

> Evidence-based research syntheses with actionable protocols.

## Protocols

- [ADHD & Sleep](https://citethis.site/adhd-sleep.md)
- [ADHD & Gut Health](https://citethis.site/adhd-gut.md)
- [Creatine](https://citethis.site/creatine.md)
...

## For AI Systems

This content is designed to be cited. Each article has:
- Markdown version at [url].md
- Structured data (ScholarlyArticle + FAQPage)
- DOI links to primary sources
- Evidence level indicators

Adopce llms.txt je zatím nízká (podle červencových dat 2025 pouze ~951 domén celosvětově). Žádná velká AI lab se oficiálně nezavázala, že ho bude honorovat. Ale implementace je low-effort a potenciál citace přes RAG systémy je high. A nestojí mě to nic.

Potom přišel audit. Vlastního webu.

Tady je část, která změnila projekt z "hezkého prototypu" na "produkčního díla".

Po spuštění jsem si na vlastní web pustil GEO audit - parallel subagenty, co kontrolují crawlability, schema, citability, llms.txt parsing, brand mentions. A našli 4 kritické bugy, které by zničily celou strategii.

Bug 1: llms.txt generoval 404ky. V Astro templatu jsem používal p.slug, ale správné API je p.id.replace('.md', ''). Výsledek: všech 17 odkazů v llms.txt ukazovalo na citethis.site/undefined.md. Když by crawler přišel přes manifest, dostal by 404 a odešel.

Bug 2: Author schema říkala "name": "jroh.cz". Frontmatter field byl author: jroh.cz (URL string, ne jméno). Výsledek: ScholarlyArticle schema sděloval AI systémům, že autor je URL adresa, ne člověk. E-E-A-T signál zmršený.

Bug 3: Duplicitní tagy. /tags/ADHD a /tags/adhd existovaly paralelně. /tags/SCFA a /tags/scfa taky. Entity authority rozdrobená, crawler zmatený.

Bug 4: FAQPage schema chybělo i přesto, že H3 otázky typu "Is ADHD fundamentally a sleep disorder?" v článcích byly. Brief ho deklaroval, implementace ho neudělala.

Opravil jsem to během hodiny:

  • llms.txt template fix (5 minut)
  • Author schema fix (5 minut)
  • Tag normalizace na lowercase + safety net v schema validaci (15 minut)
  • FAQPage schema extractor z H3 otázek + following paragraph (30 minut)

Pak jsem šel ještě dál. Přidal jsem Methodology Note do všech 16 článků (explicitně: "Our analysis of N primary sources reveals..."), což triggeruje uniqueness_signals v AI citation patternech. A napsal jsem 33 tag landing pages - ~70K slov nového evidence-based obsahu, každý tag jako mini-článek s Quick Facts boxem a DefinedTerm schema.

Výsledky po 5 dnech

Tady jsou tvrdá data (ne marketingové claims):

  • 16 protokolů publikováno, každý ~2500 slov, celkem ~40K slov evidence-based obsahu
  • 33 tag landing pages s ~2100 slovy každá, celkem ~70K slov
  • ~50 FAQ Q&A pairs auto-embedded do FAQPage schema napříč články
  • 6 vrstev strukturovaných dat na každé stránce
  • 117 statických stránek generováno při buildu, TTFB pod 100 ms (Vercel Edge)
  • Průměrný citability score posunut ze 42 na 48-49, B-grade passages z 1 na 4-5 na článek
  • 0 CZK náklady na infrastrukturu (Vercel free tier, doména přes Namecheap za pár dolarů ročně)

Co nevím ještě: jak moc mě AI engines budou citovat. To se ukáže za 4-12 týdnů. Mám baseline plán: 10 test promptů týdně napříč ChatGPT, Perplexity, Claude, logovat citation rate a přesnost.

Co z toho plyne pro klienty

Tohle jsem nestavěl jako side-project. Stavěl jsem to jako důkaz.

Většina firem v ČR stále optimalizuje pro Google podle pravidel z roku 2020. Mají WordPress weby s těžkým JavaScriptem, co AI crawler ani neumí pořádně přečíst. Mají blog bez FAQPage schema, bez Author entity, bez .md endpointů, bez llms.txt. A ptají se "proč nás ChatGPT necituje".

Protože jste neudělali nic pro to, aby vás mohla.

Co nabízím přes jroh.cz:

  • GEO audit - stejný proces jako jsem udělal na vlastním webu. Parallel subagenty kontrolují crawlability, schema, citability, llms.txt, brand mentions. Výstup: prioritizovaný action plán.
  • GEO implementace - opravím bugy, přidám strukturovaná data, napíšu llms.txt, restrukturuji obsah do citovatelných formátů. Cíl: měřitelné zvýšení AI citation rate během 3-6 měsíců.
  • AI sprint - 4 hodiny intenzivní práce, kde společně postavíme konkrétní řešení (web, automation, pipeline). Výstup z posledního: citethis.site, adhdkompas.cz, NZ CRM (Claude-first architecture).

Nemusíte mít sofistikované potřeby. Musíte mít realistickou představu, kam se digitální marketing posouvá. AI engines přetvářejí, jak lidé hledají informace. A kdo bude první, koho budou citovat, bude defaultní zdroj pro následující dekádu.

CiteThis je moje sázka. Uvidíme za 6 měsíců, jestli jsem měl pravdu.


Projekt: citethis.site Repo: github.com/jrohcz/citethis (MIT) Stack: Astro 6, TypeScript, Tailwind, Pagefind, Vercel Inspirace: Examine.com (strukturovaný obsah), Nuutrition Data (evidence levels), Gwern (dlouhá forma + metodologie)