Skip to content
Now accepting Q2 projects — limited slots available. Get started →
Migration Service

Migrate Eleventy (11ty) to Astro

Your Eleventy Site Runs Fine — Until You Need Real Components

  • Stop debugging Nunjucks — the project's maintainer abandoned it and Liquid's 11ty fork drops named arguments mid-template
  • Quit stitching asset pipelines — every Eleventy project demands manual PostCSS, esbuild, and Sharp plugin wiring before you write a line
  • Escape the data cascade maze — five merging data sources with implicit priority create bugs you can't trace without console logging globals
  • Ditch pseudo-components — template includes and shortcodes lack typed props, scoped CSS, or any hydration path for interactivity
  • Abandon the WebC dead end — introduced as '11ty's modern templating layer' but ignored by the ecosystem and unsupported by tooling
  • Break free from config fatigue — your `.eleventy.js` balloons to 200+ lines just to match what Astro ships by default
  • Ship typed components that compile to zero JavaScript — scoped CSS, slot composition, and props validation without runtime overhead
  • Catch content errors at build time — Zod-validated collections flag broken frontmatter and surface autocomplete in your editor before deploy
  • Stop configuring image optimization — responsive srcset, WebP/AVIF conversion, and lazy loading work in three lines of JSX with no plugins
  • Add interactivity without framework bloat — island architecture lets you drop React cart logic or a Svelte form into static pages, hydrating only what needs it
  • Delete your tooling setup — Vite dev server, instant HMR, CSS bundling, and TypeScript support run out of the box with zero config files
  • Keep your deploy speed and cut build time — your 90-second 11ty builds drop to sub-15 seconds while preserving full static output

Por que Migrar do Eleventy para Astro

Eleventy é um gerador de site estático sólido. É minimalista, rápido e respeita seu conteúdo mantendo-o em linguagens de template padrão. Se você vem rodando um site 11ty, provavelmente o escolheu exatamente por essas razões.

Então por que migrar?

Astro oferece tudo que Eleventy faz — zero JS por padrão, saída estática-first, builds rápidos — mais um modelo de componentes, otimização de assets integrada, coleções de conteúdo type-safe e suporte first-class para frameworks. Mesma filosofia, mas com uma experiência de desenvolvedor muito melhor.

Já migramos dezenas de sites Eleventy para Astro. É uma das transições mais suaves que fazemos porque os modelos mentais se alinham muito bem. Ambas as ferramentas respeitam a saída estática. Ambas enviam JavaScript mínimo. A diferença aparece quando você precisa de mais.

Os Pontos Críticos do Eleventy

Fragmentação de Linguagem de Template

Eleventy suporta HTML, Markdown, Nunjucks, Liquid, Handlebars, Mustache, EJS, Haml, Pug, WebC e linguagens customizadas. Isso é comercializado como flexibilidade. Na prática, cria fragmentação. Seus includes podem ser Nunjucks, seus layouts Liquid, seus arquivos de dados JavaScript. Novos desenvolvedores que entram no projeto gastam sua primeira semana apenas descobrindo qual linguagem de template faz o quê.

Nunjucks em si está efetivamente não mantido — o projeto Mozilla não vê atualizações significativas há anos. A implementação do Liquid no 11ty não suporta completamente argumentos nomeados. WebC foi introduzido como uma alternativa moderna mas não ganhou adoção ampla.

Pipeline de Assets Manual

Eleventy deliberadamente não lida com CSS, JavaScript ou otimização de imagens. Você configura seu próprio pipeline de build — tipicamente PostCSS, esbuild ou Vite, e o plugin eleventy-img. Poderoso se você sabe o que está fazendo, mas todo projeto começa com configuração significativa de tooling antes de você escrever uma única linha de conteúdo.

A Complexidade da Cascata de Dados

A cascata de dados do 11ty é poderosa mas opaca. Dados fluem de arquivos de dados globais, arquivos de dados de diretório, frontmatter de template, dados computados e arquivos de dados JavaScript — tudo se mesclando em uma ordem de prioridade específica. Debugar problemas de dados significa entender a cascata inteira. Causa confusão até em desenvolvedores experientes.

Nenhum Modelo de Componentes

Eleventy usa includes e shortcodes para UI reutilizável. Esses funcionam, mas não são componentes. Você não pode passar props tipadas, colocar estilos juntos ou progressivamente aprimorar elementos de UI específicos com interatividade client-side sem construir uma solução customizada do zero.

O que Astro Oferece

Componentes Reais, Zero Runtime

Componentes Astro parecem HTML com um bloco de script frontmatter. Suportam props tipadas, estilos com escopo e composição baseada em slots. Compilam para zero JavaScript por padrão — igual aos seus templates Nunjucks, mas com um modelo de componentes real por trás.

---
interface Props {
  title: string;
  date: Date;
}
const { title, date } = Astro.props;
---
<article>
  <h2>{title}</h2>
  <time datetime={date.toISOString()}>{title}</time>
  <slot />
</article>
<style>
  article { /* scoped automatically */ }
</style>

Coleções de Conteúdo com Type Safety

As coleções de conteúdo do Astro substituem a cascata de dados do 11ty com um sistema validado por schema, type-safe. Você define seu schema de conteúdo usando Zod, e Astro valida cada peça de conteúdo no tempo de build. Sem mais surpresas de campos de frontmatter faltantes descobertos em produção.

const blog = defineCollection({
  schema: z.object({
    title: z.string(),
    date: z.date(),
    tags: z.array(z.string()).optional(),
    draft: z.boolean().default(false),
  }),
});

Isso substitui a cascata de dados implícita por schemas explícitos e validados. Seu IDE autocompleta campos de conteúdo. Erros de build capturam dados faltantes antes do deployment.

Otimização de Assets Integrada

Astro lida com bundling de CSS, processamento de JavaScript e otimização de imagens fora da caixa. O componente <Image /> gera imagens responsivas com srcset apropriado, converte para WebP/AVIF e lida com lazy loading — nenhuma configuração de plugin necessária.

Framework Islands Quando Você Precisa

Precisa de interatividade client-side — um widget de busca, um gráfico interativo, um formulário com validação? A arquitetura de ilhas do Astro deixa você dropar componentes React, Svelte, Vue ou Solid que hidratam independentemente. Com Eleventy, cada elemento interativo requer bundling de JavaScript customizado. Você constrói essa infraestrutura você mesmo.

Nosso Processo de Migração

Fase 1: Auditoria e Arquitetura (Semana 1)

Analisamos sua estrutura de projeto 11ty existente — linguagens de template em uso, dependências de cascata de dados, shortcodes, plugins e filtros customizados. Cada template Nunjucks/Liquid é mapeado para seu equivalente em componente Astro, e documentamos o fluxo de dados completo antes de escrever uma linha de novo código.

Fase 2: Migração de Conteúdo (Semana 1-2)

Seu conteúdo Markdown é transferido diretamente — Astro lê o mesmo formato de frontmatter. Definimos schemas Zod baseados em seus padrões de frontmatter existentes e configuramos coleções de conteúdo. Se você está usando dados computados do 11ty ou arquivos de dados JavaScript, convertemos para padrões de carregamento de dados do Astro.

A conversão de templates segue padrões previsíveis:

Eleventy Astro
{% include "header.njk" %} <Header />
{% block content %}{% endblock %} <slot />
{{ variable | filter }} {variable} com transformações JS
{% for item in collection %} {collection.map(item => ...)}
Shortcodes Componentes Astro
_data/ dados globais Astro.glob() ou coleções de conteúdo

Fase 3: Design e Construção de Componentes (Semana 2-3)

Reconstruímos seus templates como componentes Astro com estilos com escopo. É aqui que a atualização compensa. Templates que eram includes Nunjucks desconfortáveis se tornam unidades limpas, tipadas e composáveis. Implementamos imagens responsivas, otimizamos fontes e adicionamos quaisquer ilhas interativas que seu site precise.

Fase 4: Testing e Verificação de SEO (Semana 3-4)

Auditorias completas de Lighthouse. Cada URL validada contra seu sitemap existente. Redirects testados. Dados estruturados verificados. Checamos que RSS feeds, meta tags sociais e URLs canônicas todos combinem seu setup existente antes de qualquer coisa ir live.

Estratégia de Preservação de SEO

Tanto Eleventy quanto Astro geram HTML estático, o que torna a migração de SEO muito mais simples que migrar de um framework client-rendered. Aqui está o que especificamente cuidamos:

  • Paridade de URL: Mapeamos cada URL existente e garantimos caminhos idênticos em Astro. Se seu site 11ty usa estruturas de permalink customizadas, replicamos exatamente.
  • Redirects 301: Para qualquer URL que deva mudar, configuramos redirects apropriados no nível de hosting.
  • Geração de Sitemap: A integração @astrojs/sitemap do Astro gera um sitemap preciso automaticamente.
  • Meta tags: Todas as title tags, meta descriptions, tags Open Graph e dados estruturados transferem para o gerenciamento <head> do Astro.
  • Ganhos de Performance: A otimização de imagens integrada e o bundling de assets tipicamente melhoram Core Web Vitals, que alimenta rankings de busca.

Timeline e Preços

Migrações Eleventy para Astro estão entre as mais rápidas. Transferências de conteúdo com mudanças mínimas, e conversão de templates segue padrões mecânicos. As filosofias são próximas o suficiente que não há repensamento fundamental necessário.

  • Sites pequenos (menos de 20 templates, blog/docs): 2-3 semanas, começando em R$ 20.000
  • Sites médios (20-50 templates, múltiplos tipos de conteúdo): 3-5 semanas, começando em R$ 40.000
  • Sites grandes (50+ templates, relacionamentos de dados complexos, recursos interativos): 5-8 semanas, começando em R$ 75.000

Cada migração começa com uma auditoria gratuita — avaliamos seu setup 11ty atual e produzimos um documento de escopo detalhado. Sem surpresas.

How It Works

The migration process

01

Discovery & Audit

We map every page, post, media file, redirect, and plugin. Nothing gets missed.

02

Architecture Plan

New stack designed for your content structure, SEO requirements, and performance targets.

03

Staged Migration

Content migrated in batches. Each batch verified before the next begins.

04

SEO Preservation

301 redirects, canonical tags, sitemap, robots.txt — every ranking signal carried over.

05

Launch & Monitor

DNS cutover with zero downtime. 30-day monitoring period included.

Before vs After

Eleventy (11ty) vs Astro

Metric Eleventy (11ty) Astro
Lighthouse Mobile 70-85 95-100
TTFB 0.3-0.8s <0.2s
Asset Pipeline Setup Manual (PostCSS, esbuild, eleventy-img) Built-in (Vite, <Image />)
Hosting Cost $0-20/mo $0-20/mo
Content Type Safety None (implicit data cascade) Full (Zod schema validation)
Component Model Includes + shortcodes Typed components with scoped styles + framework islands
FAQ

Common questions

Posso manter meu conteúdo Markdown existente ao migrar do Eleventy para Astro?

Sim. Astro lê Markdown e MDX padrão com frontmatter YAML — o mesmo formato que Eleventy usa. Seus arquivos de conteúdo são transferidos diretamente. Definimos schemas Zod para validar seu frontmatter no tempo de build, o que captura qualquer inconsistência que seu site 11ty pode ter sido silenciosamente ignorando.

Como as coleções de conteúdo do Astro se comparam à cascata de dados do 11ty?

As coleções de conteúdo do Astro são explícitas e type-safe. Em vez da mesclagem implícita de arquivos de dados globais, dados de diretório e frontmatter do 11ty, você define schemas com validação Zod. Seu IDE autocompleta nomes de campos. Builds falham se o conteúdo não corresponder ao schema. É mais estruturado, mas muito mais fácil de debugar quando algo dá errado.

Meus URLs vão mudar ao migrar do Eleventy para Astro?

Não se a gente cuidar corretamente. Astro suporta roteamento baseado em arquivo e rotas customizadas que podem replicar qualquer estrutura de permalink do Eleventy. Mapeamos cada URL existente durante a fase de auditoria e garantimos paridade 1:1. Qualquer URL que deva mudar recebe redirects 301 apropriados configurados no nível de hosting.

Astro é realmente mais rápido que Eleventy para sites estáticos?

Os tempos de build são comparáveis para sites com muito conteúdo — ambos são geradores de site estático rápidos. A verdadeira diferença aparece na saída. A otimização de imagens integrada do Astro, bundling de CSS e hashing automático de assets produzem melhores scores de Lighthouse sem o setup manual de tooling que Eleventy requer. Espere scores Lighthouse 90-100 fora da caixa.

O que acontece com meus shortcodes e filtros do Eleventy?

Shortcodes se tornam componentes Astro com props tipadas — uma atualização genuína. Filtros Nunjucks/Liquid se convertem em funções JavaScript padrão chamadas diretamente no frontmatter do Astro ou expressões de template. A lógica permanece a mesma. A sintaxe fica mais limpa e mais fácil de manter.

Posso adicionar componentes React ou Svelte ao meu site Astro após a migração?

Absolutamente. A arquitetura de ilhas do Astro deixa você adicionar componentes React, Svelte, Vue, Solid ou Preact que hidratam independentemente. Essa é uma das maiores melhorias em relação ao Eleventy — aprimoramento progressivo com componentes de framework, sem enviar um runtime client-side completo para cada página.

Ready to migrate?

Free assessment. We'll audit your current site and give you a clear migration plan — no commitment.

Get your free assessment →
Get in touch

Let's build
something together.

Whether it's a migration, a new build, or an SEO challenge — the Social Animal team would love to hear from you.

Get in touch →