Definition
Client-Side Rendering means the server returns minimal HTML (often just a <div id='root'/>) and the browser executes JavaScript to fetch + render content. Most SPAs (single-page apps) default to CSR. Problem for AEO: GPTBot, ClaudeBot, and PerplexityBot do NOT execute JavaScript. They see the empty shell. Content rendered via CSR is invisible to AI engines.
A React/Vue/Angular app with `<div id='root'></div>` in source HTML. GPTBot fetches this, sees no content, moves on.
How to optimize
Switch to SSR (server-side rendering) or SSG (static generation). Frameworks: Next.js, Nuxt, Remix, Astro all default to server-rendered HTML.
