techniques
CSR (Client-Side Rendering)
Sending an empty HTML shell + JS bundle that renders content in the browser — invisible to most AI crawlers.
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.
Example
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.