Neste artigo
- O que é um gerador de sites estáticos (SSG)
- Por que o Eleventy
- Como instalar e rodar o Eleventy
- Templates e layouts
- Dados globais na pasta _data
- Coleções: listas de posts e páginas
- Milhares de páginas com paginação
- Publicar com GitHub e Cloudflare Pages
- Quando o Eleventy não é a escolha certa
- Em outros Mundos
O que é um gerador de sites estáticos (SSG)
SSG é a sigla em inglês para static site generator. O gerador roda no seu computador ou no servidor de build, não na visita do leitor. Quando alguém abre a página, o HTML já está pronto.
Isso muda a conta de velocidade e segurança. Não há consulta a banco a cada acesso, nem painel exposto na internet. O conceito está detalhado em sites estáticos.
A diferença para o HTML escrito à mão é a repetição. Num site de 5 páginas, copiar o cabeçalho não pesa. Num site de 300, cada mudança no menu viraria 300 edições. O gerador resolve isso com layouts.
| Abordagem | Como a página nasce | Quando faz sentido |
|---|---|---|
| HTML à mão | Você escreve cada arquivo completo | Até 10 ou 20 páginas que mudam pouco |
| Gerador de sites estáticos | Layout mais conteúdo, montados no build | Blogs, catálogos, sites de dezenas a milhares de páginas |
| CMS com banco (WordPress) | Página montada a cada visita, com cache | Equipe que publica pelo painel visual |
| Construtor visual | Arrasta e solta numa plataforma | Quem não quer ver código e aceita ficar na plataforma |
Por que o Eleventy
O Eleventy é um gerador simples de começar e flexível para crescer. A documentação oficial informa que a versão 3.1.8 precisa de Node.js 18 ou mais recente. Ele não impõe framework de JavaScript no navegador: a página sai como HTML puro.
Outro ponto é a variedade de linguagens. A documentação lista HTML, Markdown, JavaScript, WebC, Nunjucks, Liquid, Handlebars, Mustache, EJS, HAML, Pug e Sass. Na prática, a dupla mais usada é Markdown para o texto e Nunjucks para o layout.
Como instalar e rodar o Eleventy
Antes, instale o Node.js no computador. Depois, os comandos da documentação oficial são estes:
mkdir meu-site
cd meu-site
npm init -y
npm install @11ty/eleventy
npx @11ty/eleventy
npx @11ty/eleventy --serve
- Crie a pasta do projeto e entre nela.
- Inicie o projeto com npm init -y.
- Instale o Eleventy com npm install @11ty/eleventy.
- Crie um arquivo index.md com um título e um parágrafo.
- Rode npx @11ty/eleventy --serve e abra o endereço que aparece no terminal.
O site gerado vai para a pasta _site, que é a saída padrão. Não edite nada lá dentro: o Eleventy recria a pasta a cada build. Build é o processo de gerar os arquivos finais.
Templates e layouts
Template é qualquer arquivo que o Eleventy transforma em página. Layout é o molde que envolve o conteúdo: cabeçalho, menu e rodapé escritos uma vez.
O layout fica na pasta _includes. O conteúdo indica qual layout usar no front matter, o bloco entre traços no topo do arquivo.
<!-- _includes/base.njk -->
<!doctype html>
<html lang="pt-BR">
<head>
<meta charset="utf-8">
<title>{{ title }}</title>
</head>
<body>
<header><a href="/">Minha Empresa</a></header>
<main>{{ content | safe }}</main>
</body>
</html>
---
layout: base.njk
title: Nossos serviços
---
Atendemos residências e empresas.
O Eleventy junta os dois e gera _site/servicos/index.html, se o arquivo se chamar servicos.md. Mudou o rodapé? Você edita só o base.njk.
Dados globais na pasta _data
A pasta _data guarda os dados que todos os modelos enxergam. Segundo a documentação, cada arquivo JSON ou JavaScript ali vira uma variável com o nome do arquivo.
{
"nome": "Minha Empresa",
"cidade": "Goiânia",
"whatsapp": "Link do botão"
}
Salvo como _data/empresa.json, esse conteúdo aparece em qualquer modelo como empresa.nome ou empresa.cidade. Trocou o endereço? Você muda num arquivo e o site inteiro atualiza no próximo build.
O MundoBlá recebe uma comissão da HostGator quando você contrata a hospedagem pelo nosso link, sem custo extra para você. Se o projeto usa gerador ou HTML direto, isso entra no escopo combinado no WhatsApp.
Coleções: listas de posts e páginas
Coleção é um grupo de páginas que você pode listar num modelo. No Eleventy, ela nasce do campo tags. A documentação explica que cada valor de tags vira uma coleção, e que existe também collections.all, com todo o conteúdo.
---
title: Meu primeiro post
tags: post
---
Para listar todos os posts numa página de blog, o loop em Nunjucks fica assim:
<ul>
{%- for post in collections.post -%}
<li><a href="{{ post.url }}">{{ post.data.title }}</a></li>
{%- endfor -%}
</ul>
Uma página pode estar em mais de uma coleção ao mesmo tempo. Basta listar mais de uma tag.
As tags no Eleventy servem para montar coleções, não para criar hierarquia. Se você quer categorias com página própria, como /blog/receitas/, combine a coleção com a paginação da seção seguinte. Assim cada categoria ganha a sua lista de posts gerada sozinha.
Uma dica de organização: use uma tag fixa para o tipo de conteúdo (post, servico, caso) e outras para o assunto. A listagem do blog lê só a coleção post, e a página de serviços lê só servico. Fica fácil mudar o layout de um grupo sem mexer nos outros.
Milhares de páginas com paginação
A paginação é o recurso que faz o Eleventy gerar páginas em lote a partir de dados. Você aponta o modelo para uma lista, define quantos itens vão em cada página com size e dá um nome ao item com alias. O permalink usa esse nome para criar uma URL por item.
---
pagination:
data: cidades
size: 1
alias: cidade
permalink: "atendimento/{{ cidade.slug }}/index.html"
---
<h1>Atendimento em {{ cidade.nome }}</h1>
Com um _data/cidades.json de 200 itens, saem 200 páginas. É assim que portais criam catálogos, glossários e páginas por cidade. Cuidado: página em lote com texto quase igual é vista como conteúdo raso. Escreva algo próprio para cada item.
Publicar com GitHub e Cloudflare Pages
O projeto Eleventy vai para um repositório do GitHub, onde fica o histórico de cada mudança. O passo a passo está em GitHub para criar sites.
Depois você conecta o repositório à Cloudflare Pages. O guia oficial da Cloudflare para Eleventy indica o comando de build npx @11ty/eleventy e a pasta de saída _site. A cada push, a Cloudflare gera e publica o site, e cada ramo ganha uma URL de pré-visualização.
| Limite da Cloudflare Pages (plano grátis) | Valor | Fonte |
|---|---|---|
| Builds por mês | 500 | Pages Limits |
| Builds ao mesmo tempo | 1 | Pages Limits |
| Tempo máximo de build | 20 minutos | Pages Limits |
| Arquivos por site | 20.000 | Pages Limits |
| Tamanho máximo por arquivo | 25 MiB | Pages Limits |
Os 20.000 arquivos contam imagens, CSS e JavaScript, não só páginas. Num site com milhares de páginas e imagens, faça a conta antes. A comparação de hospedagens está em GitHub Pages ou Cloudflare Pages, e a configuração em Cloudflare Pages.
Quando o Eleventy não é a escolha certa
Se quem publica é uma equipe sem contato com código, o fluxo de Markdown e Git vira barreira. Nesse caso, um CMS com painel ou um painel headless ligado ao gerador pode servir melhor. As opções estão em alternativas ao WordPress.
Se o site tem 5 páginas fixas, o gerador pode ser exagero. O passo a passo do site em HTML resolve com menos ferramenta.
Para começar pelo mapa do tema, veja a resposta curta sobre o Mundo Criação de Sites. A resposta sobre sites sem banco de dados completa o raciocínio, e outras dúvidas têm resposta na página inicial.
Para entender a filosofia por trás do Eleventy, do GitHub e da Cloudflare juntos, volte ao guia Web livre.
Em outros Mundos
O JavaScript e o Node.js usados no Eleventy são tema do Mundo Programação. Para levar as páginas geradas ao topo do Google, passe pelo Mundo SEO.
Perguntas frequentes
O que é um gerador de sites estáticos?
Gerador de sites estáticos é um programa que junta modelos e conteúdo e produz arquivos HTML prontos antes da publicação. O servidor só entrega esses arquivos, sem montar a página a cada visita. Em inglês, a sigla é SSG, de static site generator. Eleventy, Hugo e Jekyll são exemplos.
O que é o Eleventy?
Eleventy, também chamado de 11ty, é um gerador de sites estáticos escrito em JavaScript. Ele transforma arquivos Markdown, HTML, Nunjucks, Liquid e outros formatos em páginas HTML. A documentação oficial informa que a versão 3.1.8 roda com Node.js 18 ou mais recente.
Qual a diferença entre site estático e gerador de sites estáticos?
Site estático é o resultado: arquivos HTML, CSS e JavaScript prontos. O gerador é a ferramenta que cria esses arquivos a partir de modelos e conteúdo. Você pode ter site estático escrito à mão, sem gerador. O gerador entra quando o número de páginas cresce e repetir cabeçalho vira trabalho.
Preciso saber programar para usar o Eleventy?
Precisa de noção de HTML e do terminal, e um pouco de JavaScript ajuda. Para começar, basta instalar o Node.js, rodar os comandos da documentação e escrever arquivos Markdown. A parte mais técnica aparece quando você cria filtros, coleções personalizadas e dados vindos de API.
Como instalar o Eleventy?
Crie uma pasta, rode npm init -y e depois npm install @11ty/eleventy. Para gerar o site, use npx @11ty/eleventy; para ver no navegador com atualização automática, npx @11ty/eleventy --serve. Antes, confira se o Node.js instalado é a versão 18 ou mais nova.
Onde o Eleventy coloca o site pronto?
Na pasta _site, que é a saída padrão segundo a documentação oficial. É essa pasta que vai para a hospedagem. Você pode mudar o nome na configuração. Não edite nada dentro de _site, porque o Eleventy apaga e recria os arquivos a cada build.
O que são coleções no Eleventy?
Coleção é um grupo de páginas que você pode listar num modelo. O Eleventy cria uma coleção para cada valor do campo tags no front matter. Uma página com tags: post entra em collections.post. Existe também collections.all, com todo o conteúdo do site.
Como o Eleventy cria milhares de páginas a partir de dados?
Pela paginação. Você aponta um modelo para uma lista de dados, define size: 1 e um permalink com o nome de cada item. O Eleventy gera uma página para cada item da lista. É o recurso usado em catálogos, páginas de cidade e glossários.
O que é a pasta _data?
É a pasta de dados globais. Cada arquivo JSON ou JavaScript dentro dela vira uma variável disponível em todos os modelos, com o nome do arquivo. O arquivo _data/servicos.json aparece como servicos. É o lugar de telefone, endereço, menu e listas que se repetem.
Eleventy é melhor que WordPress?
Depende do site. O Eleventy entrega páginas rápidas, sem banco de dados nem plugin para atualizar. O WordPress oferece painel visual e edição por quem não mexe em código. Para blog institucional mantido por quem conhece Git, o Eleventy costuma compensar. Para equipe que só usa painel, nem sempre.
Quais linguagens de modelo o Eleventy aceita?
A documentação lista HTML, Markdown, JavaScript, WebC, Nunjucks, Liquid, Handlebars, Mustache, EJS, HAML, Pug e Sass, além de tipos personalizados. Você pode misturar linguagens no mesmo projeto. Para quem está começando, Markdown no conteúdo e Nunjucks no layout é a dupla mais comum.
Como publicar um site Eleventy na Cloudflare Pages?
Guarde o projeto num repositório do GitHub e conecte o repositório à Cloudflare Pages. Use o comando de build npx @11ty/eleventy e a pasta de saída _site, como indica o guia da Cloudflare. A cada push, a Cloudflare gera e publica o site sozinha.
Quantas páginas cabem num site Eleventy na Cloudflare Pages?
O limite não é do Eleventy, e sim da hospedagem. Segundo a documentação da Cloudflare, o plano grátis da Pages aceita até 20.000 arquivos por site. Imagens e arquivos CSS também contam. Sites maiores pedem plano pago ou outra forma de publicação.
O build do Eleventy pode demorar demais?
Em sites grandes, sim, principalmente com imagens processadas no build. A Cloudflare Pages encerra o build depois de 20 minutos, segundo a página de limites. Para evitar, otimize imagens antes, use cache e evite chamar API lenta a cada build.
Dá para ter formulário num site feito com Eleventy?
Dá, mas o Eleventy não processa o envio, porque ele só gera HTML. O formulário aponta para uma função na Cloudflare ou para um serviço externo. O guia de Cloudflare Workers do MundoBlá mostra um exemplo de formulário de contato com poucas linhas.
Posso migrar posts do WordPress para o Eleventy?
Pode. Você exporta o conteúdo do WordPress, converte cada post em arquivo Markdown com front matter e mantém o permalink igual ao antigo. Assim, as URLs não mudam. Revise imagens, links internos e redirecionamentos antes de apontar o domínio para o site novo.
O MundoBlá cria sites com Eleventy?
O MundoBlá cria o site em HTML puro sem cobrar pela criação, na condição de você contratar a hospedagem anual da HostGator pelo nosso link. Se o projeto pede gerador estático ou HTML escrito direto, isso é definido no escopo combinado no WhatsApp antes de começar.
Fontes e data de verificação
Eleventy: Get Started, Eleventy: Collections, Eleventy: Global Data Files, Eleventy: Pagination, Cloudflare Docs: Deploy an Eleventy site, Cloudflare Docs: Pages Limits, Cloudflare Docs: Git integration. Conferido em 5 de novembro de 2026.Referências
- Eleventy: Get Started. Disponível em: https://www.11ty.dev/docs/.
- Eleventy: Collections. Disponível em: https://www.11ty.dev/docs/collections/.
- Eleventy: Global Data Files. Disponível em: https://www.11ty.dev/docs/data-global/.
- Eleventy: Pagination. Disponível em: https://www.11ty.dev/docs/pagination/.
- Cloudflare Docs: Deploy an Eleventy site. Disponível em: https://developers.cloudflare.com/pages/framework-guides/deploy-an-eleventy-site/.
- Cloudflare Docs: Pages Limits. Disponível em: https://developers.cloudflare.com/pages/platform/limits/.
- Cloudflare Docs: Pages Git integration. Disponível em: https://developers.cloudflare.com/pages/configuration/git-integration/.
Fontes conferidas em 05 de novembro de 2026.