Jak udělat web čitelný pro AI

GEO a agent-ready web: praktický průvodce

Z části návštěv vibecoding.cz jsou už dnes AI agenti — a to číslo poroste.

Tahle stránka je pro vývojáře, kteří staví web; marketéry, kteří chtějí, aby je AI search citoval; a content lidi, kteří dnes plánují obsah, který bude zítra číst LLM.

Co je GEO a co je agent-ready

Tyhle dva pojmy se míchají, ale řeší různé problémy. GEO (Generative Engine Optimization) je optimalizace pro citaci v generativním vyhledávání — ChatGPT search, Google AI Overviews, Perplexity. Cíl: váš obsah se objeví v odpovědi, kterou LLM vygeneruje.

Agent-ready web je něco jiného. Připravenost na automatizovanou interakci s AI agenty — aby si web dokázal přečíst, najít na něm zdroje, případně spustit akci přes API. Cíl: agent dokáže váš web použít jako nástroj.

Překryv je v kvalitě strukturovaných metadat. Rozdíl: GEO řeší obsah, agent-ready řeší protokoly. Tahle stránka pokrývá obě.

GEO: Pro AI search

AI search čte web jinak než klasický crawler. Místo seznamu modrých odkazů skládá odpověď z citovatelných pasáží. Co dělá obsah „citovatelný“:

Strukturovaná data (Schema.org / JSON-LD)

Každý článek by měl mít Article markup, každá organizace Organization, seznamy FAQ pak FAQPage. Google AI Overviews i Perplexity dávají strukturovaná data přednost před volným textem. Minimální Article:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Název článku",
  "author": { "@type": "Person", "name": "Jméno autora" },
  "datePublished": "2026-04-26",
  "dateModified": "2026-04-26"
}
</script>

Validita: validator.schema.org. Vibecoding.cz má Article markup na každém článku — viz třeba jakýkoli článek.

llms.txt jako kurátorský seznam

llms.txt je markdown soubor v rootu webu, který říká AI: „pokud chceš pochopit tenhle web rychle, čti tohle.“ Je to kurátorovaná verze sitemapy s krátkými popisky.

Příklad z vibecoding.cz: /llms.txt (kurátor) + /llms-full.txt (plný obsah pro RAG indexaci).

Citovatelnost — krátké pasáže, jasné definice

LLM si z webu vytrhne větu nebo odstavec. Pokud věta nedává smysl bez kontextu předchozí kapitoly, neocitá se. Praktická pravidla:

  • První věta každé sekce je samostatná definice toho, o čem sekce je.
  • Klíčová tvrzení jako jednotlivé věty, ne v dlouhých souvětích.
  • Atribuce (zdroj, datum, autor) blízko tvrzení, ne v patičce.

E-E-A-T signály

Google E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) se v prosinci 2025 rozšířil i mimo YMYL témata — týká se v podstatě každého obsahu, který soutěží o citaci. Konkrétně:

  • Autor s jménem, fotkou a externím profilem (LinkedIn, GitHub).
  • Datum publikace a last-updated viditelně, ne v patičce.
  • Citace zdrojů s odkazy ven, ne ke zdrojům „v naší dokumentaci“.
  • Kvalifikace autora pro téma (ne každý článek od každého).

Vyhněte se

  • Content kanibalizaci. Jedno téma = jedna kanonická stránka. Když máte 5 článků o tomtéž, AI search neví, který citovat.
  • Thin content. Pod 600 slov u edukativní stránky = problém.
  • AI generated bez review. LLM rozeznají strojovou generiku v jiném LLM. Aktuální data tomu zatím nedávají velké váhy, ale směřování je jasné.

Jak měřit GEO

  • Google Search Console — segment AI Overviews, kde Google poskytuje (zatím selektivně).
  • Ahrefs Brand Radar — citace ve veřejných LLM odpovědích.
  • Serverové logy — návštěvy od GPTBot, ClaudeBot, PerplexityBot, Google-Extended. Na vibecoding.cz jsme to dali do D1 a graf vidíte níž.

Agent-Ready: Pro AI agenty

Když už jste pro AI search citovatelný, druhý krok je být použitelný pro agenty — automatizované systémy, které si web prochází, aby splnily úkol. Strukturováno podle 5 kategorií, které testuje isitagentready.com.

1. Discoverability — aby agent našel, co máte

Agent přistane na rootu vašeho webu a potřebuje rychle najít: kde je sitemap, kde je llms.txt, kde je MCP server, kde je katalog API. Tři místa, kam to umístit:

  • robots.txtSitemap: direktiva, llms.txt není standardní robots direktiva, ale dejte ji do komentáře.
  • HTTP Link response headers (RFC 8288) — agenti je najdou přes HEAD request bez parsování HTML.
  • <link rel="..." href="..."> v HTML — fallback pro klienty, kteří nesahají na headery.

Příklad Link headeru pro Cloudflare Pages (public/_headers):

/*
  Link: </llms.txt>; rel="llms-txt"
  Link: </llms-full.txt>; rel="llms-txt-full"
  Link: </sitemap.xml>; rel="sitemap"
  Link: </.well-known/api-catalog>; rel="api-catalog"

Vibecoding.cz má všechny tyhle Link headery globálně — /.well-known/api-catalog je formát application/linkset+json podle RFC 9727.

2. Content Accessibility — aby agent obsah pochopil

HTML s ad bannery, cookie pop-upy a SPA hydratací je pro agenta peklo. Tři techniky:

  • llms.txt jako kurátor — markdown index sekcí a klíčových stránek. Agent přečte za sekundu místo procházení sitemapy.
  • llms-full.txt jako full text — celý obsah webu jako jeden velký markdown pro RAG indexaci. Pozor na velikost (vibecoding.cz má kolem 700 KB).
  • Markdown content negotiation — když agent pošle Accept: text/markdown, server vrátí MD místo HTML. Pokročilá technika, většina webů to dnes nedělá; agenti ale začínají testovat.

3. Bot Access Control — kdo smí číst, na co

Klasický robots.txt + nově Content Signals (draft IETF). Příklad povoluje crawl všem, ale chrání admin sekci a explicitně vyjmenuje hlavní AI boty (kdyby je některý User-agent: * ignoroval):

# robots.txt
User-agent: *
Allow: /
Disallow: /admin/

# Explicitní opt-in pro AI tréning a indexaci
User-agent: GPTBot
Allow: /
Disallow: /admin/

User-agent: ClaudeBot
Allow: /
Disallow: /admin/

User-agent: PerplexityBot
Allow: /
Disallow: /admin/

User-agent: Google-Extended
Allow: /
Disallow: /admin/

User-agent: CCBot
Disallow: /

# Content Signals — preference použití (platí globálně)
Content-Signal: search=yes, ai-input=yes, ai-train=yes

Sitemap: https://example.cz/sitemap.xml

Content-Signal hodnoty: search = klasický indexing pro vyhledávače, ai-input = použití jako kontext pro AI odpověď (RAG, citace), ai-train = trénink modelu. Každá hodnota yes / no.

Web Bot Auth — autentizace botů přes podepsané HTTP zprávy (existuje raný draft). Praktická implementace je předčasná, sledujte aktualizace na contentsignals.org.

4. Protocol Discovery — aby agent věděl, co umíte

Když web nabízí akce (objednávka, vyhledávání v katalogu, registrace na akci), agent k nim potřebuje strojový popis. Dva standardy, které dnes dávají smysl:

  • /.well-known/api-catalog (RFC 9727) — application/linkset+json seznam dostupných API endpointů. Vibecoding.cz to má, agent tam najde MCP server, RSS feedy, sitemap, llms.txt.
  • MCP Server Card (/.well-known/mcp/server-card.json) — JSON deklarující schopnosti MCP serveru. Agent z něj vidí, jaké tooly server nabízí, bez nutnosti úvodního handshake. Vibecoding má MCP server na mcp.vibecoding.cz a Server Card k němu deklaruje dostupné tooly.

Minimální MCP Server Card (zkrácená ukázka — plnou podobu má vibecoding.cz na /.well-known/mcp/server-card.json):

{
  "$schema": "https://modelcontextprotocol.io/schemas/server-card/v1",
  "serverInfo": {
    "name": "vibecoding-events",
    "version": "1.0.0",
    "description": "MCP server pro kalendář akcí Vibecoding.cz"
  },
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://mcp.vibecoding.cz/mcp"
  },
  "tools": [
    { "name": "list_events", "description": "Výpis nadcházejících akcí" },
    { "name": "search_events", "description": "Vyhledávání podle klíčového slova" },
    { "name": "get_event", "description": "Detail akce" },
    { "name": "submit_event", "description": "Přidání komunitní akce" }
  ]
}

Agent Skills a WebMCP jsou další standardy, které se objevují (Anthropic Skills, browser-side MCP). Pro běžný web jsou teď ještě předčasné.

5. Commerce — agentní platby

Standardy x402, MPP, UCP a ACP řeší situaci, kdy chce agent něco koupit nebo zaplatit. x402 je nejrozšířenější (HTTP 402 Payment Required + crypto micropayments). Pro většinu webů to dnes není relevantní — pokud váš agent nedělá platby autonomně, sledujte vývoj a vraťte se za rok.

Důkaz: jak roste adopce na vibecoding.cz

Tahle data jsou z provozu vibecoding.cz. Adopce roste. Když to neuděláte teď, dohánět budete.

Načítám data…

Modrá: celkové page views. Oranžová: požadavky na /llms.txt. Zelená: požadavky na /llms-full.txt. Posledních 30 dní.

Otestujte svůj web

isitagentready.com je zdarma testovací nástroj, který projde váš web a vyhodnotí ho v 5 kategoriích, které jsou popsané výše. Doporučený postup:

  1. Zadáte URL svého webu.
  2. Volitelně vyberete typ webu (e-commerce / blog / SaaS / …) — upraví se kontrolní list.
  3. Dostanete report. Co je červené, je „udělej teď“. Co je oranžové, „udělej brzy“.
  4. Report dejte do Cursoru, Claude Code nebo jiného AI agenta s instrukcí „oprav body z reportu“. Většina věcí je jednoduchá konfigurace souborů v rootu projektu.

Tip: než dáte report agentovi, zkontrolujte, že chápete, co každá položka znamená — z téhle stránky byste měli mít kontext na všech 5 kategorií.

Quick wins: 5 kroků, kde začít

Seřazeno od nejjednoduššího k nejnáročnějšímu.

  1. Content Signals v robots.txt 5 minut

    Přidejte řádek Content-Signal: search=yes, ai-input=yes, ai-train=yes do svého robots.txt. Ovlivníte stovky AI služeb, které ten draft respektují, a deklarujete, jak chcete, aby se s vaším obsahem zacházelo.

  2. Schema.org Article JSON-LD na článcích 1 hodina

    Přidejte JSON-LD blok do <head> každého článku. Minimum: headline, author, datePublished. Validujte na validator.schema.org.

  3. llms.txt jako kurátor 1 hodina

    Vytvořte /llms.txt v rootu — markdown s H1 (jméno webu), blockquote (krátký popis), seznamy odkazů na hlavní sekce. Spec na llmstxt.org. Pro vibecoding.cz vidíte /llms.txt.

  4. V Cloudflare Pages přes public/_headers, ve Vercelu přes vercel.json, jinde v konfiguraci CDN. Advertujte alespoň llms-txt, sitemap a případně api-catalog.

  5. MCP server půlden

    Pokud máte vlastní backend a chcete agentům dát rozhraní k akcím (vyhledávání, objednávky, custom dotazy), nasaďte MCP server. Pro většinu obsahových webů zatím není potřeba.

Další čtení

Autor: Patrick Zandl · Publikováno: 26. dubna 2026 · Aktualizováno: 26. dubna 2026