You can write an excellent page, earn links, and rank well, and still be absent from AI answers for a reason that never shows up in a content review: the crawler may not be able to read the page at all.
This article covers one overlooked technical problem in AI SEO. Many AI crawlers appear to read only the HTML your server sends and ignore content that appears afterward through JavaScript. Here is what the evidence shows, how to test your own site in minutes, and how to fix it.
What the Research Found
The most cited evidence comes from an analysis by Vercel and MERJ of AI crawler behavior on Vercel’s network. Vercel reported that none of the major AI crawlers it measured currently render JavaScript. The detail is interesting. ChatGPT and Claude crawlers do fetch JavaScript files, at 11.50% and 23.84% of requests respectively, but they do not execute them. vercelvercel
Google is the exception. The same analysis says Google’s Gemini leverages Googlebot’s infrastructure, enabling full JavaScript rendering. Scale matters too. A technical guide summarizing the data reports GPTBot generated 569 million requests across Vercel’s network in a single month, with ClaudeBot following at 370 million.
One caution is essential. This study dates from late 2024, and a source reviewing it lists it as the December 2024 Vercel and MERJ study. Crawler behavior can change, and Vercel is a hosting company with its own interests. So treat “AI crawlers do not render JavaScript” as a safe working assumption rather than a permanent fact, and re-test periodically.
Why Google Rankings Can Hide the Problem
Classic SEO has forgiven client-side rendering for years because Google eventually executes JavaScript. One guide notes that Google runs crawling, rendering, and indexing as separate phases, and will execute your JavaScript before indexing. The delay exists, though. One summary cites a 2022 Onely study finding Googlebot took a median of 313 hours to index JavaScript pages against 36 hours for pages without JavaScript. That figure is old and relayed second-hand, so use it as a hint rather than a benchmark. angleratherankmasters
The danger is a false sense of safety. Your page ranks in Google, so you assume it is healthy. Meanwhile, a crawler that never runs your scripts receives an empty shell. A practitioner case study, described by one source, showed client-side rendered content was invisible to ChatGPT, Perplexity, and Claude.
What Typically Goes Missing
Content built with React, Vue, or Angular without server-side rendering is most at risk. Even sites with server-rendered main text often hide important pieces behind scripts:
- Product descriptions and specifications loaded through an API call.
- FAQ sections injected after the page loads.
- Comparison tables built by a front-end framework.
- Pricing that appears only after a user interaction.
- Structured data added by JavaScript. One practitioner guide warns that JSON-LD schema injected by client-side JavaScript is invisible for the same reason.
If those items carry your best answers, a non-rendering crawler never sees them.
A Ten-Minute Test Anyone Can Run
You do not need a developer to check the basics.
- View the page source. In your browser, open “view source” rather than the inspector. This shows the raw HTML your server delivers.
- Search for your key facts. Look for a distinctive sentence, a price, or a heading. If it is missing from the source but visible on screen, JavaScript is adding it.
- Turn JavaScript off. Use your browser’s developer settings to disable it, then reload. What remains is roughly what a non-rendering crawler can read.
- Compare templates. Test one page from each template type: home, service, product, article, and location.
- Check your logs. Look for GPTBot, ClaudeBot, and PerplexityBot user agents. Confirm they receive normal, full-size responses.
One practitioner guide frames the principle well: anything present on screen but missing from the raw response is invisible to GPTBot, ClaudeBot, and PerplexityBot.
How to Fix It
Server-side rendering. Frameworks such as Next.js and Nuxt can deliver complete HTML on the first response. Vercel’s own advice is to prioritize server-side rendering for critical content, while client-side rendering still works for enhancement features.
Static generation or prerendering. For pages that rarely change, build the HTML ahead of time. This is often cheaper and faster than full server rendering.
Put the important text in the first response. Even on a mostly dynamic site, ensure headings, core copy, pricing, and key facts arrive in the initial HTML.
Move schema server-side. If you use structured data, emit it in the page response, not through a script that runs later.
Keep interactivity as an add-on. Tabs, sliders, and filters are fine, provided the underlying text is already in the page.
A Warning About Shortcuts
Some guides suggest serving a different, fully rendered version only to AI crawlers based on their user agent. Tread carefully. Google’s spam policies list cloaking among the policies now applied to AI search surfaces. Showing bots materially different content than users see is risky. The safer route is to make one version of the page that works for everyone.
Prioritize by Value, Not by Fear
You do not need to rebuild your whole site at once. Start with the pages that matter commercially: service pages, comparison pages, pricing, and your best guides. Fix those templates first, retest, then move down the list.
At Sarkar SEO, a rendering check sits near the start of any AI SEO review, because it is quick to run and an expensive problem to miss. A site that fails the test can lose visibility regardless of how good its content is. Sarkar SEO also recommends repeating the test after every redesign or platform change, since rebuilds are when rendering problems usually return.