Back to feed
Dev.to
Dev.to
7/12/2026
Partial Prerendering in Next.js: The Static Shell + Dynamic Stream Model

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?

Comments

Failed to load comments. Please try again.

Explore more