Overview
Client-side rendering delivers something like <div id="root"></div> plus a script; the browser downloads, parses, and runs the bundle, fetches data, and builds the DOM. Choose it for authenticated dashboards and tools where SEO does not matter and the app shell loads once. Avoid it for landing pages, blog posts, and anything that must be indexed or previewed.
Rules
- Googlebot renders JavaScript in a deferred pass; other crawlers, including many AI crawlers and link-preview scrapers, may see only the empty shell. Put indexable content in ssr or ssg output.
- CSR delays lcp because nothing meaningful paints until JavaScript runs. Keep the initial bundle small with code-splitting.
- Deployment is simple: static files from any CDN. Navigation after the first load is fast.
- Create React App was deprecated in February 2025; start new SPAs with a framework or a build tool such as Vite.