SEO

Renderizacao no Lado do Servidor

A renderizacao no lado do servidor (SSR, do ingles server-side rendering) e a estrategia de renderizacao em que o HTML de uma pagina e totalmente montado no servidor no momento da requisicao e enviado ao navegador como um documento completo. A primeira resposta ja contem texto, links e meta tags, de modo que a pagina tem sentido antes de qualquer JavaScript ser executado.

A renderizacao no lado do servidor (SSR, do ingles server-side rendering) e a estrategia de renderizacao em que o HTML de uma pagina e totalmente montado no servidor no momento da requisicao e enviado ao navegador como um documento completo. A primeira resposta ja contem texto, links e meta tags, de modo que a pagina tem sentido antes de qualquer JavaScript ser executado.

Por Que Importa

Os mecanismos de busca e os crawlers de IA gastam orcamento real na execucao de JavaScript. O Googlebot usa um modelo de duas passagens - uma analise inicial do HTML e, depois, uma passagem adiada de renderizacao de JS - e entregar um shell vazio renderizado no cliente pode atrasar ou ignorar a indexacao por completo. Crawlers de IA como GPTBot, PerplexityBot e ClaudeBot, em sua maioria, nao executam JS, o que significa que a CSR e efetivamente invisivel para os mecanismos de resposta. A SSR resolve isso de uma so vez e ainda melhora os Core Web Vitals - e uma das decisoes tecnicas de maior alavancagem para SEO e GEO.

CSR vs SSR vs SSG vs ISR

EstrategiaLocal de renderizacaoPrimeiro HTMLAdequacao a SEOCaso de uso
CSR (Client-Side Rendering)NavegadorShell vazioFracaDashboards de usuarios logados
SSR (Server-Side Rendering)Servidor, a cada requisicaoCompletoForteConteudo dinamico e personalizado
SSG (Static Site Generation)Tempo de buildCompletoA mais forteBlogs, docs, marketing
ISR (Incremental Static Regeneration)Build + regeneracao periodicaCompletoA mais fortePaginas estaticas atualizadas com frequencia

A prioridade de SEO e aproximadamente SSG ≈ ISR > SSR > CSR. Frameworks como Next.js, Nuxt, Remix e SvelteKit permitem misturar esses modos em uma unica base de codigo.

Implicacoes para SEO e GEO

Indexacao imediata: o conteudo fica visivel na primeira passagem do Googlebot - sem esperar pela passagem de renderizacao adiada. A indexacao de novas paginas cai de dias para horas.

Compatibilidade com crawlers de IA: o GPTBot e similares nao executam JS. Sem SSR, o seu conteudo efetivamente nao existe para treinamento e busca de LLMs.

Melhoria dos Core Web Vitals: o LCP dispara quando o primeiro HTML chega, e nao depois que um bundle de JS e baixado e executado. FCP, LCP e TTI melhoram todos.

Meta tags confiaveis: Open Graph, snippets de busca e dados estruturados precisam estar na primeira resposta para serem confiaveis. A CSR envia meta tags vazias para Twitter, Facebook e outros bots de redes sociais.

Aprimoramento progressivo (progressive enhancement): o conteudo fica acessivel mesmo com o JS desabilitado, em redes lentas ou em dispositivos mais antigos.

Trade-offs da SSR

Custo de servidor mais alto: gerar HTML a cada requisicao consome CPU, memoria e infraestrutura. O cache de CDN e a ISR atenuam isso.

Possivel aumento do TTFB: logica pesada no servidor atrasa o time-to-first-byte. Consultas de banco de dados e APIs externas se tornam gargalos.

Complexidade: incompatibilidades de hidratacao, diferencas de ambiente entre servidor e cliente e invalidacao de cache adicionam custo de depuracao.

Limites de personalizacao: a SSR por usuario e dificil de cachear. O padrao e shell compartilhado + personalizacao no lado do cliente.

Hidratacao e Suas Armadilhas

Depois que a SSR entrega o HTML, o cliente o "hidrata" reanexando JavaScript para torna-lo interativo. O que pode dar errado:

Incompatibilidade de hidratacao: quando o HTML renderizado no servidor e a primeira renderizacao do cliente divergem, React/Vue emitem avisos - muitas vezes com flicker visivel ou comportamento quebrado.

Custo da hidratacao: hidratar uma pagina grande bloqueia a thread principal, prejudicando o INP. Hidratacao parcial, React Server Components e ilhas do Astro sao alternativas.

SSR ≠ bundles menores: a SSR nao encolhe o bundle do cliente. Ambos ainda precisam de otimizacao.

Quando Usar SSR

  • O conteudo depende de trafego de SEO/GEO (blogs, noticias, e-commerce, docs)
  • Dados especificos do usuario precisam estar na primeira pintura (dashboards personalizados)
  • Tags OG dinamicas importam para o compartilhamento em redes sociais
  • Voce esta mirando citacoes em busca de IA

Quando a SSR e Exagero

  • Dashboards autenticados (sem preocupacao com SEO)
  • Conteudo estatico - a SSG e mais rapida e barata
  • Sites minusculos - um unico arquivo HTML estatico e suficiente

Erros Comuns

Fazer SSR de tudo: o conteudo estatico e mais rapido e barato como SSG/ISR. Escolha o modo certo por rota.

Acessar APIs sem cache: buscas de dados a cada requisicao sem cache estouram o TTFB. Use SWR ou cabecalhos de cache.

Ignorar incompatibilidades de hidratacao: avisos no console indicam que o HTML que o Google viu difere do HTML do usuario - um risco de SEO.

Definir meta tags apenas no cliente: as meta tags precisam existir no head da resposta de SSR para que os bots as leiam.

Confiar nos padroes do framework: Next.js e Nuxt nem sempre escolhem o modo certo automaticamente. Defina-o explicitamente por rota.

Fontes: