Partial Prerendering (PPR) is a Next.js rendering model that combines static and dynamic content in a single page — serving an instant static shell while streaming the dynamic parts. It blurs the old all-or-nothing line between SSG and SSR.
The problem it solves
Traditionally a page was fully static (fast, but can't have per-user content) fully dynamic (can be personalized, but slower and uncacheable). Real pages are mixed: a product page has a static layout/description but a dynamic cart count and personalized recommendations. PPR lets the be both.
