---
title: "Voeren AI-crawlers JavaScript uit? Controleer de ruwe HTML | Len P. van der Hof"
description: Google documenteert JavaScript-rendering. De crawlerdocumentatie van OpenAI en Perplexity zwijgt erover, en in een onderzoek uit december 2024 sloegen hun…
image: "https://lenvanderhof.com/media/generated/blog-hero-javascript-rendering-kills-citations-v2.a38ba1568b2c.wide.webp"
---

[SEO, GEO en AEO](https://lenvanderhof.com/nl/blog/categorie/seo-geo-aeo/) Onderzoeksartikel

# Voeren AI-crawlers JavaScript uit? Controleer de HTML die ze ontvangen

Je browser bouwt de pagina pas op nadat de scripts hebben gedraaid. Een crawler leest misschien alleen de HTML die je server als eerste stuurt. Controleer die respons voordat je aanneemt dat een bot je antwoord kan lezen.

Len P. van der HofGepubliceerd 22 oktober 202611 min. leestijd

Links de contouren die een gewoon HTTP-verzoek binnenkrijgt als de tekst op scripts wacht. Rechts de pagina die een browser opbouwt zodra die scripts draaien.

Direct antwoord

Sommige wel. Google documenteert dat Googlebot pagina's met Chromium rendert en de gerenderde HTML indexeert. De hier aangehaalde crawlerpagina's van OpenAI en Perplexity vermelden niet of hun bots JavaScript uitvoeren. In een onderzoek uit december 2024 op specifieke sites zagen Vercel en MERJ dat OAI-SearchBot, ChatGPT-User, GPTBot en PerplexityBot pagina's ophaalden zonder JavaScript uit te voeren. Dat is een gedateerde waarneming van derden, geen beleid van de aanbieders. Zet het kernantwoord in de HTML die je server verstuurt en controleer dat met Paginabron bekijken of met curl.

## Belangrijkste inzichten

- Documentatie van aanbieders en een gedateerde meting beantwoorden verschillende vragen. Google documenteert rendering voor Googlebot, de crawlerpagina's van OpenAI en Perplexity zwijgen erover, en in een onderzoek van Vercel en MERJ uit december 2024 sloegen bepaalde bots op specifieke sites het renderen over.
- Beoordeel een pagina op de ruwe HTML die je server verstuurt, niet op wat je browser op het scherm zet. Wat er compleet uitziet, kan in de eerste respons ontbreken.
- Een tabblad dat alleen tekst verbergt die al in de HTML staat, is geen probleem voor een crawler die alleen de HTML ophaalt. Een tabblad dat de tekst pas bij een klik ophaalt, wel.
- Server-side rendering of statisch genereren zet het kernantwoord in de eerste respons. Een llms.txt-bestand doet dat niet.
- Leesbaar is niet geciteerd. Slaagt de HTML-controle, dan is één technische drempel genomen; of de pagina geïndexeerd of geciteerd wordt, laat die controle niet zien.

**Reken er niet op dat een AI-crawler de scripts op je pagina uitvoert: het antwoord dat je geciteerd wilt zien, hoort in de HTML die je server verstuurt.** Google documenteert dat Googlebot JavaScript uitvoert. De crawlerpagina’s van [OpenAI](https://developers.openai.com/api/docs/bots) en [Perplexity](https://docs.perplexity.ai/docs/resources/perplexity-crawlers) vermelden niet of hun bots dat ook doen. In een onderzoek uit december 2024 op specifieke sites zagen Vercel en MERJ bepaalde bots van OpenAI en Perplexity pagina’s ophalen zonder JavaScript te renderen. Dat is een gedateerde waarneming van derden op die sites, geen beleid van de aanbieders, en het toont niet aan hoe die bots zich nu gedragen. Of ze renderen, hoef je niet eens te weten: een pagina die haar antwoord al in de eerste respons meestuurt, is hoe dan ook leesbaar.

Waar het om draait, is het verschil tussen de ruwe HTML die je server verstuurt en de afgewerkte pagina die je browser op het scherm zet. Een browser voert scripts uit, stuurt opgeslagen cookies mee en haalt extra tekst op als een bezoeker ergens op klikt. Een eenvoudige crawler leest misschien alleen de eerste respons en stopt daar. Beoordeel een pagina dus op wat je server teruggeeft, niet op hoe die er op je scherm uitziet.

## Wat betekent JavaScript-rendering?

Paginatekst bereikt een bezoeker langs twee wegen. Bij **server-side rendering** schrijft de server het artikel en de antwoorden bij elk verzoek in de HTML-respons. Een **statische site** doet hetzelfde werk één keer, tijdens de build, zodat ook die HTML-bestanden met de tekst erin aankomen. In beide gevallen staan de woorden in de eerste respons.

Bij **client-side rendering** bevat de eerste respons vaak weinig meer dan navigatie, een lege container voor de inhoud en `<script>`-tags. De browser downloadt die scripts en voert ze uit; zij halen het artikel of de onderliggende data op en zetten de tekst in de live DOM. Die lege schil in de browser omzetten in een leesbare pagina: dat is client-side JavaScript-rendering. Een menselijke bezoeker ziet een complete pagina, ook als de eerste respons vrijwel geen lopende tekst bevatte.

Veel productiepagina’s combineren beide vormen. Het hoofdartikel kan in de eerste respons meekomen, terwijl een FAQ-antwoord, een specificatietabel of een prijs pas laadt nadat een script draait of een bezoeker op een tabblad klikt. De vraag gaat dus nooit over de pagina als geheel, maar over de exacte zin die je geciteerd wilt zien: staat die in de HTML die de server voor de URL teruggeeft, of verschijnt die pas na een script of een klik?

## Welke crawlers voeren JavaScript uit?

Twee soorten bewijs beantwoorden twee verschillende vragen. Documentatie van aanbieders, voor dit artikel herlezen op 25 september 2026, vertelt wat een bedrijf over zijn crawler zegt. De meting van Vercel en MERJ, gepubliceerd in december 2024, vertelt wat bepaalde bots deden op de onderzochte sites. Dat een aanbieder in zijn documentatie over JavaScript zwijgt, betekent niet dat zijn crawler het nooit uitvoert.

BotDocumentatie van de aanbiederWaarneming van Vercel en MERJ (december 2024)Googlebot (Google Search)Google documenteert rendering met een altijd actuele Chromium-renderer en indexering op basis van de gerenderde HTMLVercel merkte op dat Gemini de crawlinfrastructuur van Google gebruiktOAI-SearchBot, ChatGPT-User, GPTBot (OpenAI)Het crawleroverzicht en de publishers-FAQ vermelden niet of ze JavaScript uitvoerenDeze bots haalden op de geteste sites pagina’s op zonder JavaScript te renderenPerplexityBot (Perplexity)De crawlerpagina vermeldt niet of de bot JavaScript uitvoertDeze bot haalde op de geteste sites pagina’s op zonder JavaScript te renderen

De [JavaScript-SEO-gids van Google](https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics) verdeelt de verwerking in drie fasen: crawlen, renderen en indexeren. Een pagina kan volgens de gids in de wachtrij voor rendering blijven staan “for a few seconds, but it can take longer than that” (een paar seconden, maar het kan ook langer duren), en Google gebruikt de gerenderde HTML om de pagina te indexeren. Op de afzonderlijke [pagina over AI-functies](https://developers.google.com/search/docs/appearance/ai-features) schrijft Google dat een pagina geïndexeerd moet zijn en met een snippet in Google Search getoond moet kunnen worden om als ondersteunende link in AI-overzichten of de AI-modus te dienen. Een pagina die aan die voorwaarden voldoet, komt in aanmerking; een link is daarmee niet gegarandeerd.

Dezelfde JavaScript-gids raadt nog altijd server-side rendering of pre-rendering aan en merkt op dat “not all bots can run JavaScript” (niet alle bots kunnen JavaScript uitvoeren). Het crawleroverzicht van OpenAI en de crawlerpagina van Perplexity noemen hun user-agents en verwijzen naar gepubliceerde IP-reeksen. Geen van beide zegt iets over het uitvoeren van JavaScript, en de publishers-FAQ van OpenAI evenmin.

Het [onderzoek van Vercel](https://vercel.com/blog/the-rise-of-the-ai-crawler), in december 2024 samen met MERJ gepubliceerd, analyseerde crawlerverkeer op `nextjs.org`, het netwerk van Vercel en twee vacaturesites. Op die sites zagen de onderzoekers `OAI-SearchBot`, `ChatGPT-User`, `GPTBot` en `PerplexityBot` pagina’s ophalen zonder JavaScript te renderen. Ook merkten ze op dat crawlers van ChatGPT en Claude JavaScript-bestanden wel downloadden, maar niet uitvoerden. Behandel die bevindingen als een gedateerde meting van derden op specifieke sites, niet als beleid van de aanbieders.

Beide soorten bewijs leiden tot dezelfde ontwerpregel: zet openbare, belangrijke antwoorden in de HTML die voor hun URL wordt teruggegeven, zodat een gewoon HTTP-verzoek ze binnenkrijgt zonder renderstap.

## Controleer wat je server verstuurt

Kies een pagina die ertoe doet, en daarop de ene zin die een vraag van een koper of lezer beantwoordt. Vergelijk dan op drie manieren de eerste serverrespons met wat je browser uiteindelijk laat zien:

1. **Bekijk de paginabron.** Klik in Chrome, Edge of Firefox met de rechtermuisknop op de pagina, kies Paginabron bekijken (`Ctrl+U` op Windows en Linux) en zoek naar de zin. De paginabron toont de ruwe HTML die voor dat browserverzoek is teruggestuurd. Wat je via Inspecteren ziet, is de live DOM, mogelijk al aangepast door scripts; dat vertelt je dus niet wat er in de eerste respons zat.
2. **Zet JavaScript uit.** Open de pagina in een privévenster, zodat opgeslagen cookies de respons niet beïnvloeden. Open in Chrome DevTools het opdrachtmenu met `Ctrl+Shift+P` (`Cmd+Shift+P` op macOS), typ `javascript`, voer [Disable JavaScript](https://developer.chrome.com/docs/devtools/javascript/disable) uit en herlaad de pagina. Zo benader je een bezoek zonder scripts; het netwerk of de user-agent van een crawler boots je er niet mee na.
3. **Haal de URL op met curl**, een opdrachtregelprogramma dat de serverrespons opslaat zonder de scripts van de pagina uit te voeren:

```
curl -sSL --compressed -D headers.txt -o page.html 'https://example.com/jouw-pagina/'
grep -c -F 'de exacte zin die je geciteerd wilt zien' page.html
```

De eerste opdracht volgt doorverwijzingen (`-L`), vraagt om een gecomprimeerde respons en pakt die uit (`--compressed`), schrijft de headers van elke respons, doorverwijzingen inbegrepen, naar `headers.txt` en slaat de uiteindelijke body op in `page.html`. De tweede telt de regels in `page.html` waarin jouw exacte tekenreeks voorkomt. De [curl-handleiding](https://curl.se/docs/manpage.html) legt elke optie uit.

Een `0` is een aanwijzing, geen eindoordeel. Het betekent dat die exacte reeks op geen enkele regel van `page.html` in zijn geheel voorkomt; het bewijst niet dat de woorden ontbreken. Een HTML-entiteit zoals `&amp;`, een gekruld aanhalingsteken, een regeleinde of een inline-tag (`<strong>`, `<a>`) midden in de zin laat een zoekopdracht op de volledige zin mislukken. Zoek in `page.html` naar een korte, kenmerkende woordgroep van twee of drie woorden en lees de markup eromheen voordat je het antwoord als afwezig noteert. Open daarna `headers.txt`: een foutstatus, of een doorverwijzing naar een inlogscherm of de homepage, verandert wat de test heeft gemeten.

## Hoe lees je de uitkomst?

Wat je vindtWat dat vaststeltWat je doetDe zin staat in een gewone alinea in page.htmlEen gewoon HTTP-verzoek voor deze URL krijgt het antwoord als paginatekst binnenNoteer de uitkomst en test de volgende paginaDe zin staat alleen in een <script>-blok of JSON-payloadDe woorden komen binnen, maar als scriptdata en niet als paginatekstZet het kernantwoord in gewone body-HTML; vertrouw niet op een scriptpayloadDe zin verschijnt pas na een klik op een tabblad of ‘lees meer’, en het paneel Netwerk toont een nieuw verzoek dat de tekst ophaaltDe klik haalt het antwoord pas op als de pagina al geladen isZet het antwoord in de eerste HTML en laat het tabblad het alleen tonen of verbergenDe zin verschijnt kort na het laden in de browser, maar ontbreekt in page.htmlEen client-side script heeft de tekst na de eerste respons opgehaald of opgebouwdVerplaats de kerntekst naar server-side rendering of naar generatie tijdens de buildpage.html bevat alleen een cookiemuur of toestemmingsschermDit verzoek kreeg de cookiemuur, niet het artikelHoort de pagina openbaar te zijn, stuur de artikeltekst dan mee in de eerste HTML en leg de toestemmingslaag eroverheenpage.html is een inlogscherm, een foutpagina of de homepageJe test heeft de bedoelde pagina nooit bereiktControleer de URL, de doorverwijsregels en de toegangsinstellingen voordat je rendering gaat debuggen

## Een tabblad kan tekst verbergen of ophalen

Twee tabbladen of accordeons kunnen er in de browser hetzelfde uitzien en zich op netwerkniveau toch anders gedragen. Bij het eerste patroon staat alle paneeltekst al in de eerste HTML; een klik schakelt alleen de CSS-zichtbaarheid of een `hidden`-attribuut om. Bij het tweede blijft het paneel leeg tot een klik een netwerkverzoek verstuurt dat het antwoord ophaalt en in de DOM zet. Een crawler die de eerste HTML leest en nooit klikt, krijgt de tekst van het eerste tabblad wel binnen en die van het tweede niet.

Schrijf het ticket dus over het netwerkgedrag, niet over het onderdeel op het scherm: “Het antwoord op X ontbreekt in de eerste HTML voor deze URL; een klik op het FAQ-tabblad start verzoek Y, dat het antwoord laadt.” In het paneel Netwerk van DevTools zie je verzoek Y. Dat een pagina tabbladen of accordeons gebruikt, zegt niets zolang je niet hebt gezien wat de server verstuurde.

## Een uitgewerkt voorbeeld (hypothetisch)

Stel dat een softwarebedrijf in Utrecht een prijspagina heeft met een FAQ die een veelgestelde kopersvraag beantwoordt: “Worden onze gegevens in de EU opgeslagen?” Het antwoord zit achter een tabblad. In een gewoon browservenster oogt de pagina compleet.

In deze hypothetische controle voert het team de `curl`- en `grep`-opdrachten uit op de URL van de prijspagina, en `grep -c` geeft `0`. Het paneel Netwerk in DevTools laat zien waarom: een klik op het FAQ-tabblad stuurt een verzoek naar `/api/faq?page=pricing`, dat het antwoord als JSON teruggeeft. De eerste HTML in `page.html` bevat alleen de knop van het tabblad en een lege container.

Een developer past de pagina zo aan dat de server de FAQ-antwoorden in de HTML-respons rendert en het tabbladscript alleen tekst verbergt of toont die al in de DOM staat. Als het team `curl` opnieuw uitvoert, geeft `grep -c` een `1` en staat de zin in een gewone `<p>`-tag. Het team bevestigt dat door de pagina in een privévenster met JavaScript uitgeschakeld opnieuw te laden.

Wat de aanpassing bewijst: deze URL levert het antwoord nu in de eerste HTML, zonder dat er JavaScript hoeft te draaien. Wat ze niet bewijst: dat ChatGPT de pagina gaat citeren. Daarvoor is een aparte test in ChatGPT Search nodig, met een log, zoals de [citatiegereedheid-audit](https://lenvanderhof.com/nl/blog/citatiegereedheid-audit/) beschrijft.

## Hoe pas je de pagina aan?

- **Render kernantwoorden op de server of tijdens de build.** Ook Vercel maakt na zijn onderzoek uit december 2024 hetzelfde onderscheid: render cruciale inhoud op de server en bewaar client-side rendering voor extra’s zoals weergavetellers, chatwidgets en livefeeds.
- **Laat tabbladen tekst tonen die al in de HTML staat.** Houd FAQ- en specificatietekst in de eerste serverrespons en gebruik een script of een standaard `<details>`-element alleen om die tekst te tonen en te verbergen.
- **Zet de naam naast de claim.** Plaats de bron, het bedrijf of de auteur in dezelfde HTML als het antwoord, zodat een crawler ze samen binnenkrijgt. [Hoe je geciteerd wordt door ChatGPT](https://lenvanderhof.com/nl/blog/hoe-je-geciteerd-wordt-2026/) behandelt die stap: een naam die de machine kan koppelen.
- **Behandel `llms.txt` niet als vervanging voor HTML die de server rendert.** Een apart tekstbestand zet geen ontbrekend antwoord in de HTML die je server voor je pagina-URL’s teruggeeft, en Google schrijft dat zijn AI-functies geen speciale AI-tekstbestanden vereisen. [Wat is llms.txt?](https://lenvanderhof.com/nl/blog/wat-is-llms-txt/) legt uit waar het bestand wel voor dient.

## Wat deze test je niet vertelt

Een `curl`-verzoek vanaf je laptop is geen verzoek vanaf de infrastructuur van OpenAI, Perplexity of Google. Netwerklocatie, requestheaders, CDN-caches en firewallregels kunnen allemaal veranderen wat je server aan een echte bot teruggeeft. Wordt een crawler aan de rand van je netwerk geblokkeerd of in `robots.txt` uitgesloten, dan laat server-side rendering hem er ook niet in. De drie bots van OpenAI in de tabel hebben bovendien elk een eigen taak: `OAI-SearchBot` voor zoeken in ChatGPT, `GPTBot` voor modeltraining en `ChatGPT-User` voor pagina’s die ChatGPT op verzoek van een gebruiker ophaalt. [GPTBot versus OAI-SearchBot versus ChatGPT-User](https://lenvanderhof.com/nl/blog/gptbot-versus-oai-searchbot/) legt uit hoe hun toegangsrechten verschillen.

Leesbaar is niet geciteerd. Slaagt de controle, dan bevat de respons die jij ophaalde het antwoord als gewone HTML. Dat betekent niet dat de pagina geïndexeerd is, in aanmerking komt voor een snippet of als bron wordt geciteerd. Zakt de controle vandaag, dan bewijst dat niet dat een antwoordmachine je claim nooit heeft gezien, bijvoorbeeld via een vermelding op een andere site of een eerdere crawl. Houd de uitkomsten van je HTML-controles gescheiden van je citatiemetingen.

## Probeer dit vandaag

1. Kies drie openbare pagina’s die je geciteerd wilt zien en kopieer van elke pagina de zin met het kernantwoord.
2. Bekijk van elke pagina de paginabron of voer de `curl`- en `grep`-opdrachten hierboven uit. Geeft de exacte zoekopdracht `0`, zoek dan in `page.html` naar een korte, kenmerkende woordgroep uit die zin.
3. Noteer per URL een van deze vier uitkomsten: aanwezig in de body-HTML, alleen aanwezig in script- of JSON-data, opgeknipt door inline-markup, of afwezig. Zet de HTTP-status en eventuele doorverwijzingen uit `headers.txt` ernaast.
4. Open bij elk afwezig antwoord het paneel Netwerk in DevTools, zoek het klik- of scriptverzoek dat de tekst laadt, en geef de developer de pagina-URL, de ontbrekende zin en de URL van dat verzoek.

Sluit het ticket zodra een nieuwe `curl`-aanroep van de openbare URL het antwoord in de body-HTML oplevert. Of antwoordmachines de pagina daarna ook citeren, hoort in een aparte audit.

Citeer deze pagina:Voeren AI-crawlers JavaScript uit? Controleer de HTML die ze ontvangen.Len P. van der Hof. [https://lenvanderhof.com/nl/blog/javascript-rendering-kost-je-citaties/](https://lenvanderhof.com/nl/blog/javascript-rendering-kost-je-citaties/) · Gepubliceerd 22 oktober 2026.

## Bronnen

1. [Understand the JavaScript SEO basics](https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics) · Google Search Central
2. [AI features and your website](https://developers.google.com/search/docs/appearance/ai-features) · Google Search Central
3. [Overview of OpenAI crawlers](https://developers.openai.com/api/docs/bots) · OpenAI
4. [Publishers and Developers FAQ](https://help.openai.com/en/articles/12627856-publishers-and-developers-faq) · OpenAI Help Center
5. [Perplexity Crawlers](https://docs.perplexity.ai/docs/resources/perplexity-crawlers) · Perplexity
6. [The rise of the AI crawler](https://vercel.com/blog/the-rise-of-the-ai-crawler) · Vercel
7. [Disable JavaScript](https://developer.chrome.com/docs/devtools/javascript/disable) · Chrome for Developers
8. [curl command-line manual](https://curl.se/docs/manpage.html) · curl project
9. [Citatiegereedheid-audit: geschikt is niet geciteerd](https://lenvanderhof.com/nl/blog/citatiegereedheid-audit/)
10. [Hoe je geciteerd wordt door ChatGPT](https://lenvanderhof.com/nl/blog/hoe-je-geciteerd-wordt-2026/)

## Verder lezen

- [Citatiegereedheid-audit: geschikt is niet geciteerd](https://lenvanderhof.com/nl/blog/citatiegereedheid-audit/)
- [Hoe je geciteerd wordt door ChatGPT](https://lenvanderhof.com/nl/blog/hoe-je-geciteerd-wordt-2026/)
- [GPTBot versus OAI-SearchBot versus ChatGPT-User: drie bots, drie klussen](https://lenvanderhof.com/nl/blog/gptbot-versus-oai-searchbot/)
- [Wat is llms.txt? Een manifest, geen rankingknop](https://lenvanderhof.com/nl/blog/wat-is-llms-txt/)

Over de auteur

## [Len P. van der Hof](https://lenvanderhof.com/nl/auteurs/len-p-van-der-hof/)

Ondernemer, AI-innovator en venture builder

Len P. van der Hof bouwt praktische AI-systemen, digitale ventures en evidence-informed hulpmiddelen voor founders.

```json
{
	"@context": "https://schema.org",
	"@graph": [
		{
			"@type": "Person",
			"@id": "https://lenvanderhof.com/#person",
			"name": "Len P. van der Hof",
			"alternateName": [
				"Len van der Hof",
				"L.P. van der Hof",
				"Leendert Pieter van der Hof"
			],
			"honorificSuffix": "MSc",
			"url": "https://lenvanderhof.com/",
			"image": [
				"https://lenvanderhof.com/photos/len-portrait-1.jpg",
				"https://lenvanderhof.com/photos/len-portrait-2.jpg",
				"https://lenvanderhof.com/photos/len-portrait-3.jpg",
				"https://lenvanderhof.com/photos/len-portrait-4.jpg",
				"https://lenvanderhof.com/photos/len-speaking.jpg",
				"https://lenvanderhof.com/photos/len-hero.jpg"
			],
			"jobTitle": "Ondernemer, AI-innovator en venture builder",
			"description": "Len P. van der Hof, MSc, is een Nederlandse ondernemer en AI-innovator in Zwijndrecht. Hij bouwt ReasonKit, MindSesh, Undominated.ai, boeken onder zijn eigen naam, het fictie-imprint LPH98.lifestyle en technologieventures via LPH98.ventures. Elf titels in Systems for the Strategic Self zijn nu verkrijgbaar, in het Engels en het Nederlands.",
			"address": {
				"@type": "PostalAddress",
				"addressLocality": "Zwijndrecht",
				"addressCountry": "NL"
			},
			"alumniOf": {
				"@type": "CollegeOrUniversity",
				"name": "Rotterdam School of Management, Erasmus University"
			},
			"knowsAbout": [
				"Artificial intelligence",
				"AI agents",
				"Agentic AI systems",
				"LLM routing",
				"SEO",
				"Generative engine optimization",
				"Answer engine optimization",
				"Venture building",
				"Founder performance",
				"Founder psychology",
				"Evidence-based decision-making"
			],
			"sameAs": [
				"https://www.linkedin.com/in/lenvanderhof/",
				"https://x.com/LenvanderHof",
				"https://www.youtube.com/channel/UCTG20buKqYYbitqqf7l3zJA",
				"https://www.instagram.com/Lenvanderhof/",
				"https://www.threads.com/@lenvanderhof",
				"https://github.com/Lenvanderhof",
				"https://huggingface.co/LPH98",
				"https://www.npmjs.com/~lenvanderhof",
				"https://www.goodreads.com/author/show/70983905.Len_P_van_der_Hof",
				"https://www.amazon.com/author/lenvanderhof",
				"https://www.bol.com/nl/nl/b/len-p-van-der-hof-msc/609879394/",
				"https://bsky.app/profile/lenvanderhof.com",
				"https://mastodon.social/@Lenvanderhof",
				"https://crates.io/users/Lenvanderhof",
				"https://cursor.com/@Lenvanderhof",
				"https://medium.com/@Lenvanderhof",
				"https://gitlab.com/Lenvanderhof",
				"https://hub.docker.com/u/lenvanderhof/",
				"https://dev.to/lenvanderhof",
				"https://www.facebook.com/Lenvanderhof",
				"https://soundcloud.com/Lenvanderhof"
			],
			"affiliation": [
				{
					"@id": "https://lenvanderhof.com/#publisher"
				},
				{
					"@id": "https://lenvanderhof.com/#mindsesh"
				},
				{
					"@id": "https://lenvanderhof.com/#lifestyle"
				}
			]
		},
		{
			"@type": "WebSite",
			"@id": "https://lenvanderhof.com/#website",
			"url": "https://lenvanderhof.com/",
			"name": "Len P. van der Hof",
			"description": "Len P. van der Hof, MSc, is een Nederlandse ondernemer en AI-innovator in Zwijndrecht. Hij bouwt ReasonKit, MindSesh, Undominated.ai, boeken onder zijn eigen naam, het fictie-imprint LPH98.lifestyle en technologieventures via LPH98.ventures. Elf titels in Systems for the Strategic Self zijn nu verkrijgbaar, in het Engels en het Nederlands.",
			"inLanguage": [
				"en",
				"nl"
			],
			"publisher": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#publisher",
			"name": "LPH98.ventures",
			"url": "https://lph98.ventures",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#mindsesh",
			"name": "MindSesh",
			"url": "https://mindsesh.net",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "SoftwareApplication",
			"@id": "https://lenvanderhof.com/#reasonkit",
			"name": "ReasonKit",
			"url": "https://reasonkit.sh",
			"creator": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "SoftwareApplication",
			"@id": "https://lenvanderhof.com/#undominated",
			"name": "Undominated.ai",
			"url": "https://undominated.ai",
			"creator": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#lifestyle",
			"name": "LPH98.lifestyle",
			"url": "https://lph98.lifestyle",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "ImageObject",
			"@id": "https://lenvanderhof.com/nl/blog/javascript-rendering-kost-je-citaties/#primaryimage",
			"url": "https://lenvanderhof.com/media/generated/blog-hero-javascript-rendering-kills-citations-v2.a38ba1568b2c.wide.webp",
			"contentUrl": "https://lenvanderhof.com/media/generated/blog-hero-javascript-rendering-kills-citations-v2.a38ba1568b2c.wide.webp",
			"representativeOfPage": true
		},
		{
			"@type": "BreadcrumbList",
			"@id": "https://lenvanderhof.com/nl/blog/javascript-rendering-kost-je-citaties/#breadcrumb",
			"itemListElement": [
				{
					"@type": "ListItem",
					"position": 1,
					"name": "Home",
					"item": "https://lenvanderhof.com/nl/"
				},
				{
					"@type": "ListItem",
					"position": 2,
					"name": "Blog",
					"item": "https://lenvanderhof.com/nl/blog/"
				},
				{
					"@type": "ListItem",
					"position": 3,
					"name": "SEO, GEO en AEO",
					"item": "https://lenvanderhof.com/nl/blog/categorie/seo-geo-aeo/"
				},
				{
					"@type": "ListItem",
					"position": 4,
					"name": "Voeren AI-crawlers JavaScript uit? Controleer de HTML die ze ontvangen",
					"item": "https://lenvanderhof.com/nl/blog/javascript-rendering-kost-je-citaties/"
				}
			]
		},
		{
			"@type": "WebPage",
			"@id": "https://lenvanderhof.com/nl/blog/javascript-rendering-kost-je-citaties/#webpage",
			"url": "https://lenvanderhof.com/nl/blog/javascript-rendering-kost-je-citaties/",
			"name": "Voeren AI-crawlers JavaScript uit? Controleer de HTML die ze ontvangen",
			"description": "Google documenteert JavaScript-rendering. De crawlerdocumentatie van OpenAI en Perplexity zwijgt erover, en in een onderzoek uit december 2024 sloegen hun bots het renderen op de geteste sites over. Controleer je ruwe HTML.",
			"isPartOf": {
				"@id": "https://lenvanderhof.com/#website"
			},
			"primaryImageOfPage": {
				"@id": "https://lenvanderhof.com/nl/blog/javascript-rendering-kost-je-citaties/#primaryimage"
			},
			"breadcrumb": {
				"@id": "https://lenvanderhof.com/nl/blog/javascript-rendering-kost-je-citaties/#breadcrumb"
			},
			"inLanguage": "nl-NL"
		},
		{
			"@type": "BlogPosting",
			"@id": "https://lenvanderhof.com/nl/blog/javascript-rendering-kost-je-citaties/#article",
			"mainEntityOfPage": {
				"@id": "https://lenvanderhof.com/nl/blog/javascript-rendering-kost-je-citaties/#webpage"
			},
			"headline": "Voeren AI-crawlers JavaScript uit? Controleer de HTML die ze ontvangen",
			"description": "Google documenteert JavaScript-rendering. De crawlerdocumentatie van OpenAI en Perplexity zwijgt erover, en in een onderzoek uit december 2024 sloegen hun bots het renderen op de geteste sites over. Controleer je ruwe HTML.",
			"datePublished": "2026-10-22T07:05:00.000Z",
			"author": {
				"@id": "https://lenvanderhof.com/#person"
			},
			"publisher": {
				"@id": "https://lenvanderhof.com/#person"
			},
			"image": [
				"https://lenvanderhof.com/media/generated/blog-hero-javascript-rendering-kills-citations-v2.a38ba1568b2c.square.webp",
				"https://lenvanderhof.com/media/generated/blog-hero-javascript-rendering-kills-citations-v2.a38ba1568b2c.landscape.webp",
				"https://lenvanderhof.com/media/generated/blog-hero-javascript-rendering-kills-citations-v2.a38ba1568b2c.wide.webp"
			],
			"articleSection": "SEO, GEO en AEO",
			"inLanguage": "nl-NL"
		}
	]
}
```
