Shrnutí
AI agenti (ChatGPT, Claude, Perplexity) konzumují váš web jako surové HTML — včetně navbarů, patiček, cookie bannerů a reklamních skriptů. To znamená 2–5x více tokenů než je nutné a zhoršuje kvalitu AI-generovaných odpovědí, které citují váš obsah. Řešením je servírovat čistý Markdown pro AI agenty přes standard llms.txt. Vytvořil jsem next-markdown-mirror — bezplatnou open-source Next.js knihovnu, která to dělá automaticky a nastavíte ji za 3 minuty.
Problém: AI agenti se topí ve vašem HTML
Když AI agent navštíví vaši stránku, dostane totéž co prohlížeč — kompletní HTML. Navigace, patička, cookie bannery, reklamní skripty, SVG ikony. Všechno, co pro člověka vypadá jako "obsah stránky", je ve skutečnosti zakopané pod tunami boilerplate kódu.
Výsledek? 2–5x více tokenů než je nutné. A AI nástroje, které citují váš web, produkují horší odpovědi, protože se snaží extrahovat smysl z šumu.
Není to jen problém výkonu — přímo to ovlivňuje, jestli AI nástroje doporučí váš obsah, nebo obsah konkurence.
Řešení: llms.txt a Markdown mirror
Vznikl standard llms.txt — jednoduchý soubor, který AI agentům říká, kde najdou čistý obsah vašeho webu. Podobný princip jako robots.txt, ale pro LLM.
Problém je v implementaci. Jak zajistit, aby každá stránka měla svůj Markdown ekvivalent? Ručně? To nedává smysl.
next-markdown-mirror
Proto jsem vytvořil next-markdown-mirror — Next.js knihovnu, která automaticky:
- Detekuje AI agenty podle User-Agent hlavičky
- Převádí vaše stránky na Markdown za běhu
- Generuje llms.txt soubor automaticky
- Extrahuje JSON-LD metadata
Jak to funguje
Knihovna funguje jako middleware. Když přijde požadavek od AI agenta, místo standardního HTML odpovědi:
- Interně načte vaši stránku
- Převede HTML na čistý Markdown
- Odfiltruje navigaci, patičku a další šum
- Vrátí čistý, tokenově efektivní obsah
Setup za 3 minuty
pnpm add next-markdown-mirror
Pak stačí tři soubory:
// proxy.ts
import { withMarkdownMirror } from 'next-markdown-mirror/nextjs';
export const proxy = withMarkdownMirror();
// app/md-mirror/[...path]/route.ts
import { createMarkdownHandler } from 'next-markdown-mirror/nextjs';
export const GET = createMarkdownHandler({
baseUrl: process.env.NEXT_PUBLIC_SITE_URL!,
});
// app/llms.txt/route.ts
import { createLlmsTxtHandler } from 'next-markdown-mirror/nextjs';
export const GET = createLlmsTxtHandler({
siteName: 'Můj Web',
baseUrl: process.env.NEXT_PUBLIC_SITE_URL!,
pages: [
{ url: '/', title: 'Úvod' },
{ url: '/blog', title: 'Blog' },
],
});
A je to. Žádná konfigurace Cloudflare, žádný měsíční poplatek.
Proč ne Cloudflare?
Cloudflare nabízí automatickou konverzi na Markdown — ale vyžaduje Pro plán za $20/měsíc na doménu ($240/rok). Pro 5 domén je to $1,200/rok.
next-markdown-mirror je zdarma a open-source. Hostujete si to sami, máte plnou kontrolu nad filtrováním a formátováním.
5 nejčastějších chyb při optimalizaci pro AI agenty
-
Ignorování AI trafficu. Mnoho vývojářů si neuvědomuje, že AI agenti už jejich weby crawlují. Podívejte se do server logů — pravděpodobně tam najdete requesty od GPTBot, ClaudeBot nebo PerplexityBot.
-
Blokování AI crawlerů v robots.txt. Někteří správci webů reflexivně blokují všechny AI boty. To znamená, že se váš obsah nikdy neobjeví v AI-generovaných odpovědích — a místo něj se zobrazí obsah konkurence.
-
Servírování stejného HTML všem. AI agenti nepotřebují vaše JavaScript bundly, navigační menu ani cookie consent dialogy. Servírovat jim stejnou odpověď jako prohlížečům plýtvá tokeny a zhoršuje kvalitu odpovědí.
-
Ruční tvorba llms.txt a zapomenutí na aktualizaci. Zastaralý llms.txt, který odkazuje na neexistující stránky, je horší než žádný llms.txt. Automatizujte jeho generování.
-
Přílišné filtrování obsahu. Některá řešení při konverzi na Markdown odstraní příliš agresivně — tabulky, bloky kódu nebo strukturovaná data, která AI agenti skutečně potřebují. Odstraňte chrome, ne obsah.
Proč na tom záleží
AI se stává primárním způsobem, jak lidé konzumují informace z webu. Pokud váš web není optimalizovaný pro AI agenty, přicházíte o viditelnost v odpovědích ChatGPT, Claude, Perplexity a dalších nástrojů.
AI SEO není buzzword — je to reálný posun v tom, jak se obsah distribuuje. A připravit se na něj stojí tři soubory a nula korun.
Často kladené otázky
Co je llms.txt?
llms.txt je navrhovaný standard (podobný robots.txt), který AI agentům říká, kde najdou čisté, strojově čitelné verze vašich stránek. Funguje jako adresář vašeho obsahu ve formátu optimalizovaném pro velké jazykové modely.
Funguje next-markdown-mirror s jakoukoli verzí Next.js?
Knihovna je navržená pro Next.js 13+ s App Routerem. Využívá middleware a route handlery, což jsou obě funkce App Routeru.
Ovlivní to moje běžné návštěvníky?
Ne. Middleware se aktivuje pouze pro požadavky identifikované jako pocházející od AI agentů (detekce přes User-Agent). Běžní návštěvníci v prohlížeči vidí vaše normální HTML stránky bez jakýchkoli změn.
Jak se to liší od Cloudflare AI-ready funkce?
Řešení od Cloudflare vyžaduje Pro plán ($20/měsíc na doménu) a běží na jejich infrastruktuře. next-markdown-mirror je zdarma, open-source a běží přímo ve vaší Next.js aplikaci — máte plnou kontrolu nad filtrováním obsahu a formátováním.
Musím něco aktualizovat, když přidám nové stránky?
Konverze na Markdown je automatická pro všechny stránky — žádné aktualizace nejsou potřeba. Pro llms.txt definujete, které stránky se mají zobrazit. Seznam můžete buď udržovat ručně, nebo ho generovat dynamicky ze sitemapy nebo CMS.
Mohou AI agenti přistupovat k mému webu i bez llms.txt?
Ano, AI agenti budou crawlovat vaše HTML tak jako tak. Ale bez llms.txt a Markdown mirrorů plýtvají tokeny na boilerplate a mohou produkovat méně kvalitní citace vašeho obsahu.
Projekt najdete na GitHubu. Budu rád za hvězdičku, issues i PR.