Geradores de sites estáticos

Como Hugo, Jekyll, Eleventy, Hexo, Gatsby e Astro pré-geram todas as páginas como HTML estático — evitando a fila de renderização de JS do Google para que o conteúdo seja indexável já na primeira busca.

1 sinal de evidência nesta página

Um gerador de sites estáticos (SSG) cria todas as páginas como HTML pronto durante o build, portanto seu conteúdo já está no HTML bruto antes mesmo de um rastreador solicitá-lo — sem fila de renderização de JavaScript, sem atraso da Wave 2 e imediatamente indexável. Essa é a principal vantagem de SEO sobre frameworks client-side. Hugo, Jekyll, Eleventy, Hexo, Gatsby e Astro compartilham essa característica; eles diferem na linguagem, na quantidade de JS enviada ao navegador e nas ferramentas integradas de imagens e sitemap. O único problema real é a atualização do build: um site estático só está tão atualizado quanto seu último build, por isso as alterações de conteúdo precisam de um novo build e uma nova implantação para chegar aos mecanismos de busca. Criei este site (e o patrickstox.com) com Astro exatamente por esses motivos.

TL;DR — Um SSG pré-renderiza cada rota como HTML estático durante o build, então o conteúdo já existe na resposta antes da primeira solicitação do rastreador — sem Web Rendering Service, sem fila de renderização e sem atraso da “Wave 2”. Essa é a maior vantagem de indexabilidade que você pode oferecer a um site. SSGs diferem de frameworks CSR (que montam a página no navegador) e de meta-frameworks (que podem fazer SSR a cada solicitação). Os seis deste cluster — Hugo, Jekyll, Eleventy, Hexo, Gatsby e Astro — entregam HTML estático; eles variam em linguagem, carga de JS e ferramentas integradas de sitemap e imagens. O verdadeiro modo de falha não é a renderização, mas a atualização do build: um site estático só está tão atualizado quanto seu último build, portanto, uma alteração de conteúdo que não acione um novo build serve silenciosamente HTML desatualizado aos mecanismos de busca. Uso Astro neste site exatamente por esse conjunto de concessões.

O que “estático” realmente significa

Um gerador de sites estáticos passa seu conteúdo e seus templates por uma etapa de build e gera uma pasta com HTML, CSS e ativos prontos. A parte crucial para o SEO é quando o HTML é produzido: durante o build, uma vez, para todos — não a cada solicitação nem no navegador. A orientação do Google sobre JavaScript descreve rastreamento, renderização e indexação como etapas distintas de processamento. Um SSG remove a renderização client-side do caminho crítico do conteúdo gerado porque o HTML já está completo. Evidência desta afirmação Google processes JavaScript through crawling, rendering, and indexing, while pre-rendered HTML is present before client execution. Escopo: Google Search JavaScript processing; indexing is not guaranteed. Confiança: alta · Verificado: Google: JavaScript SEO basics

É por isso que sites estáticos são a arquitetura mais segura possível para conseguir indexação. O conteúdo está no primeiro byte da resposta. Não há diferença de paridade entre o HTML bruto e o renderizado, nem dependência do sucesso do renderizador, nem peculiaridades do Chrome sem estado que precisem ser contornadas no projeto.

SSG vs. renderização client-side vs. meta-frameworks

Três arquiteturas, três momentos diferentes em que o HTML passa a existir:

  • Geração de site estático (SSG). O HTML é criado uma vez, durante o build, antes de qualquer solicitação. É servido como arquivos simples (muitas vezes por uma CDN). O conteúdo está no HTML bruto. É o caso de Hugo, Jekyll, Eleventy e Hexo — além de Gatsby e Astro em seu modo estático padrão.
  • Renderização client-side (CSR). O servidor envia uma estrutura mínima; o JavaScript monta a página no navegador durante a solicitação/execução. O conteúdo depende do sucesso da renderização. É o caso de uma SPA em React ou Vue com CSR padrão — a configuração mais arriscada para SEO (consulte SEO para JavaScript).
  • Meta-frameworks (SSR/híbrido). Frameworks como Next.js, Nuxt e SvelteKit podem renderizar HTML a cada solicitação no servidor (SSR), pré-renderizar algumas rotas (SSG) ou combinar os dois. O conteúdo está no HTML, mas é produzido no momento da solicitação, o que acrescenta custo de servidor e latência que não existem com um SSG puro.

A distinção fica menos nítida nas bordas — Gatsby e Astro às vezes são chamados de meta-frameworks porque são baseados em componentes e podem fazer mais do que gerar arquivos simples. Mas, no modo mais comum, são geradores estáticos, e é assim que você deve tratá-los para SEO. O modelo mental que importa: quanto antes o HTML existir, menos coisas poderão dar errado antes que um rastreador o veja. SSG é a opção mais antecipada.

Comparação entre os seis geradores

Todos os seis produzem HTML estático indexável. Veja como eles diferem nos aspectos que realmente afetam uma decisão de SEO:

GeradorLinguagem/em que foi criadoJS enviado ao navegadorSitemapOtimização de imagensMelhor para
HugoGoNenhum por padrãoIntegrado (sitemap.xml gerado automaticamente)Processamento de imagens integrado (redimensionamento, WebP)Sites grandes de conteúdo que precisam de builds rápidos
JekyllRubyNenhum por padrãoPlugin (jekyll-sitemap)Plugins (jekyll-picture-tag etc.)Blogs no GitHub Pages; o SSG original
Eleventy (11ty)JavaScript (Node)Nenhum por padrãoTemplate/plugin (você o gera)Plugin (@11ty/eleventy-img)Pessoas que desenvolvem em JS e querem saída sem JS e flexibilidade
HexoJavaScript (Node)Nenhum por padrão (depende do tema)Plugin (hexo-generator-sitemap)PluginsBlogs, especialmente no ecossistema Node/Ásia
GatsbyJavaScript/ReactBundle do React (hidrata)Plugin (gatsby-plugin-sitemap)Integrada (gatsby-plugin-image, robusta)Equipes de React que querem um site estático orientado por dados
AstroJS/TS, qualquer framework de UINenhum por padrão (somente ilhas)Oficial (@astrojs/sitemap)Integrada (astro:assets)Sites de conteúdo que querem componentes sem o custo do JS

Alguns pontos dessa tabela merecem destaque:

  • A carga de JS é o diferencial relacionado ao SEO. Hugo, Jekyll, Eleventy e Hexo praticamente não enviam JavaScript, a menos que você o adicione. O Gatsby reidrata um bundle completo do React no cliente — continua indexável (o HTML é estático), mas tem um custo de Core Web Vitals que os outros não têm. O Astro fica no meio-termo com a arquitetura de ilhas: HTML estático por padrão e JavaScript somente para os componentes interativos específicos (“ilhas”) que precisam dele.
  • A velocidade do build escala de maneiras diferentes. Hugo (Go) é famoso pela rapidez e lida tranquilamente com dezenas de milhares de páginas. Os geradores baseados em Node ficam mais lentos em grande escala, e os tempos de build do Gatsby historicamente são sua maior fonte de reclamações.
  • Sitemaps e otimização de imagens estão praticamente resolvidos em todos — mas Hugo e Astro oferecem mais recursos prontos, enquanto Jekyll, Eleventy e Hexo dependem de plugins (bem mantidos).
  • A cadência de lançamentos do Gatsby diminuiu de forma perceptível. O projeto não está arquivado e ainda lança correções, mas, em julho de 2026, seu repositório no GitHub mostrava apenas alguns commits nos 90 dias anteriores e uma versão secundária desde fevereiro. Vale ponderar isso frente a uma opção desenvolvida mais ativamente se você estiver escolhendo um gerador hoje, além do custo de hidratação/CWV mencionado acima.

Por que criei este site com Astro

Criei este site — e o patrickstox.com — com Astro, e o raciocínio vem diretamente desta página. Eu queria escrever em Markdown/MDX com componentes de verdade, mas não queria pagar o custo do JavaScript em todas as páginas só para tê-los. O padrão do Astro é não enviar JS client-side: as páginas que você está lendo são entregues como HTML estático, e o único JavaScript carregado é o necessário para os poucos elementos interativos (como as abas de lentes e o quiz). Isso me dá a indexabilidade de um SSG clássico e bons Core Web Vitals, sem abrir mão de uma experiência de autoria baseada em componentes. Se eu precisasse de builds extremamente rápidos para um conjunto enorme de conteúdo sem nenhuma interatividade, Hugo seria a escolha óbvia; para uma camada de dados em React, Gatsby. Para este caso — um site com muito conteúdo e alguns detalhes interativos — Astro é a concessão certa.

O único problema real: atualização do build

Tudo o que foi dito acima é vantagem. Agora vem o porém que surpreende muita gente.

Um site estático só está tão atualizado quanto seu último build. O HTML é um retrato congelado durante o build. Alterar um preço, corrigir um fato, publicar um post ou atualizar uma tag de título — nada disso chega aos mecanismos de busca até que você gere e implante novamente. Não há um servidor ativo montando a página a partir de um banco de dados a cada solicitação, então nada aplica sua alteração automaticamente. Evidência desta afirmação Static build output remains a snapshot until the project is rebuilt and redeployed. Escopo: Astro static build workflow as a representative example. Confiança: alta · Verificado: Astro: Build and deploy

Na prática, isso significa:

  • Edições de conteúdo precisam acionar um build. Se você trabalha em um CMS headless ou no Git, configure um webhook para que a publicação inicie uma implantação. Um processo de build apenas manual é como preços desatualizados e erros 404s “fantasmas” entram no índice.
  • Dados que mudam com frequência são complicados. Estoque, preços, contagens em tempo real — se algo muda mais rápido do que seus builds, a cópia estática fica para trás. É aí que builds incrementais, builds agendados ou uma abordagem híbrida (um meta-framework com SSR/ISR para as rotas voláteis) mostram seu valor.
  • Páginas sensíveis ao tempo precisam de uma cadência. Se as “ofertas de hoje” são incorporadas durante o build, o build precisa ser executado pelo menos diariamente, ou a página fica incorreta.

Nada disso impede o uso — é uma disciplina. O mesmo motivo pelo qual SSGs são ótimos para SEO (HTML definido antecipadamente) é o motivo pelo qual você precisa deliberadamente redefini-lo quando o conteúdo muda.

Próximo passo: o cluster de geradores de sites estáticos

Este hub é o mapa. Cada gerador abaixo tem sua própria análise detalhada — linguagem, carga de JS, ferramentas de sitemap/imagens, peculiaridades de SEO específicas do framework e como manter os builds atualizados:

  • SEO para Hugo — baseado em Go, sem JS e com builds extremamente rápidos; o sitemap gerado automaticamente, o processamento de imagens integrado e o gerenciamento de conjuntos enormes de conteúdo.
  • SEO para Jekyll — o SSG original e o padrão do GitHub Pages; jekyll-seo-tag, jekyll-sitemap e a limitação de plugins no GitHub Pages.
  • SEO para Eleventy (11ty) — baseado em JavaScript, com saída sem JS; geração de sitemaps a partir de templates e eleventy-img para imagens responsivas.
  • SEO para Hexo — o gerador de blogs em Node; plugins de sitemap/feed, JS do tema e higiene de permalink/canonical.
  • SEO para Gatsby — geração estática baseada em React; a concessão entre hidratação e CWV, gatsby-plugin-image, gatsby-plugin-sitemap e obtenção de dados durante o build.
  • SEO para Astro — sem JS por padrão, arquitetura de ilhas, @astrojs/sitemap, astro:assets, View Transitions e comportamento de fallback de Server Islands.

Todos os tópicos acima estão agrupados neste hub e também aparecem na barra lateral.

Para ver o contexto mais amplo — como o Google renderiza JavaScript, os modos de falha de paridade e interação e qual modo de renderização escolher quando você realmente precisa de JS —, consulte o hub principal SEO para JavaScript.

Adicionar uma nota de especialista

Fixar uma citação de especialista

É uma pessoa nova? Crie o perfil não reivindicado dela em /admin/experts/ → Fixar uma citação de especialista primeiro.