Next.js

SSR vs SSG vs ISR in Next.js — which to use

Use static for marketing pages, ISR for content that changes occasionally, and SSR only where data must be fresh per request. Here's the decision rule.

Bilal KhursheedMarch 22, 20267 min read

Pick the rendering strategy per route. As a rule: static generation (SSG) for content that's the same for everyone, Incremental Static Regeneration (ISR) for content that changes occasionally, and server-side rendering (SSR) only where data must be fresh on every request. Marketing and service pages should almost always be static or ISR so they're fast and fully crawlable.

The decision rule

  • Static (SSG): marketing pages, docs, blog posts — content that rarely changes. Fastest possible loads and trivially crawlable.
  • ISR: catalogs, listings, and content that updates periodically — static speed with scheduled or on-demand revalidation.
  • SSR: dashboards, personalized pages, and anything that depends on the current request. Use it where freshness genuinely matters.

Why this matters for SEO

Search engines and AI crawlers reward fast, server-rendered HTML. Leaving indexable content client-only-rendered is the most common Next.js SEO mistake — the content may never be reliably crawled. Static and ISR pages ship complete HTML and hit Core Web Vitals targets (LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1) more easily.

FAQ

Frequently asked questions

Usually no. Marketing and service pages should be statically generated (or use ISR) so they load fast and are fully crawlable. Reserve SSR for pages that need per-request fresh or personalized data.

Ready when you are

Let's build your product.

Book a free, no-obligation discovery call. We'll map the outcome and the fastest path to shipping it.