JavaScript and AI Search: Why Server-Side Rendering Matters for GEO

No Comments

AI Summary

Most AI crawlers, including GPTBot, ClaudeBot and PerplexityBot, cannot execute JavaScript, so any content rendered client-side is invisible to them. Server-side rendering (SSR) or static generation puts your text in the initial HTML, which is what GEO visibility depends on.

  • Only Googlebot and AppleBot render JavaScript among major crawlers; the rest read raw HTML.
  • Client-side React, Vue or Angular pages can return an empty shell to AI crawlers.
  • Fix with SSR (Next.js, Nuxt, SvelteKit), static generation, or a prerender service.
  • Embed JSON-LD schema in the server HTML, never inject it with JavaScript.
Comparison of ai crawlers that cannot execute javascript such as gptbot, chatgpt-user, claudebot and perplexitybot versus googlebot and applebot that render it.
Most AI crawlers read only the initial HTML, so server-side rendering controls whether they can see your page content.

Most AI crawlers cannot execute JavaScript. According to Vercel's December 2024 research, this is the single most important technical factor for AI visibility. Sites using client-side rendering frameworks (React, Vue, Angular) without server-side rendering may be completely invisible to AI search tools.

Why this is the highest leverage GEO decision

Generative engine optimization has a blunt gatekeeper: if the crawler cannot see your words, nothing else you do matters. Keyword targeting, internal linking, and schema all sit downstream of one question, does the content exist in the HTML the crawler receives. For pages built on a client-side framework that answer is often no, and the page contributes nothing to how AI tools source information even when it ranks well in Google.

The practical tell is a mismatch: strong Google rankings (Googlebot renders JavaScript) paired with zero citations in ChatGPT or Perplexity. When you see that pattern, rendering is the first thing to check, before you touch content or authority signals.

AI Crawler JavaScript Rendering Support

CrawlerJavaScript RenderingImpact
GPTBot (OpenAI)NoClient-side content invisible
ChatGPT-User (OpenAI)NoClient-side content invisible
ClaudeBot (Anthropic)NoClient-side content invisible
PerplexityBotNoClient-side content invisible
GooglebotYesFull content access
AppleBotYesFull content access

Source: Vercel: The Rise of the AI Crawler

Key finding: Only Googlebot and AppleBot among AI-related crawlers can render JavaScript. All others see only the initial HTML.

What AI Crawlers Actually See

Vercel's research confirmed that while ChatGPT and Claude crawlers do fetch JavaScript files (11.50% and 23.84% of requests respectively), they don't execute them.

ChatGPT explicitly returns this message for JavaScript-dependent pages: "I cannot read the content of the page because it relies on JavaScript-based rendering."

Example: Client-Side Rendered Page

What users see:

Welcome to Our Restaurant
Menu | Reservations | Private Events
Our award-winning steakhouse has been serving Chicago since 1995...

What GPTBot sees:

The AI crawler sees an empty page because the content is rendered client-side.

The Business Impact

Sites with server-side rendering have significantly higher AI citation rates compared to client-side only sites which show near-zero AI visibility regardless of Google rankings. This affects ChatGPT, Claude, Perplexity, and all AI tools except Google AI Overviews.

What has changed since Vercel published this

Vercel ran its measurements in late 2024. The headline finding has proven durable: through 2025 the major AI crawlers still fetch JavaScript assets without executing them, so client-side content stays hidden. Treat rendering support as a moving target rather than a fixed fact, because vendors update crawler behavior quietly and without announcements.

The safe operating assumption has not changed: build so that content is present in the server response, then verify per crawler with the tests below rather than trusting any published table indefinitely. If a crawler starts rendering JavaScript later, a server-rendered page still works; the reverse is not true.

Solutions for JavaScript Frameworks

1. Server-Side Rendering (SSR)

Render pages on the server before sending to the client. The HTML contains all content.

FrameworkSSR Solution
ReactNext.js, Remix, Gatsby (hybrid)
VueNuxt.js
AngularAngular Universal
SvelteSvelteKit

2. Static Site Generation (SSG)

Pre-render pages at build time. Best for content that doesn't change frequently:

  • Content pages (blog posts, documentation)
  • Marketing pages
  • Product pages with infrequent updates

3. Hybrid Rendering

Use SSR or SSG for crawlable pages, client-side for interactive features:

  • SSG for content pages (AI crawlers can access)
  • Client-side for user dashboards, forms, interactive tools
  • ISR (Incremental Static Regeneration) for frequently updated content

4. Pre-rendering Services

Services like Prerender.io or Rendertron can serve pre-rendered HTML to crawlers while users get the SPA experience.

How to Test What Crawlers See

Method 1: Disable JavaScript in Browser

  1. Open Chrome DevTools (F12)
  2. Press Ctrl+Shift+P (Command+Shift+P on Mac)
  3. Type "Disable JavaScript" and select it
  4. Refresh the page
  5. What you see is what AI crawlers see

Method 2: Use Curl

curl -A "GPTBot" https://yoursite.com/page

This shows the raw HTML without JavaScript execution.

Method 3: View Page Source

Right-click, then View Page Source shows the initial HTML. If your content isn't there, crawlers can't see it.

Schema Markup and JavaScript

Schema markup (JSON-LD) is typically embedded in HTML and doesn't require JavaScript execution. However, if your schema is generated client-side, AI crawlers won't see it.

Recommendation: Always embed schema markup in the initial HTML response, not generated via JavaScript.

Impact on Different Content Types

Content TypeSSR PriorityReason
Blog posts / ArticlesCriticalPrimary content for AI citation
Product pagesCriticalE-commerce visibility
Location pagesCriticalLocal search + AI visibility
FAQ pagesCriticalHigh AI citation potential
User dashboardsLowNot crawlable content
Checkout flowsLowNot crawlable content

Frequently asked questions

Does Google AI Overviews require SSR?

No. Googlebot can render JavaScript, so Google AI Overviews can access client-side rendered content. However, ChatGPT, Claude, and Perplexity cannot, so SSR still matters for overall AI visibility.

Is pre-rendering the same as SSR?

Pre-rendering generates static HTML at build time or on demand. SSR generates HTML on each request. Both work for AI crawlers; choose based on how often the content changes.

Will AI crawlers eventually support JavaScript?

Possibly, but JavaScript rendering is resource intensive. For now, assume AI crawlers cannot render JavaScript and plan accordingly.

What about single-page applications (SPAs)?

Pure SPAs without SSR are largely invisible to AI crawlers. Consider migrating to a framework that supports SSR or adding a pre-rendering solution.

How do I test what GPTBot sees without special tools?

Request the page with the crawler user agent, for example curl -A "GPTBot" https://yoursite.com/page, then read the raw HTML it returns. If your main content is missing from that response, the crawler cannot see it either.

Will client-side JSON-LD schema be read by AI crawlers?

No. Schema injected by JavaScript is invisible to crawlers that do not execute scripts. Put your JSON-LD in the initial server HTML so both search engines and AI crawlers can parse it.

Sources

Related Research

Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.

About SEO ProCheck

Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.

Work With Me

Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.

Subscribe to our newsletter!

More from our blog