All posts
    Technical SEO
    ·By Usman Jatoi·August 15, 2026·9 min

    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.

    Technical SEO · 9 min

    Do AI crawlers render JavaScript? SSR vs prerender vs CSR in 2026

    Technical SEO
    Key takeaway
    Googlebot renders JavaScript on a delay. GPTBot, ClaudeBot and PerplexityBot do not render it at all. A client-only React app is effectively invisible to AI search.

    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.

    Summarize this page with AI
    Share & save
    Post Share

    Cite this page

    Referencing this in a piece of writing? Copy a formatted citation attribution helps other builders find the source.

    APA
    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
    BibTeX
    @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}
    }
    Need a hand?

    Talk to a builder, not a bot.

    Questions about vibe coding, prompts, launching, pricing, or a partnership? We reply within one business day usually a few hours.