Skip to content
TBH
Back to blog
January 9, 20264 min read

SSG vs SSR vs ISR vs CSR: What Should You Choose?

You're building a new website. The framework asks: SSG, SSR, ISR, or CSR?

If you choose wrong, you'll find out when Google doesn't index your pages, or when your users complain about load times.

Here's the simple guide.

The Four Rendering Strategies

SSG - Static Site Generation

Pages are rendered at build time and served as static HTML files.

How it works:

  1. During npm run build, all pages are generated as HTML
  2. HTML is served directly from CDN
  3. JavaScript hydrates for interactivity

Pros:

  • Lightning fast load (HTML is ready)
  • Perfect SEO (Googlebot sees everything)
  • Cheap hosting (CDN)
  • High security (no server logic)

Cons:

  • Changes require new build
  • Scales poorly to thousands of pages
  • Data can become stale

Use for: Marketing sites, blogs, documentation.


SSR - Server-Side Rendering

Pages are rendered on the server for each request.

How it works:

  1. User requests page
  2. Server renders HTML with fresh data
  3. HTML is sent to browser
  4. JavaScript hydrates

Pros:

  • Always fresh data
  • Good SEO (HTML is ready at request)
  • Personalization possible (cookies, auth)

Cons:

  • Requires server (more expensive hosting)
  • Slower TTFB (Time To First Byte)
  • Server load during high traffic

Use for: E-commerce, news sites, personalized content.


ISR - Incremental Static Regeneration

The best of SSG and SSR. Pages are static but update in the background.

How it works:

  1. First request serves cached HTML
  2. In the background, page regenerates with fresh data
  3. Next request gets the updated version

Pros:

  • Fast like SSG
  • Fresh data like SSR
  • Scales well

Cons:

  • Only certain frameworks (Next.js, Nuxt)
  • Complexity in cache invalidation
  • First user may see stale data

Use for: Product pages, blogs with frequent updates, large sites.


CSR - Client-Side Rendering

The browser downloads an empty HTML file and JavaScript builds the entire page.

How it works:

  1. Server sends <div id="root"></div>
  2. Browser downloads JavaScript bundle
  3. JavaScript runs and renders UI

Pros:

  • Fast navigation between pages (SPA feeling)
  • Simple hosting (just static files)
  • Good for apps behind login

Cons:

  • Empty page until JS loads (bad First Contentful Paint)
  • SEO is difficult: Googlebot needs to run JS
  • Large bundles = slow initial load

Use for: Dashboards, admin panels, apps behind login.


SEO Implications

StrategyGoogle IndexingFirst Contentful PaintData Freshness
CSRRiskySlowReal-time
SSGPerfectFastestStale
SSRPerfectMediumReal-time
ISRPerfectFastNear real-time

Google and JavaScript: Google can crawl JavaScript, but it's slower and less reliable. If SEO matters, choose SSG, SSR, or ISR.


Practical Examples

Website TypeRecommended Strategy
Marketing landing pageSSG
BlogSSG or ISR
E-commerce product pagesISR
E-commerce cart/checkoutSSR or CSR
Dashboard behind loginCSR
News siteISR or SSR
DocumentationSSG
Social media feedCSR with SSR for SEO pages

The Hybrid Approach

Most modern sites use multiple strategies:

/                  → SSG (landing page)
/blog              → SSG or ISR
/products/[id]     → ISR (many pages, often updated)
/cart              → CSR (personal, behind session)
/dashboard         → CSR (behind login)

Next.js, Nuxt, and SvelteKit all support this out of the box.


Our Recommendation

  1. Start with SSG for all static content
  2. Use ISR for dynamic content that needs to be SEO-friendly
  3. Use SSR only when you need personalization or real-time data
  4. Use CSR behind login where SEO is irrelevant

If in doubt: ISR is the safest default for most projects in 2026.

See what we have built

Nordvec, nævn.dk, Matematik i Måneby in the browser, Semantika and open source.

See the projects