AI-crawlers lezen je website het best als de belangrijke inhoud al in de HTML staat die je server terugstuurt. Google voert JavaScript uit voordat het een pagina indexeert. Een meting van Vercel en MERJ uit december 2024 zag dat de crawlers van OpenAI, Anthropic en Perplexity dat niet deden. Tekst die pas na JavaScript verschijnt, kan voor die AI-crawlers dus ontbreken.
Wat is het verschil tussen server-HTML en inhoud via JavaScript?
Als een browser of crawler een pagina opvraagt, stuurt je server HTML terug. Bij veel websites staat de tekst daar al in. Dat heet server-HTML, en als de server de pagina per verzoek opbouwt, server-side rendering.
Bij andere websites stuurt de server een bijna lege pagina met scripts. De browser voert die scripts uit en haalt daarna de tekst op of bouwt die zelf. Dat heet client-side rendering. Voor een bezoeker ziet het er hetzelfde uit. Voor een crawler die geen JavaScript uitvoert, is de pagina dan grotendeels leeg.
Dezelfde pagina, op twee manieren gebouwd
| Server-HTML | Client-side rendering | |
|---|---|---|
| Wat de server stuurt | De volledige tekst, koppen en links | Een bijna lege pagina met scripts |
| Wat een bezoeker ziet | De hele pagina | De hele pagina, na het laden van de scripts |
| Crawler zonder JavaScript | De hele pagina | Vooral een lege pagina |
| Googlebot | De hele pagina, meteen | De hele pagina, na het renderen |
Stel: een webshop in tuinmeubelen laadt de veelgestelde vragen op elke productpagina via een losse app, met een script dat de antwoorden pas na het laden van de pagina invoegt. Een bezoeker leest de antwoorden gewoon. Een crawler die alleen de HTML leest, ziet een kop “Veelgestelde vragen” en verder niets. In de paginabron ziet dat er ongeveer zo uit:
<h2>Veelgestelde vragen</h2>
<div id="faq-app"></div>
<script src="/apps/faq-widget.js"></script>Staan de antwoorden wel in de server-HTML, dan leest elke crawler ze mee:
<h2>Veelgestelde vragen</h2>
<h3>Kan deze loungeset het hele jaar buiten staan?</h3>
<p>Ja, het frame is van gepoedercoat aluminium. Berg de kussens droog op in de winter.</p>Hoe gaat Google met JavaScript om?
Google beschrijft in Understand the JavaScript SEO basics drie stappen: crawlen, renderen en indexeren. Na het ophalen zet Googlebot een pagina in een wachtrij om te renderen. Een actuele versie van Chromium voert daarna het JavaScript uit, en Google indexeert de pagina op basis van de gerenderde HTML. Volgens Google kan een pagina een paar seconden in die wachtrij staan, soms langer.
Zo verwerkt Googlebot een pagina met JavaScript
- CrawlenGooglebot haalt de HTML op en controleert of de URL in robots.txt is toegestaan.
- WachtrijDe pagina wacht op rendering. Volgens Google meestal een paar seconden, soms langer.
- RenderenEen actuele versie van Chromium voert het JavaScript uit.
- IndexerenGoogle gebruikt de gerenderde HTML voor de index en zoekt daarin nieuwe links.
Google kan dus inhoud uit JavaScript lezen, zolang die niet geblokkeerd is. Toch raadt Google server-side rendering of pre-rendering aan, omdat dat de site sneller maakt voor bezoekers en crawlers. Google schrijft er nadrukkelijk bij dat niet elke bot JavaScript kan uitvoeren.
Wat weten we over AI‑crawlers?
Hier is de informatie dunner. Een AI-crawler is software van een AI-bedrijf die pagina’s ophaalt voor training, zoeken of een gebruikersvraag. OpenAI, Anthropic en Perplexity beschrijven in hun crawlerdocumentatie wel waarvoor hun crawlers zijn, maar niet of ze JavaScript uitvoeren (geraadpleegd op 11 november 2026). De beste openbare bron is een meting.
Vercel en MERJ publiceerden in december 2024 een analyse van crawlerverkeer op websites. Hun bevindingen:
| Crawler | Voerde JavaScript uit in de meting? |
|---|---|
| OpenAI (OAI-SearchBot, ChatGPT-User, GPTBot) | Nee |
| Anthropic (ClaudeBot) | Nee |
| Perplexity (PerplexityBot) | Nee |
| Meta (Meta-ExternalAgent) | Nee |
| ByteDance (Bytespider) | Nee |
| Gemini, via de infrastructuur van Googlebot | Ja |
| Applebot | Ja |
De crawlers van OpenAI en Anthropic haalden wel JavaScript-bestanden op, maar voerden ze niet uit. Inhoud die in de browser wordt opgebouwd, konden ze daardoor niet lezen.
Houd rekening met de grenzen van die meting. Ze is van december 2024 en crawlers kunnen sindsdien veranderd zijn. Claude-SearchBot, Claude-User en Perplexity-User zaten er niet in. Een nieuwere controleerbare meting hebben we niet gevonden.
Microsoft schrijft er in de eigen documentatie wel iets over. De Bing Webmaster Guidelines vragen je belangrijke inhoud niet achter client-side rendering te verstoppen, omdat inhoud die niet betrouwbaar te renderen is, mogelijk niet wordt geïndexeerd of als bron gekozen. In een blog van het Bing-team uit oktober 2025 staat daarnaast het advies om belangrijke antwoorden niet in tabbladen of uitklapmenu’s te verstoppen.
Wat hoort in de server-HTML?
Alles wat een crawler nodig heeft om de pagina te begrijpen en te gebruiken als bron:
- De hoofdtekst van de pagina.
- De paginatitel, de meta description en de koppen.
- Productinformatie: naam, prijs, beschikbaarheid, specificaties.
- Antwoorden op veelgestelde vragen. Lees meer in Een FAQ die klanten, Google en AI-assistenten helpt.
- Interne links als gewone
<a href>-links, zodat crawlers je andere pagina’s vinden. Microsoft noemt dat ook in zijn richtlijnen. - Structured data in JSON-LD.
Interactieve onderdelen zoals een filter, een winkelwagen of een rekentool mogen op JavaScript draaien. Vercel en MERJ adviseerden hetzelfde: kritieke inhoud op de server, bijzaken in de browser.
Wat als je website op JavaScript draait?
Een website die volledig in de browser wordt opgebouwd, hoef je niet weg te gooien. Er zijn drie gangbare oplossingen, en je ontwikkelaar of bouwer weet welke bij jouw techniek past.
- Server-side rendering. De server bouwt bij elk verzoek de volledige HTML op. Daarna neemt JavaScript in de browser het over voor de interactieve onderdelen.
- Pre-rendering of statische generatie. De HTML van elke pagina wordt vooraf gemaakt, bijvoorbeeld bij elke publicatie. Dat werkt goed voor pagina’s die niet per bezoeker verschillen, zoals artikelen en dienstpagina’s.
- Losse onderdelen verplaatsen. Vaak draait alleen een onderdeel op JavaScript, zoals een FAQ-app, een reviewblok of een tabblad met specificaties. Dan is het genoeg om dat ene onderdeel in de server-HTML te zetten.
Bij Shopify en WooCommerce maakt het thema de pagina meestal op de server. Het risico zit daar vooral in apps en plug-ins die tekst achteraf invoegen. Test daarom na elke nieuwe app of plug-in opnieuw.
Hoe controleer je wat een crawler ziet?
- Bekijk de paginabron. Klik met rechts op de pagina en kies “Paginabron weergeven”. Dat is de HTML zoals de server hem stuurt. Zoek met Ctrl+F of Cmd+F naar een zin uit je hoofdtekst of een FAQ-antwoord. Gebruik niet “Inspecteren”: dat toont de pagina nadat JavaScript al heeft gedraaid.
- Gebruik curl. In een terminal laat
curl -s https://jouwdomein.nl/pagina | grep "een zin uit je tekst"zien of die zin in de server-HTML staat. - Zet JavaScript uit. Schakel JavaScript uit in de instellingen van je browser en laad de pagina opnieuw. Wat je dan nog leest, kan een crawler zonder JavaScript ook lezen.
- Controleer per paginatype. Test minstens je homepage, een categoriepagina, een productpagina en een artikel. Apps en thema-onderdelen verschillen per paginatype.
Snelle controle per pagina
- De hoofdtekst staat in de paginabron, niet alleen in Inspecteren.
- Titel, meta description en koppen staan in de paginabron.
- Prijs, beschikbaarheid en specificaties staan in de paginabron.
- FAQ-antwoorden en tabbladteksten staan in de paginabron.
- Menu en interne links zijn gewone links met een href.
- De pagina is te lezen met JavaScript uitgeschakeld in de browser.
Meer technische controles vind je in de technische SEO-checklist. Toegang voor crawlers regel je apart, met robots.txt.
Hoe Outseen dit aanpakt
Atlas, de eigen onderzoeksengine van Outseen, leest de openbare HTML die je website teruggeeft, met titels, koppen, linkteksten en ondersteunde JSON-LD. Wat pas na JavaScript verschijnt, valt buiten dat onderzoek. Ontbreekt informatie in de HTML, dan blijft dat zichtbaar in de bevindingen. Bij een nieuwe website nemen we de SEO- en GEO-basis mee in het project.
Wat betekent dit voor jouw bedrijf?
Kijk vandaag in de paginabron van je drukst bezochte pagina’s of de tekst die klanten lezen daar ook staat. Staat die er, dan kunnen AI-crawlers zonder JavaScript je pagina lezen en hoef je verder niets te veranderen. Ontbreekt er iets, noteer dan welk onderdeel het is en op welke paginatypes het speelt, zodat je bouwer gericht kan herstellen.
Houd er rekening mee dat de openbare informatie over AI-crawlers beperkt is en uit één meting van eind 2024 komt. Inhoud in de server-HTML is de veilige keuze, ook als crawlers later wel JavaScript gaan uitvoeren: Google leest die inhoud dan net zo goed, en bezoekers krijgen een snellere pagina.