TL;DR. Most AI crawlers fetch raw HTML and stop. They do not wait for React, Vue, or Angular to render. If your H1, BLUF, and main copy are injected by client-side JavaScript, the crawler sees an empty shell (≈ page). Test it in 30 seconds: right-click → Run Page Audit V2 on your domain.
Why JS-rendered content breaks AI visibility
Crawlers have budget caps and timeout limits. GPTBot and PerplexityBot are fast, not thorough. They will not:
- Wait 4 seconds for your JavaScript framework to hydrate
- Execute a third-party script to pull your hero copy from a CMS
- Follow an infinite scroll to load the rest of the page
Rendering strategies, ranked by AI-friendliness
| Strategy | AI-friendly? | Notes for your tech team |
|---|---|---|
| Static HTML | Best | Every byte is in the source. Gatsby, Astro, plain HTML. |
| Server-Side Rendering (SSR) | Best | Next.js, Nuxt, SvelteKit. HTML renders on server; hydrates on client. |
| Static Site Generation (SSG) | Best | Pre-rendered at build time. Hydrates optionally. |
| Partial pre-rendering / ISR | Good | Next.js ISR, Vercel Edge. Fresh + pre-rendered. |
| Client-Side Rendering (CSR) | Bad | Pure SPA. Only the shell is in source. AI crawlers see nothing. |
| Dynamic Rendering (old) | Deprecated | Google stopped recommending. Skip. |
If you are on CSR, move to SSR or SSG. For most React apps this is a Next.js migration or adding getServerSideProps to critical routes. For Vue, Nuxt. For Angular, Universal.
The "critical content in source" rule
You do not need to SSR the whole site. You need the critical content in the raw HTML:
- H1 and all H2 / H3 headings
- BLUF (the first 40–80 words that answer the target prompt)
- Main body copy (pros/cons, tables, data points)
- Author block and "Last updated" date
- All JSON-LD schema in <head> or at end of <body>
Interactive widgets, chat bubbles, comment threads: fine to leave client-side. AI crawlers do not care about them.
Page loading speed as a crawl budget signal
Slow pages get crawled less often. Largest Contentful Paint (LCP) over 4 seconds on mobile is a warning. Core Web Vitals are not a direct ranking factor for AI engines, but they proxy for crawl reliability. Keep LCP under 2.5 seconds on your top pages. That is enough.
Start improving your AI visibility today with Rankscale.
Get started