PPR (Pré-renderização Parcial) é uma estratégia de renderização do Next.js que combina HTML estático pré-renderizado com ilhas dinâmicas transmitidas, oferecendo uma rápida primeira pintura e frescor por usuário.
Introduzido no Next.js como experimental.ppr = "incremental" no Next.js 14 e progressivamente estabilizado através do Next.js 15 e 16, o PPR funciona pré-renderizando as partes de uma página que são estáticas (título, canônico, hreflang, JSON-LD, herói) e identificando limites dinâmicos (badge do carrinho, recentemente visualizados, recomendações personalizadas) envoltos em <Suspense>. A casca estática é transmitida instantaneamente do cache de borda; as ilhas dinâmicas são transmitidas depois, muitas vezes dentro de dezenas de milissegundos.
Para o comércio eletrônico, o PPR é particularmente valioso porque o conteúdo crítico para SEO (título, canônico, dados estruturados) está na casca estática e chega antes de qualquer chamada ao banco de dados. As ilhas dinâmicas servem a experiência por usuário sem bloquear a superfície de SEO.
O PPR se combina naturalmente com Componentes de Cache (cacheComponents: true) — os componentes optam por cache no nível do componente, e o PPR compõe as partes estáticas e dinâmicas em um fluxo coerente.