llms.txt Uitgelegd: Beweegt Het Echt AI-Citaties?
llms.txt is een platte tekstbestand op yoursite.com/llms.txt dat AI-crawlers vertelt welke pagina's ze moeten prioriteren. Perplexity leest het actief; ChatGPT en Bing Copilot waarschijnlijk nog niet. Het duurt 20 minuten om te implementeren en kost niets — doe het, maar verwacht geen citatiepiek volgende week.
Elke woensdag. 28.400+ operators. Geen opvulling.
✓ Check your inbox — click the confirmation link to complete sign-up.
✓ You're subscribed!
✓ You're already on the list.
Inhoudsopgave
Bijgewerkt mei 2026.
TL;DR: llms.txt is een platte tekstbestand op yoursite.com/llms.txt dat AI-crawlers vertelt welke pagina’s ze moeten prioriteren. Perplexity leest het actief; ChatGPT en Bing Copilot waarschijnlijk nog niet. Het duurt 20 minuten om te implementeren en kost niets — doe het, maar verwacht geen citatiepiek volgende week.
[Operator-perspectief] Ik beheer AI-agents die bijhouden hoe mijn sites worden geciteerd in Perplexity, ChatGPT en Google SGE. llms.txt is de eerste signaallaag die echt van jou is — hier is wat de data tot nu toe laat zien.
Wat llms.txt eigenlijk is
Zie het als een robots.txt voor AI-crawlers, maar omgekeerd. robots.txt zegt “niet crawlen.” llms.txt zegt “als je context over mijn site opbouwt, is dit wat het meest telt.”
De specificatie werd eind 2024 voorgesteld door Jeremy Howard (van fast.ai). Het idee: een bestand plaatsen op yoursite.com/llms.txt dat je belangrijkste pagina’s in platte Markdown opsomt. Een AI-crawler die je site scant voor context kan dat bestand lezen en onmiddellijk weten wat te prioriteren — in plaats van raden op basis van PageRank of crawldiepte.
Er is ook een optionele llms-full.txt variant die de volledige tekst van je sleutelpagina’s samengevoegd in één document bevat. Sommige crawlers geven de voorkeur aan dat formaat omdat het minder verzoeken vereist.
Geen van de bestanden is al een W3C-standaard. Het is een gemeenschapsvoorstel met groeiende adoptie onder technische oprichters en contentteams.
Hoe het bestand eruit ziet
Hier is het llms.txt dat ik gebruik voor alejandrorioja.com:
# Alejandro Rioja
> Operator, AI-consultant en oprichter van Pickleland. Ik schrijf over GEO, AI-agents en groei voor oprichters.
## Hoofdpagina's
- [Over mij](https://alejandrorioja.com/about/): Achtergrond, adviesservices en hoe je met mij kunt werken.
- [Blog](https://alejandrorioja.com/blog/): Alle berichten over GEO, SEO, AI-agents en groei voor oprichters.
- [Consultatie](https://alejandrorioja.com/consultation/30/): Boek een betaalde sessie van 30 minuten.
## Topberichten
- [Hoe je wordt geciteerd in ChatGPT-antwoorden](https://alejandrorioja.com/blog/how-to-get-cited-in-chatgpt-answers/): Het GEO-playbook dat ik gebruik op klantsites.
- [AI-agentarchitectuur voor oprichters](https://alejandrorioja.com/blog/ai-agent-architecture-for-founders/): Hoe je multi-agentsystemen ontwerpt zonder een volledig engineeringteam.
- [GEO vs SEO](https://alejandrorioja.com/blog/geo-vs-seo/): Wat verandert als Google niet langer de enige zoekmachine is die telt.
## Optioneel: negeren
- /drafts/
- /admin/Een paar dingen om op te letten:
- De H1 is je merknaam.
- Het blokzitat is een beschrijving van 1-2 zinnen van wie je bent. Dit is de belangrijkste regel — dit is wat een LLM zal gebruiken om een snel mentaal model van je site op te bouwen.
- Secties groeperen pagina’s per doel.
- URL’s zijn absoluut. Sommige crawlers lossen relatieve paden niet op.
- De sectie
## Optioneel: negerenstaat niet officieel in de specificatie, maar sommige implementaties lezen het als Disallow-regels van robots.txt.
Welke AI-engines het daadwerkelijk lezen
Hier moet ik eerlijk zijn: het landschap is gefragmenteerd en deels ongedocumenteerd.
Perplexity — Ja, bevestigd. Perplexity’s crawler (PerplexityBot) leest llms.txt bij het indexeren van sites. Hun engineeringteam heeft de specificatie publiekelijk gerefereerd. Als Perplexity een significante verwijzingsbron voor je is, heeft het implementeren van llms.txt een duidelijk pad naar impact.
ChatGPT / OpenAI — Niet bevestigd. OpenAI’s crawler (GPTBot) lijkt llms.txt medio 2026 niet te lezen. Zijn crawlgedrag wordt bepaald door robots.txt en OpenAI’s eigen interne prioritering. Er is geen publieke verklaring van OpenAI die de specificatie erkent.
Bing Copilot / Microsoft — Niet bevestigd. Vergelijkbare situatie als OpenAI. Bing’s AI-crawler (BingBot) volgt robots.txt maar er is geen signaal dat het llms.txt leest.
Google AI Overviews / Gemini — Niet bevestigd. Google heeft zijn eigen gestructureerde data-ecosysteem (schema.org, sitemaps) en heeft niet aangegeven specificaties van derden te zullen adopteren.
Anthropic — Anthropic’s crawler (ClaudeBot) crawlt het web voor trainingsdata. Er is geen publieke documentatie dat het llms.txt leest, maar verschillende GEO-practitioners rapporteren betere Claude-citaties na implementatie. Correlatie, geen causaliteit — maar het vermelden waard.
Kleinere AI-zoekmachines — You.com, Phind en verschillende verticale AI-zoektools hebben verklaard of gesuggereerd dat ze llms.txt lezen. De specificatie is makkelijker te adopteren voor kleinere teams omdat ze geen jaren aan crawlinfrastructuur hoeven te refactoren.
De eerlijke samenvatting: momenteel is llms.txt een Perplexity-optimalisatie met enig speculatief voordeel elders. Dat verhouding zal waarschijnlijk verschuiven naarmate de specificatie rijpt.
Hoe je het in 20 minuten implementeert
Als je een statische site gebruikt (Astro, Next.js met statische export, Hugo, etc.), maak het bestand aan in public/llms.txt. Het wordt geserveerd op de root.
Voor een Next.js app router site kun je het dynamisch genereren:
// app/llms.txt/route.ts
import { allPosts } from "@/lib/content";
export async function GET() {
const topPosts = allPosts
.filter((p) => p.featured || p.views > 1000)
.slice(0, 10);
const lines = [
"# Alejandro Rioja",
"",
"> Operator, AI-consultant, oprichter van Pickleland. Schrijf over GEO, AI-agents en groei voor oprichters.",
"",
"## Topberichten",
"",
...topPosts.map(
(p) => `- [${p.title}](https://alejandrorioja.com/blog/${p.slug}/): ${p.description}`
),
"",
"## Hoofdpagina's",
"",
"- [Over mij](https://alejandrorioja.com/about/): Services en achtergrond.",
"- [Consultatie](https://alejandrorioja.com/consultation/30/): Sessie boeken.",
];
return new Response(lines.join("\n"), {
headers: { "Content-Type": "text/plain; charset=utf-8" },
});
}Voor een Astro-site is het equivalent een .txt.ts endpoint in src/pages/:
// src/pages/llms.txt.ts
import type { APIRoute } from "astro";
import { getCollection } from "astro:content";
export const GET: APIRoute = async () => {
const posts = await getCollection("posts", (p) => p.data.lang === "en");
const top = posts
.sort((a, b) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf())
.slice(0, 10);
const body = [
"# Alejandro Rioja",
"",
"> AI-consultant en operator. Schrijf over GEO, AI-agents en groei voor oprichters.",
"",
"## Recente berichten",
"",
...top.map(
(p) =>
`- [${p.data.title}](https://alejandrorioja.com/blog/${p.slug}/): ${p.data.description}`
),
].join("\n");
return new Response(body, {
headers: { "Content-Type": "text/plain; charset=utf-8" },
});
};Na het deployen, verifieer met curl -s https://yoursite.com/llms.txt. Als je Markdown ziet, ben je klaar.
Moet je ook llms-full.txt maken?
Misschien. llms-full.txt is een samengevoegde dump van je sleutelpagina’s — titel, URL en volledige bodytekst, één pagina na de andere, gescheiden door ---. Het idee is dat een crawler alles in één verzoek kan ophalen en genoeg context heeft om vragen over je site te beantwoorden zonder afzonderlijke pagina’s te crawlen.
De afweging: het is een groot bestand. Het mijne is ongeveer 400KB voor de top-30 berichten. Sommige crawlers kunnen time-outen of het afkappen. Anderen kunnen het zwaarder wegen omdat de inhoud pre-verteerd is.
Mijn huidige aanpak: ik genereer llms-full.txt maar beperk het tot de 15 best presterende berichten op basis van traffic. Ik houd het onder 250KB. Regeneratie bij elke deploy.
Wat de data echt laat zien
Ik monitor Perplexity-citaties voor deze site en drie klantsites sinds januari 2026. Hier is wat ik heb waargenomen:
- Sites met llms.txt: Gemiddeld 2,3x meer Perplexity-citaties per maand vergeleken met hun pre-implementatie baseline. Steekproefgrootte: 4 sites, 4 maanden data. Dit is niet statistisch significant bij een redelijk betrouwbaarheidsinterval.
- De verstorende factor: Elke site die llms.txt toevoegde deed tegelijkertijd ook ander GEO-werk (betere gestructureerde data, schonere koppen, specifiekere antwoordopmaak). Attributie is onmogelijk.
- ChatGPT-citaties: Geen meetbaar verschil op een site na het toevoegen van llms.txt. Consistent met het gebrek aan bevestigde ondersteuning.
De eerlijke interpretatie: llms.txt helpt waarschijnlijk met Perplexity. Het mechanisme is duidelijk — Perplexity leest het. Of de stijging specifiek van llms.txt komt of van de algemene GEO-verbeteringen die er de neiging hebben mee te gaan, kan ik nog niet zeggen.
Wat je in het blokzitat moet zetten
De éénregelige beschrijving in het blokzitat is het deel waar ik de meeste tijd aan zou besteden. Dit is de tekst die een LLM zal gebruiken om je samen te vatten in een RAG-context. Het moet zijn:
- Specifiek: “AI-consultant die productieagents beheert voor KMO’s” overtreft “ondernemer en consultant.”
- Trefwoord-bewust: Voeg de termen in waarvoor je geciteerd wilt worden. Als je citaties voor “GEO” wilt, zet “GEO” in die regel.
- Entiteit-verankerd: Noem eigennamen die een LLM helpen je te disambigueren. Je naam + je bedrijf + je stad overtreft alleen je naam.
Slecht: > Ik help bedrijven groeien met AI.
Beter: > Alejandro Rioja — AI-consultant in Austin TX, oprichter van Pickleland, schrijft sinds 2019 over GEO, AI-agents en groei voor oprichters.
De conclusie van de operator
llms.txt duurt 20 minuten om te implementeren, kost niets te serveren en heeft een bevestigd leespad bij Perplexity. Doe het. De specificatie wordt óf een echte standaard (in welk geval vroege adopters winnen) óf verdwijnt (in welk geval je 20 minuten hebt verloren). De asymmetrie is duidelijk. Laat je alleen niet afleiden van GEO-werk met hogere ROI: gestructureerde data, duidelijke entity-signalen en antwoorden opgemaakt voor snippet-extractie. Die bewegen elke AI-engine. llms.txt beweegt er momenteel één.
Elke woensdag. 28.400+ operators. Geen opvulling.
✓ Check your inbox — click the confirmation link to complete sign-up.
✓ You're subscribed!
✓ You're already on the list.
Ontvang het AI-playbook in je inbox
Elke woensdag. 28.400+ operators. Geen opvulling.
Check your inbox.
We sent you a confirmation email — click the link inside to complete your subscription. Check spam if you don't see it within a minute.
You're subscribed.
Welcome — the next edition lands in your inbox soon.
You're already on the list — look for it every Wednesday.