Headless WordPress into Next.js does not mean everything must be server-rendered. The useful question is: how often does this URL change, and who waits if it is stale?
- Static / SSG — marketing pages, service pages, and case studies that change weekly or less. Fastest TTFB; rebuild or on-demand revalidate when CMS content changes.
- ISR — large catalogs or news archives where you want static speed with periodic refresh. Set revalidate windows that match editorial cadence.
- SSR — personalized or permissioned views, or content that must be correct on every request. Costs more at the edge; use deliberately.
A common CodeFern pattern: static shells for marketing routes, ISR for listings, and a small SSR surface for preview. Wire revalidation to WordPress publish hooks so you are not waiting on a nightly build.
Related: Headless migration



