Headline: Partial Prerendering (PPR) in Next.js serves a static HTML shell from the CDN edge instantly, then streams Suspense-wrapped dynamic children from the origin in the same HTTP response. No full-page ISR staleness, no full-page origin latency. I shipped it on two production routes â here is the model.
Key takeaways
PPR serves a static HTML shell from the CDN edge, then streams dynamic Suspense children from the origin in the same response.
The static shell is built at build time â outside <Suspense> renders statically; inside renders dynamically per request.
PPR replaces the ISR vs. dynamic tradeoff for pages that are mostly static with isolated personalized sections.






