scope
Run your free scan
Guide

JavaScript Rendering and AI Crawlers: What Gets Indexed and What Gets Missed

Many AI crawlers do not run JavaScript. What gets indexed, what gets missed, and why your money copy should be server-rendered.

Scope TeamUpdated 9 min
On this page

Most AI crawlers read the first HTML your server sends and do not wait for JavaScript to run. If your business name, services, location, and FAQ answers only appear after React or another framework paints the page, many AI fetchers see an empty shell. The fix is to server-render the "money copy" (who you are, what you sell, where, and for whom) while keeping Google SEO exactly as it is. Want to know whether AI engines describe you correctly today? Run a free AI visibility scan.

Do AI crawlers execute JavaScript?

Usually not. A crawler that does not run your bundle only sees the first HTML response. If that response is <div id="root"></div> plus a script tag, it has no product names, no address, no FAQ answers, and no JSON-LD you injected after the page loaded.

Googlebot is the exception people over-generalize. Google Search Central documents a two-step process: crawl the HTML, then render JavaScript. That renderer is built for Google Search. It is not shared with GPTBot, ClaudeBot, PerplexityBot, or Common Crawl, and most of those vendors have not documented a renderer of their own. Operators have been asking OpenAI the same question for a while (OpenAI community thread), and independent testing such as Salt Agency's points the same direction: plan for the first HTML.

Common misconceptions

  • "Chrome shows it, so ChatGPT can read it." Chrome runs JavaScript. Use View Page Source, not Inspect Element. Inspect Element shows the page after scripts run. Page Source, or curl -sL, shows what a JS-blind crawler gets.
  • "Googlebot runs JavaScript, so we can skip SSR." Googlebot's renderer is for Google. Keep it working, and also put your key sentences in the first HTML. The two are additive.
  • "Faking the user-agent proves what a bot sees." Sending a GPTBot user-agent string from your laptop shows what your server returns to that string. It does not prove how the real crawler processes the page.

Why is Googlebot different from GPTBot?

JobWhoWhat it reads
Search indexing with renderingGooglebotHTML first, then a rendered version later
AI training and retrieval fetchesGPTBot, ClaudeBot, PerplexityBot, othersThe first HTML, unless the vendor documents a renderer
A person asking a chatbotNot a crawlerWhatever the assistant retrieves or already learned

Vercel's The rise of the AI crawler is about how much AI crawler traffic hits its network. It is useful context, but read it as a traffic study, not a claim about JavaScript execution.

Google's AI Overviews and AI Mode still rely on Google's index. If Google cannot index a URL, those features cannot quote it. If Google can index it but GPTBot sees an empty root, you have a second, separate problem.

How do you make a JavaScript site visible to AI crawlers without hurting Google SEO?

Server-render the money copy and leave interactive widgets client-side.

  1. Use SSR or static generation for marketing pages. Next.js, Nuxt, SvelteKit, and Remix all support it. Default to server HTML for your home page, service pages, FAQs, and articles.
  2. Put JSON-LD in the server HTML, not in a client-side effect.
  3. Use progressive enhancement for live data. Ship a static fallback for reviews or booking slots, then load live data after paint. Crawlers read the fallback.
  4. Prerender only if you cannot SSR. A prerender service is a compatibility layer. Never serve bots a different document than users. That is cloaking and a policy problem.
  5. Check robots.txt. Do not disallow / for AI crawlers and then wonder why assistants have no page to quote.

Comparison tables need the same treatment. A client-only compare table is as invisible as a client-only FAQ.

30-minute checklist

  1. Pick your most important page. Run curl -sL https://yoursite.com/page | head -c 5000.
  2. Search the output for your business name, city, main service, and one FAQ answer. If any are missing, that content is client-only.
  3. Check that your <h1> and JSON-LD appear in the raw HTML.
  4. Open robots.txt. Confirm AI crawlers you want are not blocked from your marketing pages.
  5. Check Search Console's page indexing report to confirm Google still indexes the page.
  6. Fix the first HTML before changing anything else.
  7. Check how AI engines describe you with the free scan, then recheck after the fix ships.

Key takeaways

  • Most AI crawlers read the first HTML. Plan for no JavaScript.
  • Googlebot's renderer is the exception, and it only helps Google.
  • Server-render who you are, what you sell, where, and for whom. Keep widgets client-side.
  • Never cloak. Serve bots and people the same document.
  • Fixing rendering helps crawlers read you. It does not guarantee any engine will recommend you.

FAQ

Q: Do AI crawlers execute JavaScript? A: Most do not, or have not documented that they do. Plan for them to read only your first HTML response.

Q: If Googlebot runs JavaScript, why bother with SSR? A: Because the AI fetchers outside Google usually do not. SSR helps both, and Google indexes server HTML faster and more reliably anyway.

Q: Does a GPTBot user-agent test prove GPTBot executes JavaScript? A: No. It shows what your server returns to that string. It is a good check that your HTML is complete, not proof of the real crawler's behavior.

Q: Should I inject JSON-LD with JavaScript? A: No. Put it in the server-rendered HTML so every crawler can read it.

Q: Will an llms.txt file fix JavaScript rendering? A: No. It does not change what your pages return. Fix the first HTML. See the llms.txt guide.

Q: How do I check what AI engines say about my business? A: Run a free scan. It checks how ChatGPT, Claude, Gemini, Perplexity and other engines describe you. Agents can run the same checks through the Scope MCP server.

References

Free Scan

See how you show up right now

Get a free AI visibility report — no credit card required. See exactly how ChatGPT, Claude, Gemini, and Perplexity describe your business.

Run my free scan

Free scan · No credit card · Results in ~60 seconds