PPR (Pre-renderizado Parcial) es una estrategia de renderizado de Next.js que combina HTML estático pre-renderizado con islas dinámicas transmitidas, ofreciendo una rápida primera pintura y frescura por usuario.
Introducido en Next.js como experimental.ppr = "incremental" en Next.js 14 y estabilizado progresivamente a través de Next.js 15 y 16, PPR funciona pre-renderizando las partes de una página que son estáticas (título, canónico, hreflang, JSON-LD, héroe) e identificando límites dinámicos (insignia del carrito, recientemente visto, recomendaciones personalizadas) envueltos en <Suspense>. La shell estática se transmite desde la caché de borde instantáneamente; las islas dinámicas se transmiten después, a menudo dentro de decenas de milisegundos.
Para el comercio electrónico, PPR es particularmente valioso porque el contenido crítico para SEO (título, canónico, datos estructurados) está en la shell estática y llega antes de cualquier llamada a la base de datos. Las islas dinámicas sirven la experiencia por usuario sin bloquear la superficie de SEO.
PPR se combina naturalmente con Componentes de Caché (cacheComponents: true) — los componentes optan por la caché a nivel de componente, y PPR compone las partes estáticas y dinámicas en un flujo coherente.