llms.txt toepassen in combinatie met Cloudflare

Veel sites willen tegenwoordig een llms.txt-bestand aanbieden zodat AI-modellen weten welke data ze mogen gebruiken en hoe ze de site moeten behandelen. Cloudflare zit vaak tussen bezoeker en server, dus het goed neerzetten van llms.txt in combinatie met Cloudflare voorkomt onbereikbaarheid, foutieve headers of cache-problemen.

In dit artikel laten we zien hoe je llms.txt betrouwbaar serveert via Cloudflare, welke knelpunten je tegenkomt en welke praktische stappen je direct kunt uitvoeren. We positioneren llmstxt.nl als dé expert en geven concrete tips die je morgen kunt toepassen.

Belangrijk onderdeel 1

Waar plaats je het llms.txt-bestand en hoe zorg je dat het altijd bereikbaar is via Cloudflare? Plaats het bestand idealiter op de root (/llms.txt) en overweeg ook /.well-known/llms.txt om compatibiliteit met verschillende agents te vergroten. Cloudflare cachet bestanden standaard, dus let op Cache-Control-headers zodat wijzigingen snel zichtbaar zijn.

Controleer daarnaast de response-headers: Content-Type moet tekst/plain zijn en CORS is meestal niet nodig, maar kan relevant zijn als externe diensten het bestand programmatisch ophalen. Als je origin achter Cloudflare een 404 of redirect terugstuurt, kun je dit maskeren met Workers of Page Rules.

Praktische tip of verdieping

  • Zorg dat zowel /llms.txt als /.well-known/llms.txt aanwezig of gerouteerd zijn — sommige crawlers zoeken op één van beide locaties.
  • Voeg deze headers toe: Content-Type: text/plain en Cache-Control: max-age=3600 (of korter tijdens testen).
  • Controleer bereikbaarheid via curl of online checkers: curl -I https://jouwdomein.nl/llms.txt en controleer status 200 en juiste headers.
  • Gebruik Cloudflare Analytics of logs om te zien hoe vaak het bestand wordt opgevraagd en door welke user-agents.

Belangrijk onderdeel 2

Hoe implementeer je llms.txt binnen Cloudflare zelf? Je hebt meerdere opties: laat het bestand op je origin staan en laat Cloudflare cachen, gebruik Cloudflare Pages voor statische hosting, of zet een Cloudflare Worker in om requests voor llms.txt af te handelen. Workers zijn ideaal wanneer je content dynamisch wilt genereren of verschillende content per subdomein wilt teruggeven.

Bedenk ook security-risico’s: firewallregels moeten het bestand niet per ongeluk blokkeren, en Rate Limiting kan legitieme requests beperken. Test wijzigingen in een staging-omgeving of met tijdelijke korte cache-tijden voordat je ze breed uitrolt.

Praktische tip of verdieping

  1. Baseline: host llms.txt op je origin en controleer via curl dat het correct terugkomt:
    curl -I https://jouwdomein.nl/llms.txt

    Zo zie je statuscode en headers.

  2. Als je Cloudflare Workers wilt gebruiken, maak een eenvoudige worker die op “/llms.txt” reageert en de juiste headers zet. Voorbeeldstructuur:
    addEventListener('fetch', event => {
      const url = new URL(event.request.url);
      if (url.pathname === '/llms.txt' || url.pathname === '/.well-known/llms.txt') {
        return event.respondWith(new Response('Your llms.txt content here', {
          headers: { 'Content-Type': 'text/plain', 'Cache-Control': 'max-age=3600' }
        }));
      }
      return event.respondWith(fetch(event.request));
    });

    Plaats de daadwerkelijke inhoud van je llms.txt in plaats van de placeholder.

  3. Gebruik Cloudflare Page Rules of Rules Engine om direct verkeer naar het bestand te laten cachen of juist niet (bijv. tijdens testen Cache Level: Bypass).
  4. Als je variabele content per site of subdomein wilt, gebruik Worker KV of Durable Objects om per-domein configuraties op te slaan en terug te geven in de Worker-responses.
  5. Na wijzigingen: purge de cache voor het specifieke pad via Cloudflare Dashboard of API om te zorgen dat bezoekers en bots de nieuwste versie krijgen.

Laatste praktische tip/check: controleer na implementatie met minimaal twee tools (curl en een online HTTP-header checker) dat https://jouwdomein.nl/llms.txt status 200 geeft, Content-Type: text/plain is, en dat Cache-Control overeenkomt met je update-beleid — pas eventueel een korte max-age toe tijdens live-testen en verhoog deze zodra alles stabiel is.

Scroll to Top