Free SEO audit for new clients — claim yours
Home/Blog/AI Search/Do AI Crawlers Render JavaScript? Making JS Site…
AI Search

Do AI Crawlers Render JavaScript? Making JS Sites Readable to LLMs

Do AI Crawlers Render JavaScript? Making JS Sites Readable to LLMs
Table of contents
  1. Key Takeaways
  2. What the evidence says about AI crawlers and JavaScript
    1. How the main crawlers compare
  3. Which pages are most at risk
  4. How to test what AI crawlers can see
  5. Fixes: from quick wins to full SSR
    1. What to put in the initial HTML
  6. Common mistakes
  7. Where this fits in your AI search plan
  8. Related Guides
  9. Frequently Asked Questions
    1. Does ChatGPT render JavaScript when it crawls my site?
    2. Does Google AI Mode see client-rendered content?
    3. Is prerendering considered cloaking?
    4. Do I need to rebuild my site with a new framework?
    5. How often should I test?
  10. Conclusion
  11. References

Your site might look perfect in a browser and still be close to empty for an AI assistant. If your product details, prices, reviews or article text only appear after JavaScript runs, there is a real chance that ChatGPT, Claude or Perplexity never sees them when their crawlers visit.

Google spent years building a rendering pipeline so Googlebot can execute JavaScript. Most newer AI crawlers have not published anything similar, and the best public evidence suggests many of them read the raw HTML your server sends and move on. That gap matters in 2026, because AI answers increasingly decide which brands a buyer hears about first.

This guide explains what the evidence actually says, how to test what an AI crawler receives from your pages, and which rendering fixes (server-side rendering, static generation and prerendering) close the gap without rebuilding your whole site.

Key Takeaways

  • A December 2024 Vercel and MERJ analysis found that the major AI crawlers it studied (GPTBot, ClaudeBot, PerplexityBot and others) fetched pages but did not execute JavaScript.
  • Google renders JavaScript for Search, and Gemini uses Googlebot infrastructure, but that does not help with ChatGPT, Claude or Perplexity.
  • The fastest test is to look at the raw HTML: if your main content is missing from curl output or "view source", assume most AI crawlers cannot read it.
  • Server-side rendering, static generation or prerendering of critical content is the durable fix; client-side rendering is fine for non-essential widgets.
  • Re-test after every front-end release, because framework updates can quietly move content back to the client.

What the evidence says about AI crawlers and JavaScript

AI companies document who their crawlers are far more than how they process pages. OpenAI’s crawler overview explains the purpose of OAI-SearchBot, GPTBot and ChatGPT-User, and Perplexity’s bot documentation does the same for PerplexityBot and Perplexity-User, but neither page says whether those bots execute JavaScript. So the most useful evidence comes from server-side measurement.

The best-known study is The rise of the AI crawler, published by Vercel with MERJ on 17 December 2024. It analysed crawler traffic across nextjs.org and the Vercel network and found that ChatGPT’s crawlers, ClaudeBot, PerplexityBot, Meta-ExternalAgent and Bytespider did not render JavaScript. Some of them downloaded JavaScript files (the study reports 11.50% of ChatGPT fetches and 23.84% of Claude fetches were JS files) but did not execute them. The two exceptions were AppleBot, which used a browser-based crawler, and Gemini, which relies on Googlebot’s infrastructure.

“The results consistently show that none of the major AI crawlers currently render JavaScript.”

— Vercel, The rise of the AI crawler

Two caveats are worth stating plainly. First, the study is from late 2024 and crawlers change; a vendor could add rendering at any time without announcing it. Second, it measured specific networks rather than the whole web. Treat it as strong evidence of the default behaviour, not a permanent rule, and verify on your own site with the tests below.

How the main crawlers compare

CrawlerOperatorRenders JavaScript? (Vercel/MERJ, Dec 2024)What it means for you
Googlebot (Search, AI Overviews, AI Mode, Gemini)GoogleYes, via a rendering queueClient-side content can be indexed, but rendering is a separate, later step
GPTBot, OAI-SearchBot, ChatGPT-UserOpenAINoOnly server-sent HTML is reliably visible to ChatGPT
ClaudeBotAnthropicNoTraining and retrieval see the raw HTML
PerplexityBotPerplexityNoAnswers and citations depend on raw HTML
AppleBotAppleYes (browser-based crawler)Closer to Googlebot behaviour
Meta-ExternalAgent, BytespiderMeta, ByteDanceNoSame raw-HTML limitation

Even Google says rendering on the server is worth doing. Its JavaScript SEO basics guide notes that server-side or pre-rendering makes a site faster for users and crawlers, and that not all bots can run JavaScript. If you want a refresher on Google’s crawl, render and index pipeline, our guide to JavaScript SEO covers it in detail.

Which pages are most at risk

Not every JavaScript site has a problem. A WordPress site that uses JavaScript for a slider is usually fine, because the article text is already in the HTML. The risk is highest when the content itself is assembled in the browser:

  • Single-page apps built with React, Vue or Angular that ship an almost empty <div id="root"> and fetch everything after load.
  • E-commerce templates that inject price, stock status, variants or reviews through client-side API calls.
  • Headless CMS front ends where the build was configured for client-side rendering only (see our headless CMS SEO guide).
  • Tabs, accordions and "load more" sections whose text is fetched on click rather than included in the page.
  • Help centres and documentation portals that render from a JSON search index.

How to test what AI crawlers can see

You do not need special tools. The goal is to look at the HTML before any JavaScript runs, because that is what a non-rendering crawler receives.

  1. Fetch the raw HTML. Run curl -s -A "Mozilla/5.0 (compatible; GPTBot/1.4; +https://openai.com/gptbot)" https://www.example.com/page/ > raw.html. Using a crawler-style user agent also reveals whether your CDN or firewall serves bots something different.
  2. Search the output for key facts. Look for the H1, the first paragraph, the price, the product name and a review sentence. If they are missing, a non-rendering crawler cannot see them either.
  3. Compare with the rendered DOM. Open the page in Chrome DevTools and compare the Elements panel with "view source". Large differences mean heavy client-side rendering.
  4. Disable JavaScript. In DevTools, disable JavaScript and reload. What remains is roughly what GPTBot or ClaudeBot works with.
  5. Check status codes and redirects. A 200 response with an empty shell is as bad as a 404 for AI crawlers. Make sure redirects resolve in one hop.
  6. Confirm with logs. Check your server logs to see whether AI crawlers actually request the pages you tested (our new guide to finding AI bots in your server logs shows how).
  7. Ask the assistant. As a rough sanity check, ask ChatGPT or Perplexity a question that only your client-rendered content answers. Treat the result as anecdotal, because answers vary from run to run.

Fixes: from quick wins to full SSR

The Vercel study’s recommendation is simple: server-render critical content such as the main text, metadata and navigation, and keep client-side rendering for non-essential features. In practice you have several routes.

ApproachHow it worksBest forTrade-offs
Server-side rendering (SSR)HTML is generated on the server for each requestDynamic pages: product, pricing, search resultsMore server work; needs caching
Static site generation (SSG)HTML is built at deploy timeBlogs, docs, landing pagesContent changes need a rebuild
Incremental static regeneration (ISR) or similarStatic pages refreshed on a schedule or on demandLarge catalogues with frequent updatesFramework-specific; stale windows
Prerendering serviceA headless browser renders pages and serves snapshots to botsLegacy SPAs that cannot be refactored quicklyExtra cost; risk of serving different content to bots and users
Hybrid / progressive enhancementCore content in HTML, interactivity added by JavaScriptMost sitesRequires discipline in templates

Google describes dynamic rendering (serving bots a different, prerendered version) as a workaround rather than a long-term solution, so if you use a prerendering service, make sure the snapshot matches what users see. Mismatched content can create trust problems with both search engines and AI systems. For performance side effects, our page speed optimization team usually pairs SSR with edge caching so the server is not rebuilding the same page thousands of times.

What to put in the initial HTML

  • The title tag, meta description, canonical and robots meta tags.
  • The H1 and the full main content, including the opening answer paragraph.
  • Prices, availability, key specifications and a sample of reviews for product pages.
  • Internal navigation links as real <a href> elements, not click handlers.
  • Structured data (JSON-LD) that matches the visible text.
  • Author, publication and update dates for articles.

Common mistakes

  • Assuming "Google can render it" means every AI can. Google’s rendering helps Search and Gemini; it does nothing for other assistants.
  • Testing only in a browser. Your browser always runs JavaScript, so it hides the problem.
  • Injecting JSON-LD with JavaScript only. Google may process it after rendering, but non-rendering crawlers will not see it.
  • Blocking JS and CSS for bots to "save crawl budget". This breaks Google rendering and does not help AI crawlers.
  • Serving bots a stripped-down page. Prerendered snapshots must contain the same facts users see.
  • Ignoring 404s from old asset URLs. The Vercel data showed high 404 rates for AI crawlers (about 34% of ChatGPT and Claude fetches), often on outdated assets. Keep redirects and sitemaps tidy (see our crawl budget guide).

Where this fits in your AI search plan

Rendering is a foundation, not a strategy. Once AI crawlers can read your pages, the content still has to be worth citing: clear answers, well-structured passages and evidence. Pair this fix with our guides to answer-first writing, AI-friendly tables and lists and structured data for AI search. And before you invest, check that you are not blocking the crawlers in the first place; our guide to AI crawlers and robots.txt and the new Cloudflare AI Crawl Control explainer cover access settings. The Semrush study of technical factors in AI search (January 2026) also flags server-side rendering as a practical safeguard, although it did not measure JavaScript’s effect directly.

Frequently Asked Questions

Does ChatGPT render JavaScript when it crawls my site?

Public evidence says generally not. The Vercel and MERJ analysis (December 2024) found that OpenAI's crawlers fetched pages without executing JavaScript. OpenAI does not document rendering behaviour, so test your own raw HTML.

Does Google AI Mode see client-rendered content?

Google renders JavaScript for Search, and Google says pages must be indexed to appear as supporting links in AI Overviews or AI Mode. Client-rendered content can therefore be used, but server rendering is still faster and more reliable.

Is prerendering considered cloaking?

Not if the prerendered snapshot contains the same content users see. Problems start when bots receive different facts, prices or text than human visitors.

Do I need to rebuild my site with a new framework?

Usually not. Most modern frameworks support server rendering or static generation per page. Start with your highest-value templates, such as product, pricing and service pages.

How often should I test?

After every significant front-end release and at least quarterly. Framework upgrades and new components can move content back to the client without anyone noticing.

Conclusion

If your important content only exists after JavaScript runs, you are invisible to a large part of the AI search ecosystem. Test the raw HTML today, move critical content to the server, and re-test after each release. If you want a second pair of eyes, our technical SEO specialists can audit your rendering setup as part of an SEO engagement, or you can request a custom quote for a JavaScript and AI-crawler audit.

References

  1. Vercel: The rise of the AI crawler (Dec 2024)
  2. Google Search Central: Understand JavaScript SEO basics
  3. Google Search Central: AI features and your website
  4. OpenAI: Overview of OpenAI crawlers
  5. Perplexity: Perplexity crawlers
  6. Semrush: How do technical SEO factors impact AI search? (Jan 2026)
Rohit Choudhary
Written byRohit ChoudharyCo-Founder, My SEO Experts

Rohit Choudhary is the co-founder of My SEO Experts and has more than 14 years of hands-on experience in SEO, paid advertising and digital marketing. Since starting out in 2011 he has helped hundreds of businesses grow through practical, data-driven search strategies, and he also serves as a consulting Digital Marketing Director for several US-based companies.

Keep reading

Related articles

Building an AI Visibility Dashboard With Semrush
AI Search

Building an AI Visibility Dashboard With Semrush

How to turn Semrush's AI Visibility Toolkit data into a dashboard leadership trusts: the metrics worth showing, prompt selection, panel layout, Google data joins and a monthly report template.

Ready to grow your business online?

Get a free, no-obligation proposal tailored to your goals and budget.

CallFree Quote