Escolher SSR, SSG ou ISR para cada rota de uma app Next.js
Decida a estratégia de renderização e cache de cada rota do seu projeto Next.js (estática, ISR, dinâmica, streaming ou cliente) com uma tabela fundamentada, código de exemplo e forma de verificar. Pensado para ChatGPT, Claude, Gemini e Microsoft Copilot. Inclui 4 variáveis personalizáveis e pode copiá-lo gratuitamente com um clique.
Avançado · Texto · Pendente de revisão editorial
Prompt
Atua como arquiteto especializado em Next.js App Router, desempenho web e SEO técnico.
Contexto:
- Projeto: {{projeto}}
- Rotas e atualidade dos dados: {{rotas}}
- Alojamento: {{alojamento}}
- Versão do Next.js: {{versao_next}}
Se faltar informação decisiva (que rotas dependem da sessão do utilizador, com que frequência mudam os dados, se o conteúdo vem de um CMS com webhooks), pergunta-me antes de decidir.
Entregáveis:
1. Tabela por rota: estratégia (estática no build, estática com revalidação por tempo ou a pedido, dinâmica por pedido, streaming com Suspense, carregamento no cliente), motivo, origem dos dados, impacto no SEO e no tempo até ao primeiro byte.
2. Como invalidar o conteúdo em cada caso (revalidação por tempo, revalidatePath ou revalidateTag a partir de um webhook) e o que acontece se a revalidação falhar.
3. O que torna uma rota dinâmica sem querer (cookies, cabeçalhos, parâmetros de pesquisa, fetch sem cache) e como isolar a parte personalizada para que o resto continue estático.
4. Código de exemplo curto para duas ou três rotas representativas.
5. Limitações de {{alojamento}} que afetam a decisão (por exemplo, a exportação estática não permite renderização por pedido).
6. Como verificar: o que mostra a saída de `next build` para cada rota e que cabeçalhos de cache rever em produção.
Restrições:
- O comportamento de cache por omissão mudou entre versões do Next.js: indica o que assumes para {{versao_next}} e recomenda confirmar na documentação oficial dessa versão.
- Não inventes métricas de desempenho; se estimares algo, assinala-o como estimativa.
- Prefere o estático sempre que os requisitos de atualidade o permitam.
Formato: tabela principal, secções curtas por tema e uma lista final de riscos.Como utilizar
- Enumera as tuas rotas reais com a frequência com que o conteúdo muda e se dependem do utilizador. 2. Indica onde fazes o deploy e a versão exata do Next.js. 3. Aplica a tabela e valida com a saída do next build antes de publicar.
Exemplo de utilização
Projeto: loja de móveis com blogue · Rotas: /, /produtos/[slug] (preços mudam diariamente), /blog/[slug], /conta (privada) · Alojamento: Vercel · Versão: Next.js 15.
Exemplo de resultado
Pressuposto: Next.js 15, em que o fetch deixou de ficar em cache por omissão. Confirme na documentação oficial da sua versão.
Estratégia por rota
| Rota | Estratégia | Motivo | Invalidação |
|---|---|---|---|
/ | Estática com revalidação | Muda semanalmente | revalidateTag('home') a partir do CMS |
/produtos/[slug] | Estática + ISR; preço e stock num bloco Suspense | O SEO precisa de HTML rápido; o stock muda diariamente | revalidateTag('produto:slug') ao atualizar o inventário |
/blog/[slug] | Estática com generateStaticParams | Raramente muda | revalidatePath a partir do webhook do CMS |
/conta | Dinâmica por pedido | Privada, por utilizador; lê cookies | Sem cache |
O que torna uma rota dinâmica sem querer
- Ler
cookies()ouheaders()num layout partilhado: arrasta todas as rotas filhas. - Usar
searchParamsna página de produto para um filtro secundário.
Solução: isolar a parte personalizada (carrinho, saudação) num componente de cliente ou num bloco Suspense, para que o resto continue estático.
Como verificar
Na saída do next build, cada rota aparece marcada como estática (○), SSG (●) ou dinâmica (ƒ). Se /produtos/[slug] aparecer como ƒ, há algo a ler dados do pedido…
Dados-chave
- Categoria
- Programação e desenvolvimento · Next.js
- Tipo de resultado
- Texto
- Nível
- Avançado
- Pensado para
- ChatGPT, Claude, Gemini e Microsoft Copilot
- Verificado em
- Pendente de verificação editorial
- Variáveis
- Projeto, Rotas e atualidade dos dados, Alojamento e Versão do Next.js
- Idioma
- Português
- Preço
- Gratuito, sem registo
- Atualizado
- 07/11/2026
Perguntas frequentes
Qual é a diferença entre SSG e ISR?
Com SSG a página é gerada no build e não muda até ao deploy seguinte. Com ISR é servida estática, mas regenerada após um intervalo ou quando a invalidas, sem novo deploy.
Renderizar no servidor é sempre melhor para SEO?
O que importa para SEO é que o HTML inicial tenha o conteúdo. Uma página estática ou com ISR consegue-o tal como o SSR e costuma ser mais rápida e barata de servir.
Porque é que uma rota fica dinâmica sem eu querer?
Normalmente porque lê cookies, cabeçalhos ou parâmetros de pesquisa, ou faz um fetch sem cache. O prompt ajuda-te a encontrar essas chamadas e a isolá-las.
Para que serve este prompt?
Decida a estratégia de renderização e cache de cada rota do seu projeto Next.js (estática, ISR, dinâmica, streaming ou cliente) com uma tabela fundamentada, código de exemplo e forma de verificar.
Com que ferramentas de IA funciona?
Foi pensado para ChatGPT, Claude, Gemini e Microsoft Copilot. Ainda não o verificámos nestas ferramentas, pelo que os resultados podem variar entre elas.
Como personalizo o prompt?
Clique em “Personalizar” e preencha as variáveis (Projeto, Rotas e atualidade dos dados, Alojamento e Versão do Next.js). O texto atualiza-se instantaneamente e pode depois copiá-lo com um clique. Os valores ficam guardados apenas no seu navegador.
Preciso de experiência para o utilizar?
É de nível avançado: destina-se a pessoas com experiência no tema, capazes de avaliar e ajustar o resultado.
Este prompt é gratuito?
Sim. Todos os prompts do HomeCasa Prompts são gratuitos, sem registo nem subscrição. Pode também utilizá-los em projetos profissionais.
Posso confiar no resultado da IA?
Trate-o como um rascunho de qualidade: verifique sempre os dados, os números e as afirmações importantes antes de publicar ou tomar decisões.