Je pagina kan op #1 staan in Google en toch onzichtbaar zijn voor ChatGPT
De crawler van Google voert je JavaScript uit, haalt de gerenderde HTML op in de index en kan een client-side gerenderde site op de eerste pagina van de zoekresultaten plaatsen. Dezelfde pagina verdwijnt wanneer deze wordt opgevraagd via ChatGPT of de AI-zoekfunctie van Bing, omdat de bots die deze diensten aandrijven de JavaScript nooit uitvoeren. Het resultaat is een hooggeplaatste site die geen enkele AI-assistent kan vinden.
Waarom AI-crawlers je content missen
Twee van de meest gebruikte AI-crawlers — OpenAI’s GPTBot en Anthropic’s ClaudeBot — renderen helemaal geen JavaScript. Een studie van Vercel en MERJ uit december 2024 toonde aan dat beide bots simpelweg de ruwe HTML en alle gekoppelde JavaScript-bestanden downloaden en dan stoppen. De scripts worden nooit uitgevoerd, waardoor de bots alleen een lege huls zien.
Googlebot daarentegen zet de pagina in de wachtrij, voert de scripts uit en indexeert de resulterende DOM. Dat fundamentele verschil betekent dat een site die is gebouwd met een puur client-side framework (React, Vue, etc.) volledig zichtbaar kan zijn voor Google, terwijl het een leeg canvas blijft voor AI-gestuurde zoekopdrachten.
Google vs. AI: Het rendering-gat
Google investeert al lang in headless rendering. De bot kan complexe single-page applications verwerken, ze 'hydrateren' en gestructureerde gegevens extraheren die verschijnen na de initiële load. AI-crawlers bevinden zich echter nog in een "alleen downloaden"-modus. Ze kunnen JSON-LD parsen dat is geïnjecteerd via tools zoals react-helmet, maar alleen als die markup aanwezig is in de ruwe HTML.
Developer tools kunnen misleidend zijn. Het Elements-paneel in Chrome toont de pagina nadat de JavaScript is uitgevoerd, wat de valse indruk geeft dat de markup deel uitmaakt van de broncode. Het gebruik van "view-source" (of curl zonder browser) laat zien wat een bot daadwerkelijk ontvangt. Als de content of gestructureerde gegevens daar ontbreken, zullen de AI-crawlers het nooit zien.
Hoe het probleem zich manifesteert
Een typische React-site die vertrouwt op client-side rendering zal hoog scoren in Google op zoekwoorden zoals "beste koffiezetapparaat" of "hoe repareer ik een lekkende kraan". Toch krijgt een gebruiker die ChatGPT vraagt: "Wat zijn de beste koffiezetapparaten?", antwoorden waarin die site volledig ontbreekt. Dezelfde kloof bestaat voor de AI van Bing, die ongeveer 92% van de agent-queries van ChatGPT afhandelt. De JavaScript-renderingcapaciteiten van Bing zijn beperkt, waardoor een site die alleen client-side is, onzichtbaar kan zijn voor beide grote AI-zoekproviders.
Het probleem is onzichtbaar. SEO-dashboards die Google-rankings bijhouden, zullen een gezonde positie rapporteren, terwijl het verkeer van de site via AI-assistenten op nul blijft staan. Die discrepantie kan bedrijven een groeiend deel van het ontdekkingsverkeer kosten, vooral omdat steeds meer gebruikers vertrouwen op conversationele interfaces voor snelle antwoorden.
Wat ontwikkelaars fout doen
Veel teams gaan ervan uit dat als Google de pagina kan lezen, elke crawler dat ook kan. Ze doen vaak het volgende:
- Vertrouwen op
react-helmetof vergelijkbare bibliotheken om JSON-LD te injecteren nadat de pagina is geladen, in de veronderstelling dat de markup "aanwezig" is. - Testen alleen in de Elements-weergave van de browser, en niet in de ruwe broncode.
- Slaan een eenvoudige
curl-check over, waardoor ze het feit missen dat de kop of belangrijke zinnen nooit in de initiële HTML-respons verschijnen.
Deze praktijken wekken de illusie van een gezonde SEO, terwijl de site blind blijft voor AI-zoekopdrachten.
Hoe het op te lossen
De oplossing is om de echte content te leveren in de eerste HTTP-respons. Drie bewezen methoden werken:
- Server-Side Rendering (SSR) – De server voert de JavaScript uit, rendert de volledige HTML en stuurt deze naar de client. De pagina komt al gevuld aan.
- Static Generation – Tijdens de build-tijd maakt het framework statische HTML-bestanden aan die alle content bevatten. Er is geen rendering tijdens runtime nodig.
- Prerendering – Een middleware-service rendert de pagina één keer, cachet het resultaat en serveert de statische snapshot aan crawlers.
Frameworks zoals Next.js (React) en Nuxt (Vue) bieden ingebouwde ondersteuning voor deze technieken. Door over te stappen van een puur client-side bundle naar een van de bovenstaande methoden, wordt gegarandeerd dat zowel Googlebot als AI-crawlers dezelfde content zien.
Een snelle sanitytest:
curl -s https://yourpage.com | grep "your headline text"
Als het commando niets teruggeeft, is de kop niet aanwezig in de ruwe HTML en zullen AI-bots deze missen.
Waar op te letten
De huidige situatie is een duidelijke mismatch: de rendering engine van Google is geavanceerd; AI-crawlers zijn dat niet. De studie die deze kloof blootlegde is pas enkele maanden oud, en zowel OpenAI als Anthropic hebben aangegeven interesse te hebben in het verbeteren van hun indexing pipelines. Toch garandeert geen enkele publieke roadmap dat volledige JavaScript-executie binnenkort wordt toegevoegd.
In de tussentijd is de prijs voor het negeren van het probleem verschoven. Tien jaar geleden was de straf een tragere Google-indexering; vandaag de dag is het uitsluiting van het snelst groeiende ontdekkingskanaal: AI-gestuurde zoekopdrachten. Bedrijven die afhankelijk zijn van organisch verkeer zouden hun pagina's moeten auditen met tools voor de broncode, SSR of statische generatie moeten toepassen waar mogelijk, en AI-specifieke indexeringsrapporten moeten monitoren zodra deze beschikbaar komen.
Kernpunt: Een website die er perfect uitziet in de Google-rankings kan onzichtbaar zijn voor ChatGPT en Bing AI als deze uitsluitend vertrouwt op client-side rendering. Het leveren van content in de initiële HTML — via SSR, statische generatie of prerendering — overbrugt de kloof en waarborgt de vindbaarheid in zowel traditionele als AI-zoekopdrachten.
