O EmDash é um substituto real do WordPress?
O EmDash pode substituir o WordPress? Compare a segurança dos plugins, a hospedagem, a migração e as limitações para saber quais sites podem mudar.
O EmDash já pode substituir o WordPress em sites focados em conteúdo, com necessidades modestas de plugins e uma equipe que se sinta à vontade desenvolvendo em Astro. Mas ainda não é um substituto direto para sites que dependem de temas em PHP, de plugins específicos do WordPress ou de extensões pagas.
Todo cliente que já teve um site WordPress comprometido por causa de um plugin já perguntou se existe uma opção mais segura. Quando o EmDash chegou à versão 1.0 com o slogan “sucessor espiritual do WordPress”, muitas agências voltaram a fazer essa pergunta.
Este artigo compara o EmDash e o WordPress em quatro pontos: o modelo de segurança de plugins, os requisitos de hospedagem, a migração e aquilo de que você abre mão.
Principais conclusões
- O EmDash 1.0 é um CMS com licença MIT construído sobre o Astro. A Cloudflare o lançou em 28 de setembro de 2026, e ele roda no Cloudflare Workers ou em qualquer servidor Node.js.
- Um plugin do EmDash em sandbox começa apenas com seu próprio armazenamento privado. Ele só pode acessar conteúdo, mídia, usuários ou a rede depois de declarar essa necessidade e de um administrador aprová-la.
- Na Cloudflare, plugins em sandbox exigem um plano Workers Paid e um binding Worker Loader. No Node.js, eles rodam em um processo filho do workerd que aplica apenas um limite de wall time (tempo total de execução).
- O importador traz o conteúdo do WordPress a partir de um arquivo WXR ou do plugin EmDash Exporter. Temas e plugins em PHP não são transferidos e precisam ser reconstruídos.
O que é o EmDash CMS?
O EmDash é um CMS open source em TypeScript construído sobre o Astro. Ele tem licença MIT e roda na Cloudflare ou em um servidor Node.js. O anúncio do EmDash 1.0 pela Cloudflare o descreve como um CMS estável, gratuito e open source, “pronto para sustentar um site em produção”.
Cada perfil tem sua própria forma de acesso. Desenvolvedores escrevem o site em Astro. Editores trabalham no painel administrativo do EmDash. Agentes de IA podem ler e alterar conteúdo pela API, pela CLI ou pelo servidor Model Context Protocol (MCP) integrado. Para criar a estrutura de um novo site, use:
npm create emdash@latest
A Cloudflare afirma que migrou o próprio blog para o EmDash em agosto, antes do lançamento da versão 1.0.
Em que o modelo de plugins do EmDash difere do WordPress?
O modelo de plugins é a maior diferença entre os dois sistemas. No WordPress, todo plugin roda no mesmo processo PHP que o site e pode acessar o banco de dados, o sistema de arquivos e a rede. Um plugin do EmDash em sandbox começa isolado e precisa solicitar cada capacidade de que necessita.
O post da Cloudflare sobre o EmDash 1.0 diz que um plugin em sandbox recebe seu próprio armazenamento privado e nada além disso. O conteúdo, a mídia, os usuários, os segredos, as variáveis de ambiente, o sistema de arquivos e a rede do site ficam todos fechados para ele por padrão. O plugin só obtém algo além disso depois de declarar a necessidade e de o administrador do site aprová-la, de forma muito parecida com as permissões de um aplicativo para celular. O exemplo da Cloudflare é um otimizador de imagens: ele solicita permissão para ler e gerenciar mídia, mas não consegue ler o conteúdo dos usuários.
O registro de plugins do EmDash é descentralizado. Ele é construído sobre o AT Protocol, e os publicadores assinam e armazenam os registros de seus pacotes e versões na própria conta Atmosphere. Se o catálogo do EmDash ocultar uma listagem por moderação, o publicador continua sendo dono do plugin e de seu histórico de versões.
Há uma exceção à sandbox. A referência de configuração diz que o array plugins é destinado a plugins que compartilham o processo do site Astro, e é ali que ficam os plugins nativos. Esses plugins rodam sem isolamento. Plugins instalados a partir do registro sempre passam pela sandbox.
Você deve hospedar o EmDash na Cloudflare ou no Node.js?
Você pode hospedar o EmDash na Cloudflare ou no Node.js, mas a sandbox funciona de forma diferente em cada um. A Cloudflare tem custo e aplica mais limites. O runner do Node.js não tem custo adicional, mas aplica menos limites.
| Cloudflare Workers | Node.js | |
|---|---|---|
| Requisitos | Plano Workers Paid, binding worker_loaders chamado LOADER, export PluginBridge | Pacote workerd |
| Banco de dados dos plugins | Binding D1 DB, independente do adapter configurado no site | O banco de dados configurado |
| Limites aplicados | Tempo de CPU, subrequisições, wall time | Apenas wall time |
A documentação da sandbox de plugins descreve esses requisitos. Sem um runner, o EmDash ignora todos os plugins listados em sandboxed: []. Você ainda pode navegar por um registro que você mesmo configurou, mas instalar ou atualizar um plugin em sandbox é interrompido com um erro SANDBOX_NOT_AVAILABLE. O restante do site continua funcionando.
No Node.js, você instala o adapter do Node e o runner da sandbox e, em seguida, aponta a configuração para o runner:
npm install @astrojs/node @emdash-cms/sandbox-workerd workerd
// astro.config.mjs
import { defineConfig } from "astro/config";
import node from "@astrojs/node";
import emdash from "emdash/astro";
import { sqlite } from "emdash/db";
export default defineConfig({
output: "server",
adapter: node({ mode: "standalone" }),
integrations: [
emdash({
database: sqlite({ url: "file:./data/emdash.db" }),
sandboxRunner: "@emdash-cms/sandbox-workerd/sandbox",
}),
],
});
A documentação de capacidades confirma que o runner do Node.js aplica apenas o limite de 30 segundos de wall time. Se um site definir limites de CPU, memória ou subrequisições, o runner registra um aviso no log, porque o workerd standalone não consegue aplicá-los. No Node.js, um plugin que consome CPU demais só é interrompido quando atinge o limite de wall time.
Como migrar do WordPress para o EmDash?
O EmDash migra conteúdo, não código. A documentação de importação de conteúdo lista duas formas de importar conteúdo: um arquivo WordPress eXtended RSS (WXR) ou uma conexão com um site que esteja rodando o plugin EmDash Exporter. O WordPress.com não tem uma fonte de importação própria, então esses sites também usam uma exportação WXR ou o EmDash Exporter.
| O quê | Status |
|---|---|
| Posts, páginas, custom post types, taxonomias, blocos reutilizáveis, autores | Importados via WXR |
| Mídia | Importada, mas o WXR contém apenas URLs. O site WordPress precisa permanecer no ar enquanto os arquivos são copiados |
| Comentários, menus, logo, favicon | Somente com o Exporter 1.2.0 ou superior |
| Temas e plugins em PHP | Não são transferidos |
| Campos gerenciados por plugins | Não são copiados do WXR. O Exporter pode copiar metadados personalizados e valores do ACF para campos correspondentes |
O guia de migração do WordPress alerta que um exporter anterior à versão 1.2.0 descarta comentários, menus, o logo e o favicon sem avisar. A importação é concluída normalmente e não aponta nada como ausente. Verifique a versão do exporter antes de começar. Quanto a temas e plugins, o README do EmDash diz que skills para agentes ajudam a portar plugins e temas. Mesmo com essa ajuda, espere uma reconstrução.
Onde o WordPress ainda leva vantagem?
O WordPress mantém quatro vantagens práticas. Ele tem um ecossistema de temas e plugins muito maior, praticamente toda hospedagem o suporta, os editores já o conhecem e ele conta com um mercado maduro de plugins pagos. No lançamento da versão 1.0, a Cloudflare informou que o registro do EmDash suportava apenas plugins gratuitos, com plugins pagos previstos para o futuro.
A hospedagem é a segunda lacuna. O WordPress roda em praticamente qualquer hospedagem PHP. A sandbox completa de plugins do EmDash exige um plano pago da Cloudflare ou um servidor Node.js mantido por você.
Os editores representam o terceiro custo. O painel administrativo do EmDash é novo para eles, então migrar um cliente significa treinar a equipe novamente, e não apenas mover conteúdo. Se você está avaliando várias alternativas ao WordPress, a comparação entre 11ty e WordPress mostra como esses trade-offs se apresentam em uma opção static-first.
Quem deve experimentar o EmDash agora e quem deve esperar
Experimente agora se:
- Você desenvolve sites de conteúdo, como blogs, documentação ou páginas de marketing, e sua equipe já trabalha com Astro.
- O risco na cadeia de suprimentos de plugins é uma preocupação real para você ou seus clientes.
- Você quer que agentes trabalhem com o conteúdo pela API, pela CLI ou pelo servidor MCP.
Espere se:
- O site depende de um plugin específico do WordPress, de um tema comercial ou de funcionalidades no estilo WooCommerce.
- Você precisa de plugins pagos do registro.
- Sua hospedagem precisa ser uma hospedagem PHP compartilhada e barata.
Se você vai fazer o deploy na Cloudflare, conheça o cf, a nova CLI da Cloudflare que entrou em beta aberto em 28 de setembro de 2026. Ela gerencia a configuração e os bindings do Workers por meio de um arquivo cloudflare.config.ts, enquanto o Wrangler continua cuidando dos projetos configurados com wrangler.jsonc.
O EmDash é um substituto real do WordPress para um tipo específico de site: orientado a conteúdo, com poucos plugins e desenvolvido por uma equipe que domina o Astro e valoriza plugins em sandbox mais do que o tamanho do ecossistema. Para todo o resto, vale a pena fazer um piloto, mas ainda não é hora de migrar. Um bom próximo passo é passar a exportação WXR de um site real de cliente pelo importador e listar o que está faltando.
Perguntas frequentes
O EmDash consegue importar um site WordPress apenas a partir da URL?
Não. Sem o plugin EmDash Exporter, a URL do site só permite que o EmDash consulte a API REST pública do WordPress. Essa verificação pode confirmar que o site roda WordPress e contar seus posts, páginas e mídias públicos, mas não consegue importar nada. Para importar, faça o upload de um arquivo de exportação WXR ou instale o EmDash Exporter no site WordPress e conecte-se com uma senha de aplicativo do WordPress, que também dá acesso a conteúdo que a API REST pública não expõe.
O que acontece com os blocos do Gutenberg e os blocos de plugins ao importar para o EmDash?
O EmDash converte a marcação do Gutenberg em Portable Text e passa o HTML do editor Clássico pelo mesmo conversor. Blocos que o WordPress gera no servidor, como o Latest Posts ou muitos blocos de plugins, não armazenam marcação no post. O importador mantém cada um deles como um bloco HTML contendo apenas o comentário original do bloco, que não exibe nada no site, então você precisa reconstruí-los ou excluí-los. Blocos reutilizáveis se tornam seções do EmDash.
Posts em rascunho, agendados e privados do WordPress mantêm seu status no EmDash?
Apenas posts publicados continuam publicados. O importador do EmDash mapeia o status publish do WordPress para publicado, enquanto os status draft, pending, private, future, trash e desconhecidos viram todos rascunhos. Por isso, posts agendados e privados precisam de revisão manual após a importação. O guia de migração do EmDash também recomenda contar as entradas por status e confirmar que os rascunhos permanecem ocultos para visitantes não autenticados antes de alterar o DNS ou desativar o site WordPress.
Quais bancos de dados e backends de armazenamento o EmDash suporta?
O EmDash usa o Kysely para SQL e a API do S3 para armazenamento, então funciona com SQLite, Cloudflare D1, Turso ou libSQL e PostgreSQL para dados, e com Cloudflare R2, AWS S3, qualquer serviço compatível com S3 ou o sistema de arquivos local para mídia. Na Cloudflare, plugins em sandbox continuam lendo e gravando por meio de um binding D1 chamado DB, independentemente do adapter de banco de dados usado pelo próprio site.
Gain Debugging Superpowers
Unleash the power of session replay to reproduce bugs, track slowdowns and uncover frustrations in your app. Get complete visibility into your frontend with OpenReplay — the most advanced open-source session replay tool for developers.
Star on GitHub12k