Technische SEO voor AI-crawlers: de checklist

Onderwerp

GEO & AI Search

Kunnen AI-crawlers je site lezen? Check robots.txt, firewall en CDN, rendering, sitemaps, canonicals, statuscodes, snelheid en structured data in je website.

Artikel

Inhoud

Laatst gecontroleerd: 5 oktober 2026

Technische SEO voor AI-crawlers draait om één vraag: kan een bot je pagina bereiken, laden en begrijpen? Controleer daarvoor robots.txt, je firewall of CDN, de manier waarop je site rendert, sitemaps, canonicals, statuscodes, snelheid, structured data en semantische HTML. Gaat het daar mis, dan helpt geen enkele contentoptimalisatie.

In het kort

  • OpenAI gebruikt verschillende crawlers met elk een eigen doel; je kunt ze los van elkaar toestaan of blokkeren.
  • Een firewall of CDN blokkeert bots soms zonder dat iemand het merkt, ook als robots.txt goed staat.
  • Belangrijke content hoort in de HTML die de server direct levert, niet pas na zware JavaScript.
  • Sitemaps, canonicals en correcte statuscodes vertellen crawlers welke pagina's ertoe doen.
  • Structured data en semantische HTML maken de inhoud makkelijker te interpreteren.

Robots.txt: wie mag wat?

Hieronder de korte versie; het volledige verschil tussen de OpenAI-crawlers en de keuze tussen training en zichtbaarheid lees je in GPTBot versus OAI-SearchBot. In robots.txt geef je per user agent aan welke delen van je site gecrawld mogen worden. Voor AI-zoeken zijn vooral de crawlers van OpenAI en Google relevant. Volgens de documentatie van OpenAI:

  • OAI-SearchBot wordt gebruikt om websites te tonen in de zoekfuncties van ChatGPT. Blokkeer je deze bot, dan word je niet getoond in ChatGPT-zoekantwoorden (navigatielinks kunnen nog wel verschijnen).
  • GPTBot is bedoeld voor het trainen en verbeteren van generatieve foundation-modellen. Disallow betekent dat je content niet voor training gebruikt wordt. Volgens OpenAI voorkomt het blokkeren van GPTBot niet dat je in ChatGPT search verschijnt.
  • ChatGPT-User wordt gebruikt bij acties die een gebruiker zelf start, bijvoorbeeld als iemand ChatGPT een pagina laat bezoeken. Het is geen automatische crawler en robots.txt-regels gelden volgens OpenAI mogelijk niet.
  • OAI-AdsBot controleert alleen pagina's die als advertentie in ChatGPT zijn ingediend.

Deze instellingen zijn onafhankelijk van elkaar. Een veelgekozen combinatie: OAI-SearchBot toestaan voor zichtbaarheid en zelf bepalen of je GPTBot toelaat voor training. Voor Google bestaat Google-Extended; dat gaat over gebruik voor training en grounding van Gemini-modellen, niet over ranking in Search.

Een voorbeeld van een robots.txt-regel die OAI-SearchBot toestaat en GPTBot blokkeert:

User-agent: OAI-SearchBot

Allow: /

User-agent: GPTBot

Disallow: /

Een stap-voor-stap uitleg vind je in AI-crawlers toestaan in robots.txt.

Firewall en CDN: de stille blokkade

Robots.txt is een verzoek. Een firewall of CDN is een slot op de deur. Veel beveiligingsdiensten blokkeren onbekende of geautomatiseerde verkeersstromen standaard, met een challenge-pagina of een 403-melding. Een crawler die daarop stuit, ziet je content niet, ook al staat robots.txt helemaal open.

Controleer daarom in je CDN- of firewallinstellingen hoe bots behandeld worden. OpenAI publiceert per crawler de IP-adressen in JSON-bestanden, bijvoorbeeld voor OAI-SearchBot en GPTBot. Die kun je gebruiken om verkeer te verifiëren of gericht toe te staan, in plaats van alleen op de user agent te vertrouwen, die makkelijk te vervalsen is. Kijk ook in je serverlogs: zie je verzoeken van deze user agents met statuscode 200, of juist 403 en 429?

Stel: een webshop draait achter een CDN met strenge botbescherming. Googlebot wordt herkend en doorgelaten, maar OAI-SearchBot krijgt een challenge. In Search Console ziet alles er prima uit, terwijl de shop voor ChatGPT search onzichtbaar is. Dit soort problemen vind je alleen door logs en firewallregels te controleren.

Server-side rendering versus zware JavaScript

Google rendert JavaScript met een actuele versie van Chromium, maar de crawlerdocumentatie van OpenAI zegt niets over het uitvoeren van JavaScript. Ga er dus niet van uit dat elke crawler je pagina ziet zoals een browser. Als je productinformatie, prijzen of teksten pas verschijnen nadat een script draait, loop je het risico dat een bot een lege of halve pagina ziet. De veiligste aanpak:

  • Server-side rendering of statische HTML voor alle belangrijke content: titels, teksten, productgegevens, interne links.
  • JavaScript voor interactie, zoals filters, sliders en formulieren, maar niet als enige bron van inhoud.
  • Controle met de broncode. Bekijk de ruwe HTML (niet de geïnspecteerde DOM) en kijk of je hoofdtekst erin staat.

Platformen als Webflow, WordPress en Shopify leveren standaard HTML vanaf de server. Het risico zit vaak in plugins, apps of maatwerkcomponenten die content later inladen.

Sitemaps, canonicals en statuscodes

Deze drie onderdelen vertellen crawlers welke pagina's bestaan en welke de juiste versie zijn:

  • XML-sitemap. Bevat alleen indexeerbare, canonieke URL's met status 200. Verwijs ernaar in robots.txt en dien hem in bij Search Console.
  • Canonicals. Elke pagina verwijst naar de voorkeursversie van zichzelf. Bij dubbele content (filters, parameters, varianten) wijst de canonical naar de hoofdpagina. Google legt uit hoe je dubbele URL's consolideert.
  • Statuscodes. Bestaande pagina's geven 200, verplaatste pagina's 301 naar de nieuwe URL, verwijderde pagina's 404 of 410. Vermijd ketens van redirects en "soft 404's" die een foutpagina met status 200 tonen.

Snelheid en beschikbaarheid

Een trage of instabiele server kost crawlbudget en kan ertoe leiden dat bots minder pagina's ophalen. Let op serverresponstijd, caching en hosting die pieken aankan. Core Web Vitals meten vooral de gebruikerservaring, maar een snelle, stabiele site is voor bots en bezoekers allebei beter. Meer in een snellere website en Core Web Vitals.

Structured data en semantische HTML

Als een crawler je pagina kan lezen, wil je dat hij hem ook goed begrijpt. Twee middelen helpen daarbij:

  • Semantische HTML. Eén duidelijke h1, een logische koppenstructuur, echte lijsten, beschrijvende linkteksten en alt-teksten bij afbeeldingen. Zo is de structuur van de inhoud zichtbaar zonder dat het systeem hoeft te raden.
  • Structured data. Schema.org-markup voor bijvoorbeeld Organization, LocalBusiness, Product of Article. Google benadrukt dat structured data moet overeenkomen met de zichtbare content en dat er geen speciale markup nodig is voor AI-features.

Een praktische controleronde

  1. Lees je robots.txt en controleer de regels voor Googlebot, OAI-SearchBot en GPTBot.
  2. Bekijk firewall- en CDN-instellingen voor botbeheer en zoek in serverlogs naar geblokkeerde verzoeken.
  3. Open de broncode van een paar belangrijke pagina's en check of de hoofdcontent erin staat.
  4. Controleer de sitemap op foutieve, doorverwezen of niet-canonieke URL's.
  5. Bekijk in Search Console de indexeringsrapporten en los uitsluitingen op.
  6. Test structured data en vergelijk die met de zichtbare inhoud.

Veelgestelde vragen

Is llms.txt nodig voor AI-crawlers?

Het is geen vervanging voor de basis hierboven. Lees in llms.txt uitgelegd wat het wel en niet doet.

Moet ik GPTBot toestaan?

Dat is een eigen afweging. Volgens OpenAI heeft blokkeren van GPTBot geen invloed op verschijnen in ChatGPT search; daarvoor telt OAI-SearchBot.

Hoe weet ik of OAI-SearchBot mijn site bezoekt?

Zoek in je serverlogs op de user agent en vergelijk het IP-adres met de lijst die OpenAI publiceert.

Bronnen

Verder lezen

Twijfel je of AI-crawlers jouw site echt kunnen lezen? Vraag een gratis SEO & GEO Quickscan aan.