Naar de inhoud
SEO & crawlers

WordPress llms.txt: wat het is, hoe je het toevoegt en of het iets doet

Publiceer op drie manieren een llms.txt-bestand op WordPress, en weet precies wat het bewijs zegt over de vraag of enig AI-bedrijf het daadwerkelijk leest.

Gepubliceerd

llms.txt is een simpel markdownbestand dat je in de root van je domein plaatst (https://example.com/llms.txt) met daarin je beste pagina’s en per pagina één regel uitleg, zodat een taalmodel je nuttige content vindt zonder je hele navigatie af te struinen. Het is een voorstel, geen standaard, en geen enkele grote AI-aanbieder heeft publiekelijk bevestigd het bestand te lezen of ernaar te handelen.

Beide helften daarvan tellen. Het formaat bestaat echt, is netjes gespecificeerd en publiceren kost je een minuut of twintig. Het nut is onbewezen, en veel van wat er momenteel omheen verkocht wordt is daar niet eerlijk over.

Hoe het bestand er precies uitziet

Het voorgestelde formaat is markdown met een vaste vorm: een H1 met je sitenaam, een optionele samenvatting als blockquote, en daarna H2-secties met opsommingen van links, elk gevolgd door een dubbele punt en een korte omschrijving. Een sectie met de naam “Optional” geeft aan welke content je kunt overslaan als de contextruimte krap is.

# Odie Themes

> Free WordPress tools and technically honest guides for theme
> and image configuration problems.

## Guides

- [Why WordPress images look blurry after upload](https://example.com/guides/wordpress-image-blurry-after-upload): Why the 2560px cap creates a -scaled file and how to raise or disable it.
- [WordPress llms.txt](https://example.com/guides/wordpress-llms-txt): What the file is, how to add one, and what it does not do.

## Tools

- [Robots.txt generator](https://example.com/tools/wordpress-robots-txt-generator): Build a robots.txt with correct AI crawler rules.

## Optional

- [About](https://example.com/about): Who runs the site.

Dat is de hele specificatie die er toe doet. Links horen absoluut te zijn. Omschrijvingen zijn één zin en feitelijk, geen verkooptekst: het hele uitgangspunt is dat een machine meeleest, en opgeklopte bijvoeglijke naamwoorden verspillen precies de tokens die je wilde besparen.

Je komt ook llms-full.txt tegen, een aanvullende afspraak die de volledige markdowntekst van je content in één bestand zet. Dat is veel zwaarder en nog dunner onderbouwd dan llms.txt. Sla het over, tenzij je een specifieke reden hebt.

Het eerlijke deel

Geen enkele publieke documentatie van OpenAI, Anthropic, Google of Perplexity stelt dat hun crawlers of ophaalsystemen llms.txt gebruiken. Google heeft publiekelijk aangegeven het niet te gebruiken voor zoeken. Sitebeheerders zien wel verzoeken om het bestand in hun serverlogs, maar zo’n ophaalactie bewijst niet dat de inhoud enig antwoord heeft gevormd; genoeg bots tasten speculatief naar bestanden.

Wees dus voorzichtig met de claims die je aanneemt:

Claim die je tegenkomtStatus
”llms.txt is de nieuwe robots.txt voor AI”Onjuist. robots.txt is gedocumenteerd en wordt nageleefd; llms.txt is een voorstel.
”llms.txt toevoegen verbetert je Google-rankings”Geen bewijs. Google heeft niet gezegd het bestand te gebruiken.
”ChatGPT leest je llms.txt”Niet bevestigd door OpenAI.
”Het is een goedkoop bestand om te publiceren”Waar, en dit is het enige stevige argument ervoor.

De redelijke houding is goedkope optionaliteit. Een statisch tekstbestand kost je één upload, nul laadtijd en geen enkel risico. Wordt de afspraak breed opgepakt, dan heb je er al een. Gebeurt dat nooit, dan ben je twintig minuten kwijt. Dat is een prima ruil, zolang niemand het je verkoopt als AI-zichtbaarheidsstrategie.

Toevoegen aan WordPress

Optie 1: statisch bestand in de root (aanbevolen)

Schrijf het bestand lokaal en upload het via SFTP naar dezelfde map als je wp-config.php en index.php.

WordPress onderschept het niet, omdat het standaard rewrite-blok in .htaccess alleen verzoeken doorstuurt die niet al overeenkomen met een echt bestand of een echte map:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Een echte llms.txt op schijf voldoet niet aan de !-f-voorwaarde, dus Apache serveert hem rechtstreeks en PHP komt er niet aan te pas. Nginx-configuraties met try_files $uri $uri/ /index.php gedragen zich hetzelfde.

Eén kanttekening: sommige managed WordPress-hosts blokkeren schrijven via SFTP naar de webroot, of draaien de site vanuit een read-only container-image. Is dat jouw situatie, dan zijn optie 2 en 3 je route.

Optie 2: een plugin

Zoek in de WordPress-pluginmap op “llms.txt”. Er zijn inmiddels meerdere plugins die het bestand genereren uit je gepubliceerde berichten en pagina’s, en sommige SEO-plugins hebben het als functie toegevoegd. Dat is echt handig als je vaak publiceert, want een handgeschreven lijst veroudert.

De afweging is wel reëel. Je voegt een plugin, een instellingenpagina en een updateoppervlak toe in ruil voor het automatiseren van een bestand waarvan niemand heeft bevestigd het te lezen. Automatisch gegenereerde lijsten dumpen bovendien vaak elk bericht met het fragment als omschrijving, wat een lang, ononderscheiden bestand oplevert: het tegenovergestelde van de zorgvuldig samengestelde kaart waarvoor het formaat bedoeld is. Gebruik je een plugin, snoei dan in wat hij uitspuugt.

Optie 3: serveren vanuit je thema met een filter

Kun je niet naar de webroot schrijven maar wel code aanpassen, zet dan een kleine mu-plugin op wp-content/mu-plugins/llms-txt.php die het verzoek onderschept en een bestand uit je thema serveert:

<?php
// wp-content/mu-plugins/llms-txt.php

add_action( 'init', function () {
	$path = parse_url( $_SERVER['REQUEST_URI'] ?? '', PHP_URL_PATH );

	if ( '/llms.txt' !== $path ) {
		return;
	}

	$file = get_stylesheet_directory() . '/llms.txt';

	if ( ! is_readable( $file ) ) {
		return;
	}

	header( 'Content-Type: text/plain; charset=utf-8' );
	readfile( $file );
	exit;
} );

We gebruiken een mu-plugin in plaats van functions.php, zodat het bestand een themawissel en een thema-update overleeft. Zet je het toch in functions.php, gebruik dan een childthema.

Controleer of het echt geserveerd wordt

Ga er niet vanuit. Controleer de statuscode en het contenttype:

curl -sI https://example.com/llms.txt

Je wilt 200 en Content-Type: text/plain zien. Twee scenario’s gaan vaak mis:

  • Je krijgt een 200, maar de body is je 404-pagina. WordPress heeft het verzoek opgeslokt. Het bestand staat niet waar je denkt, of een plugin kaapt de route.
  • Je krijgt Content-Type: text/html. Iets rendert het via het thema. Herstel eerst de header voordat je je druk maakt over de inhoud.

Open de URL daarna in een browser en lees hem door. Geeft een link een 404 of wijst hij naar http:// terwijl je site op HTTPS draait, herstel dat dan: een kapotte kaart is erger dan geen kaart.

Wat AI-crawlers vandaag wél stuurt

Is je echte doel invloed op hoe AI-systemen met je site omgaan, dan is robots.txt het bestand dat gedocumenteerd is, gerespecteerd wordt en nu al geldt. GPTBot, ClaudeBot, PerplexityBot, CCBot en Google-Extended zijn allemaal benoemde user agents met gepubliceerd gedrag, en robots.txt bepaalt of ze je pagina’s überhaupt mogen ophalen.

Dat is de knop waar een echt mechanisme achter zit. Bouw de jouwe met de robots.txt-generator, waarmee je elke AI-crawler expliciet toestaat of blokkeert in plaats van naar de syntaxis te gissen. Zet dat eerst goed, en voeg llms.txt daarna toe als goedkope speculatieve extra.

Wat je niet moet doen

Blokkeer AI-crawlers niet in robots.txt terwijl je tegelijk een llms.txt publiceert. Dit gebeurt per ongeluk: het ene bestand nodigt het model uit, het andere gooit de deur dicht. De deur wint.

Zet geen llms.txt in een submap. De afspraak is uitsluitend root-niveau. Een bestand op /blog/llms.txt is een bestand waar niets naar zoekt.

Plak niet je hele sitemap erin. Vierhonderd links met algemene fragmenten is een crawldump en geen samengestelde kaart, en dat ondergraaft het enige gestelde doel van het formaat. Twintig tot vijftig echt nuttige pagina’s is voor de meeste sites de juiste omvang.

Stel er geen echt werk voor uit. Van laadsnelheid, schone HTML, kloppende gestructureerde data en content die mensen daadwerkelijk citeren weten we dat ze ertoe doen. Van llms.txt weten we dat niet. Verdeel je tijd navenant.

FAQ

Vragen

Wat is llms.txt in WordPress?

Het is een simpel markdownbestand in de root van je site, bereikbaar via jouwsite.nl/llms.txt, dat je nuttigste pagina's opsomt met per pagina één regel uitleg. Het idee is dat een taalmodel dat het bestand leest een schone kaart van je content krijgt in plaats van door je navigatie, advertenties en cookiebanners te moeten kruipen.

Lezen AI-bedrijven llms.txt echt?

Er is geen publieke bevestiging van OpenAI, Anthropic, Google of Perplexity dat zij llms.txt ophalen of gebruiken. Sommige serverlogs tonen verzoeken om het bestand, maar een verzoek is niet hetzelfde als content die een antwoord beïnvloedt. Beschouw elke claim over bewezen rankingwinst als marketing zonder onderbouwing.

Waar hoort llms.txt te staan op een WordPress-site?

In de root van je domein, op dezelfde plek als robots.txt, dus de URL wordt jouwsite.nl/llms.txt zonder submap. Upload het via SFTP naast je index.php van WordPress. WordPress serveert echte bestanden rechtstreeks, omdat de rewrite-regels alleen verzoeken doorsturen die niet overeenkomen met een bestaand bestand.

Is llms.txt hetzelfde als robots.txt?

Nee. robots.txt is een gevestigde afspraak die AI-crawlers als GPTBot, ClaudeBot en PerplexityBot documenteren en respecteren, en die bepaalt of ze je pagina's überhaupt mogen ophalen. llms.txt is een niet-vastgesteld voorstel dat suggereert wát er gelezen moet worden. De ene wordt vandaag nageleefd, de andere is speculatief.

Helpt llms.txt toevoegen voor SEO of rankings?

Er is geen bewijs dat het invloed heeft op Google-rankings, en Google heeft niet gezegd het bestand te gebruiken. Publiceren kost bijna niets, dus het redelijke argument is goedkope optionaliteit en geen meetbaar voordeel. Stel er geen laadsnelheid, gestructureerde data of contentkwaliteit voor uit.

Kan ik beter een plugin of een statisch bestand gebruiken voor llms.txt?

Gebruik een statisch bestand als je beste pagina's zelden veranderen, want dat kost geen PHP-uitvoering en kan niet stukgaan. Gebruik een plugin als je vaak publiceert en de lijst automatisch bijgewerkt wilt hebben. Een plugin voegt een afhankelijkheid en wat overhead toe voor een bestand waarvan niemand heeft bevestigd het te lezen, dus begin statisch.