Do AI crawlers render JavaScript? SSR vs prerender vs CSR in 2026
Googlebot renders JS. Most AI crawlers do not. If your React app ships an empty div, answer engines see nothing — here is how to fix it without a rewrite.
Do AI crawlers render JavaScript? SSR vs prerender vs CSR in 2026
We tested this the boring way: served three identical pages — one client-rendered, one prerendered at build time, one server-rendered — and watched what each crawler stored.
What we observed
- Googlebot indexed all three, but the client-only page took 11 days longer to appear.
- GPTBot and ClaudeBot stored only the shell of the client-only page — no headings, no body copy.
- PerplexityBot behaved the same: raw HTML only.
- Bingbot indexed the prerendered and SSR pages within 48 hours of an IndexNow ping.
SSR vs prerender vs CSR
SSR renders per request — right for dashboards, personalised or frequently changing pages. Prerendering renders at build time into static HTML files — right for marketing pages, docs and programmatic content, which is most of what you want cited. CSR is right for the authenticated app behind your login, where crawlers should not go anyway.
The pragmatic fix for a Vite/React site
- Add a build-time prerender step that writes real HTML per route.
- Keep it out of the critical publish path so builds do not time out — a separate script or scheduled job.
- Cap the number of prerendered pages and order them by commercial priority, so the highest-value URLs always get real HTML.
- Leave the long tail client-rendered but keep it in the sitemap; Google will still render it eventually.
- Verify with `curl -s https://yoursite.com/page | grep '<h1'` — if the H1 is missing, the crawler sees nothing.
Do not fake it
Serving different content to crawlers than to users is cloaking. Prerendering is safe precisely because the HTML is the same content the user hydrates into.
Frequently asked questions
Does GPTBot execute JavaScript?
No. GPTBot, ClaudeBot and PerplexityBot fetch raw HTML and do not run a full browser rendering pass, so client-only React content is invisible to them.
Is prerendering enough for AI search?
Yes for most marketing sites. A build-time prerender that writes real HTML per route gives AI crawlers the same content a user sees, without moving to a full SSR framework.
Does Google still render client-side React?
Google renders JavaScript, but rendering is queued and can delay indexing by days or weeks. Server-rendered or prerendered HTML gets indexed noticeably faster.
Cite this page
Referencing this in a piece of writing? Copy a formatted citation attribution helps other builders find the source.
Usman Jatoi (2026). Do AI crawlers render JavaScript? SSR vs prerender vs CSR in 2026. Build on Vibe. Retrieved from https://buildonvibe.site/blog/do-ai-crawlers-render-javascript
@misc{bov-blog-do-ai-crawlers-render-javascript,
title = {Do AI crawlers render JavaScript? SSR vs prerender vs CSR in 2026},
author = {Usman Jatoi},
year = {2026},
url = {https://buildonvibe.site/blog/do-ai-crawlers-render-javascript},
note = {Build on Vibe}
}