Een llms.txt is een Markdown-bestand in de root van je website dat taalmodellen in een paar regels vertelt wat je site is en welke pagina's ertoe doen. Je maakt het in een kwartier: een titel, een korte samenvatting en een paar lijsten met links. Of AI-systemen het bestand ook echt lezen, is minder zeker. Dat bespreken we verderop eerlijk.
Dit artikel hoort bij onze complete gids over GEO, waarin GEO (Generative Engine Optimization) breder wordt uitgelegd. Hier gaat het alleen om llms.txt: wat het is, hoe je het opbouwt volgens de specificatie, hoe je het publiceert en wat je ervan kunt verwachten.
Je krijgt een volledig voorbeeld voor een fictief Nederlands adviesbureau dat je direct kunt aanpassen. Daarna volgen de fouten die we het vaakst zien, met als grootste valkuil een HTML-foutpagina die zich voordoet als llms.txt.
Wat is llms.txt?
llms.txt is een voorstel voor een tekstbestand op /llms.txt dat een LLM (large language model, het taalmodel achter tools als ChatGPT) een beknopte, goed leesbare ingang tot je website geeft. Het voorstel komt van Jeremy Howard, medeoprichter van Answer.AI en fast.ai, en staat sinds september 2024 op llmstxt.org. De huidige versie is v2, die volgens de pagina is bijgewerkt op basis van twee jaar ervaring met het gebruik.
Het idee is eenvoudig. Een webpagina zit vol navigatie, cookiebanners, scripts en opmaak. Een taalmodel heeft beperkte ruimte in zijn context en moet daar de inhoud uit vissen. Een llms.txt zet de kern in gewone Markdown op één plek: wie je bent, wat je doet en waar de belangrijkste informatie staat.
Belangrijk om te weten: llms.txt is geen officiële webstandaard zoals robots.txt, dat is vastgelegd in RFC 9309. Het is een voorstel dat iedereen mag volgen of negeren, ook de AI-bedrijven zelf.
| robots.txt | llms.txt | |
|---|---|---|
| Doel | Toegang regelen voor crawlers | Inhoud samenvatten voor taalmodellen |
| Status | Internetstandaard (RFC 9309) | Voorstel op llmstxt.org |
| Formaat | Eigen regelsyntax | Markdown |
| Gevolg als het ontbreekt | Crawlers mogen alles ophalen | Geen, het model leest je pagina's zelf |
Wil je juist regelen welke bots je site mogen lezen, dan heb je robots.txt nodig. Dat behandelen we in AI-crawlers in robots.txt.
Hoe is een llms.txt opgebouwd?
Een llms.txt volgt een vaste volgorde van Markdown-onderdelen, waarvan alleen de H1 met de naam van je site of project verplicht is. De specificatie op llmstxt.org beschrijft deze opbouw:
- H1 met de naam van je site of project. Dit is het enige verplichte onderdeel.
- Een blockquote met een korte samenvatting van je site of project.
- Nul of meer blokken vrije tekst, zoals alinea's of lijsten, maar zonder koppen. Hier zet je aanvullende uitleg, bijvoorbeeld voor wie je werkt of wat je niet doet.
- Nul of meer H2-secties met een lijst van links. Elk item is een Markdown-link
[naam](url), optioneel gevolgd door een dubbele punt en een korte toelichting.
Een H2 met de naam "Optional" heeft een speciale rol. Volgens de specificatie is dat een conventie voor secundaire informatie: links die een agent kan overslaan als er minder ruimte is. In v1 moesten hulpprogramma's die sectie automatisch weglaten. In v2 is het alleen nog een afspraak, zo staat op de pagina met wijzigingen.
Het bestand hoeft niet in de root te staan. v2 staat ook bestanden in een submap toe, zoals /docs/llms.txt. Zo'n bestand geldt voor alle URL's onder dat pad, en als er meerdere bestanden van toepassing zijn, hoort een agent het meest specifieke te gebruiken.
Markdown-versies van je pagina's
De specificatie stelt ook voor om van belangrijke pagina's een schone Markdown-versie aan te bieden op dezelfde URL met .md erachter, bijvoorbeeld /diensten.html.md of /diensten.md. Sinds v2 kun je die versies vindbaar maken met een <link>-element of een HTTP Link:-header: rel="alternate" type="text/markdown" wijst naar de Markdown-versie, rel="describedby" naar de llms.txt die de pagina beschrijft. Dit is een extra stap. Voor een gewone bedrijfssite is de llms.txt zelf het startpunt.
En llms-full.txt?
llms-full.txt is een variant die niet alleen naar je pagina's linkt, maar hun volledige tekst in één bestand bundelt. Het staat niet in de specificatie op llmstxt.org. Het komt vooral voor bij documentatieplatforms: Mintlify genereert het bijvoorbeeld automatisch en zet er per pagina de titel, URL, beschrijving en volledige Markdown-inhoud in.
Voor een documentatiesite met honderden pagina's kan dat nuttig zijn, omdat een ontwikkelaar het hele bestand in één keer aan een AI-assistent kan geven. Voor een dienstverlener met twintig pagina's voegt het weinig toe en is het vooral iets extra's om bij te houden.
Voorbeeld: een llms.txt voor een Nederlands adviesbureau
Hieronder staat een volledig voorbeeld voor een fictief bedrijf. Het voorbeeld is verzonnen: de bedrijfsnaam, het domein en alle gegevens bestaan niet. Gebruik het als sjabloon en vervang alles door je eigen inhoud.
# Bureau Lindeboom
> Bureau Lindeboom is een fictief HR-adviesbureau uit Utrecht dat mkb-bedrijven
> met 10 tot 250 medewerkers helpt met verzuimbeleid, arbeidsrecht en
> organisatieontwikkeling. Werkgebied: Nederland. Voertaal: Nederlands.
We werken uitsluitend voor werkgevers, niet voor individuele werknemers.
Een eerste adviesgesprek van 30 minuten is kosteloos. Tarieven staan op de
pagina Tarieven.
## Diensten
- [Verzuimbegeleiding](https://www.bureaulindeboom.example/diensten/verzuim): Begeleiding van ziekmelding tot re-integratie volgens de Wet verbetering poortwachter
- [Arbeidsrechtelijk advies](https://www.bureaulindeboom.example/diensten/arbeidsrecht): Advies over contracten, ontslag en vaststellingsovereenkomsten
- [Organisatieontwikkeling](https://www.bureaulindeboom.example/diensten/organisatie): Herinrichting van teams, functiehuis en beoordelingscyclus
## Over het bedrijf
- [Over ons](https://www.bureaulindeboom.example/over-ons): Team, achtergrond en werkwijze
- [Tarieven](https://www.bureaulindeboom.example/tarieven): Uurtarieven en vaste prijzen per dienst
- [Contact](https://www.bureaulindeboom.example/contact): Adres, telefoonnummer en openingstijden
## Kennisbank
- [Verzuimbeleid opstellen](https://www.bureaulindeboom.example/kennis/verzuimbeleid): Stappenplan met verplichte onderdelen
- [Proeftijd en ontslag](https://www.bureaulindeboom.example/kennis/proeftijd): Wat mag wel en niet tijdens de proeftijd
## Optional
- [Vacatures](https://www.bureaulindeboom.example/vacatures): Openstaande functies bij het bureau
- [Nieuws](https://www.bureaulindeboom.example/nieuws): Aankondigingen en evenementen
Let op een paar keuzes in dit voorbeeld. De samenvatting noemt doelgroep, plaats en werkgebied in gewone zinnen, zodat een model het bureau correct kan plaatsen als entiteit. De vrije tekst geeft afbakening ("niet voor werknemers") die voorkomt dat een AI-antwoord het bureau aanraadt voor de verkeerde vraag. En de minst belangrijke pagina's staan onder "Optional".
Gebruik in je eigen bestand absolute URL's en link alleen naar pagina's die bestaan en zonder login bereikbaar zijn.
Hoe publiceer je een llms.txt?
Je publiceert een llms.txt als platte tekst op https://www.jouwdomein.nl/llms.txt, zodat het bestand zonder omwegen met statuscode 200 wordt teruggegeven. Zo pak je het aan:
- Schrijf het bestand in een teksteditor en sla het op als
llms.txtin UTF-8. - Zet het in de root van je website, naast
robots.txt. In WordPress kan dat via FTP, je hostingpaneel of een SEO-plug-in. De specificatie noemt Yoast SEO en AIOSEO bij de integraties, net als Wix, Mintlify en GitBook. - Controleer de content-type. De specificatie schrijft geen MIME-type voor.
text/plainoftext/markdown, metcharset=utf-8, zijn de logische keuzes. De bestanden van llmstxt.org en van de developerdocumentatie van Anthropic en OpenAI worden bij onze controle in oktober 2026 alstext/plain; charset=utf-8geserveerd. - Open de URL in je browser en controleer of je precies je Markdown ziet, zonder opmaak, menu of foutmelding eromheen.
Wat gaat er vaak mis?
De meest gemaakte fout is dat /llms.txt een HTML-pagina teruggeeft in plaats van het bestand. Veel websites, vooral sites met een JavaScript-framework of een CMS met "mooie" foutpagina's, vangen elke onbekende URL op en tonen dan een opgemaakte 404-pagina. Soms zelfs met statuscode 200. Een tool die controleert of het bestand "bestaat", ziet dan een geslaagd antwoord, terwijl de inhoud gewoon HTML is.
Je herkent dit met één commando in de terminal:
curl -I https://www.jouwdomein.nl/llms.txt
Staat bij content-type iets als text/html, dan krijg je een webpagina terug en geen llms.txt. Andere fouten die we regelmatig tegenkomen:
- Geen H1 op de eerste regel, bijvoorbeeld omdat er een titel zonder
#staat of een lege inleiding. - Links zonder Markdown-opmaak, zoals losse URL's in een lijst. Dan ontbreekt de naam die het model vertelt wat er achter de link zit.
- Een redirect naar de homepage in plaats van naar het bestand.
- Verouderde links naar pagina's die inmiddels een 404 geven of zijn verhuisd.
- Marketingtaal in de samenvatting. "De beste partner voor al uw HR-vraagstukken" helpt een model niet. Feiten over doelgroep, aanbod en werkgebied wel.
- Een llms.txt achter een firewall die AI-bots blokkeert. Dan kan geen enkele crawler het lezen, zie AI-crawlers in robots.txt.
Gebruiken AI-systemen llms.txt echt?
Er is geen openbaar bewijs dat de grote AI-zoekmachines llms.txt gebruiken om te bepalen welke bronnen ze citeren. Wie het bestand publiceert en wie het leest, zijn twee verschillende vragen.
Aan de publicatiekant groeit het gebruik. Volgens llmstxt.org publiceren duizenden sites een llms.txt, waaronder OpenAI, Anthropic en Gemini voor hun developerdocumentatie. Platforms als Mintlify, GitBook, Wix en de WordPress-plug-ins Yoast SEO en AIOSEO kunnen het bestand genereren. Daarnaast meldt de site dat Lighthouse, de audittool in Chrome, controleert of een site een llms.txt heeft.
Aan de leeskant is Google expliciet terughoudend. John Mueller, Search Advocate bij Google, schreef in juni 2025 op Bluesky dat volgens hem geen enkel AI-systeem llms.txt gebruikt. En in de documentatie over AI-functies in Google Search staat dat je geen nieuwe machineleesbare bestanden of AI-tekstbestanden hoeft te maken om in AI Overviews of AI Mode te verschijnen.
OpenAI, Anthropic en Perplexity hebben voor zover wij kunnen nagaan niet gedocumenteerd dat hun zoekbots llms.txt gebruiken bij het kiezen van bronnen. Ze publiceren het bestand wel voor hun eigen documentatie. Dat is iets anders dan het lezen ervan bij andere sites.
Waar llms.txt wel aantoonbaar gebruikt wordt, is handmatig: ontwikkelaars die een llms.txt of llms-full.txt aan een programmeerassistent geven, en AI-agents die al op een site zijn en de weg zoeken. Daar is het voorstel ook oorspronkelijk voor bedoeld.
Is llms.txt de moeite waard?
llms.txt is weinig werk met een onzeker effect, en daarom het proberen waard zolang je de basis al op orde hebt. Een goed bestand kost je een kwartier tot een uur. Het kan geen kwaad, maar het vervangt niets.
De basis die wél aantoonbaar telt, ziet er zo uit:
- AI-crawlers toelaten, zoals GPTBot en OAI-SearchBot, in robots.txt en in je firewall.
- Inhoud in de HTML zelf, via server-side rendering, zodat crawlers die geen JavaScript uitvoeren je tekst kunnen lezen.
- Gestructureerde gegevens die duidelijk maken wie je bent, zie schema markup voor AI.
- Pagina's die vragen helder beantwoorden, met bronnen, een auteur en een datum.
Een nuttige bijvangst van een llms.txt maken: je moet in een paar zinnen opschrijven wat je bedrijf doet en welke pagina's het belangrijkst zijn. Die samenvatting kun je meteen hergebruiken op je over-ons-pagina en in je Organization-schema.
Zo controleer je dit op je eigen site
Met vijf stappen weet je of je llms.txt werkt zoals bedoeld:
- Open
https://www.jouwdomein.nl/llms.txten controleer of je platte Markdown ziet. - Controleer met
curl -Iof de statuscode 200 is en de content-typetext/plainoftext/markdown. - Controleer of de eerste regel een H1 is (
# Naam) en of er direct daarna een blockquote met een samenvatting staat. - Loop elke link na: geen 404's, geen redirects naar de homepage en geen pagina's achter een login.
- Plan een vaste controle, bijvoorbeeld elk kwartaal, zodat nieuwe en verhuisde pagina's erin komen.
De gratis scan van Flowproof controleert de opbouw van je llms.txt (H1, blockquote-samenvatting, H2-secties, Markdown-links en content-type), samen met je AI-crawlers in robots.txt, je structured data en of je inhoud in de ruwe HTML staat.