Dev.to
7/12/2026

Partial Prerendering in Next.js: The Static Shell + Dynamic Stream Model
Short summary
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. The author shipped it on two production routes and explains the model: outside Suspense renders statically at build time, inside renders dynamically per request. PPR replaces the ISR vs. dynamic tradeoff for pages that are mostly static with isolated personalized sections.
- •PPR delivers a static shell from CDN edge while streaming dynamic Suspense children from origin in one response
- •Enable via experimental.ppr: 'incremental' in config and export const experimental_ppr = true per route
- •Use PPR for mostly-static pages with isolated dynamic sections; use full dynamic rendering if entire page depends on per-request data
Generated with AI, which can make mistakes.
Is this a good recommendation for you?


