PPR (Часткове попереднє рендеринг) — це стратегія рендерингу Next.js, яка поєднує статичні попередньо рендерені HTML-оболонки з динамічними потоковими островами, забезпечуючи швидкий перший малюнок та свіжість для кожного користувача.
Впроваджена в Next.js як experimental.ppr = "incremental" у Next.js 14 і поступово стабілізована в Next.js 15 та 16, PPR працює, попередньо рендерячи частини сторінки, які є статичними (назва, канонічна, hreflang, JSON-LD, герой) та визначаючи динамічні межі (значок кошика, нещодавно переглянуті, персоналізовані рекомендації), обгорнуті в <Suspense>. Статична оболонка миттєво передається з кешу на краю; динамічні острови передаються пізніше, часто протягом десятків мілісекунд.
Для електронної комерції PPR особливо цінний, оскільки критично важливий для SEO контент (назва, канонічна, структуровані дані) знаходиться в статичній оболонці і надходить до будь-якого запиту до бази даних. Динамічні острови забезпечують досвід для кожного користувача без блокування SEO-інтерфейсу.
PPR природно поєднується з Компонентами кешу (cacheComponents: true) — компоненти обирають кешування на рівні компонента, а PPR складає статичні та динамічні частини в єдиний потік.