Static generation (SSG) builds a page once and serves it from CDN-level speed. Incremental Static Regeneration (ISR) adds a revalidation window: after a set time, the page rebuilds in the background when requested.
For content-heavy sites like blogs, ISR is the sweet spot — static performance with content that stays fresh.
When SSG wins
If content changes rarely and you control when to publish, plain SSG is simplest: build on every deploy, and the page is fast forever.
- No server needed for page rendering.
- Maximum performance and minimum cost.
- Great for marketing pages, docs, and stable content.
When you need ISR
When content updates during the site lifetime — new articles, edits from a CMS, changing prices — ISR rebuilds pages after a revalidate interval.
- export const revalidate = 60 rebuilds at most once a minute.
- On-demand revalidation rebuilds instantly when content changes.
- Best of both: static delivery, fresh data.
Combine revalidate with on-demand revalidation: trigger a rebuild from your CMS webhook so content publishes instantly instead of waiting for the interval.
What to avoid
Avoid server-side rendering everything by default. For public, cacheable pages, SSG or ISR beats SSR on cost and speed every time.
SSG and ISR FAQ
What is the difference between ISR and SSR?
SSR renders on every request; ISR renders once and revalidates in the background. ISR is much faster and cheaper for content that does not change every second.
How short can the revalidate interval be?
You can set it to seconds, but prefer on-demand revalidation for true freshness. Short intervals increase build load without improving perceived freshness.



