Migração de CMS legado para Next.js + Supabase
Seu CMS Legado Perde Receita Enquanto Você Espera Respostas de Desenvolvedores
Why leave ExpressionEngine / MODX / Custom PHP CMS?
- Stagnant add-on ecosystems leave critical extensions unpatched for years, creating security vulnerabilities your compliance team flags in every audit
- Shrinking talent pools turn routine updates into three-week contractor searches, while your marketing team's campaign launch slips another fortnight
- Accumulated technical debt transforms simple feature requests into £8K custom development projects with two-month lead times
- Mobile Lighthouse scores stuck at 45-65 trigger Core Web Vitals failures that push your category pages below faster competitors in Search Console
- Server hosting burns £200-800/month for managed PHP environments that still deliver 1.2-2.5 second response times under moderate traffic
- Monolithic architecture couples your content model to presentation logic, forcing full regression testing every time your designer tweaks a layout component
What you gain
- Mobile Lighthouse scores hit 95-100 with green Core Web Vitals across every template, moving your pages up in organic rankings within the first billing cycle
- Global TTFB drops to sub-300ms via edge deployment on Vercel's network, replacing the 1.8-second lag your analytics team sees in session recordings
- Hosting costs fall to £50-200/month on managed infrastructure that auto-scales to traffic spikes your legacy VPS would crash under
- TypeScript + React codebase opens your talent pool to thousands of senior developers, ending your dependency on the two contractors who still remember MODX syntax
- Supabase consolidates PostgreSQL, auth, realtime, and storage into one managed platform — eliminating your separate MySQL + Redis + S3 + Auth0 bill
- Decoupled content API lets your team publish changes via Supabase Studio while your dev team ships frontend updates independently, cutting deployment friction by 70%
Seu CMS Legado Está Impedindo Seu Crescimento
ExpressionEngine cumpriu seu propósito. MODX foi genuinamente inovador para sua época. Aquele CMS PHP customizado que sua agência construiu em 2011? Funcionava. Mas "funcionava" é passado, e isso importa.
Essas plataformas compartilham uma trajetória comum: ecossistemas de plugins em declínio, patches de segurança que chegam meses depois (ou nunca), desenvolvedores que seguiram em frente, e scores de performance que fazem o Core Web Vitals do Google parecer um filme de horror. Você está pagando custos premium de hospedagem para servidores que mal conseguem carregar em 2 segundos, enquanto um site estático em um plano de £20/mês funciona muito melhor.
Migramos sites ExpressionEngine com mais de 15.000 entradas, instalações MODX executando 40+ snippets customizados, e plataformas CMS PHP bespoke com schemas de banco de dados não documentados. Todos eles agora rodam em Next.js com Supabase, marcam verde em todos os Core Web Vitals, e custam menos para hospedar do que a stack legada custava.
Por que Migrações de ExpressionEngine e MODX Falham
A maioria das agências trata uma migração de CMS como um projeto de redesign. Elas constroem um novo site bonito, fazem uma exportação CSV, importação em massa, configuram alguns redirects, e pronto. Então você vê seu tráfego orgânico cair 40% em seis semanas.
Aqui está o que realmente dá errado:
Falta de Correspondência na Modelagem de Conteúdo
Os campos de canal do ExpressionEngine e as variáveis de template do MODX não mapeiam claramente para estruturas de conteúdo modernas. Um campo "textarea" contendo HTML com estilos inline, imagens incorporadas com caminhos relativos, e shortcodes customizados precisa de transformação inteligente — não um script find-and-replace.
Fragmentação da Estrutura de URL
As plataformas CMS PHP legado adoram gerar URLs com parâmetros, prefixos de categoria e estruturas baseadas em data que não correspondem às convenções de roteamento modernas. Deixar um único padrão de redirect passar e você tem uma página 404 onde sua página de destino com maior tráfego costumava estar.
Lógica de Template Enterrada no Conteúdo
Chunks e snippets do MODX, tags de template do ExpressionEngine, includes PHP customizados — esses não são conteúdo. São lógica de apresentação que se emaranharam em seu banco de dados ao longo de uma década de crescimento orgânico. Separar conteúdo da lógica de display é o trabalho real da migração, e é a parte que a maioria das agências pula.
Autenticação e Dados de Usuário
Se seu CMS legado gerencia logins de membros, roles de usuário customizados, ou conteúdo protegido, você não pode simplesmente ignorar esses dados. Hashes de senha precisam ser migrados, ou usuários precisam de um fluxo de re-autenticação gracioso.
O Que Next.js + Supabase Realmente Oferece
Isso não é uma atualização marginal. É um salto arquitetônico.
Next.js para o Frontend
Next.js oferece geração estática para páginas de conteúdo (TTFB sub-100ms), renderização no servidor para rotas dinâmicas, React Server Components para layouts complexos sem inchaço de JavaScript no lado do cliente, e regeneração estática incremental para que seu time de conteúdo publique mudanças que saem do ar em segundos sem uma rebuild completa.
Seus scores Lighthouse pulam do intervalo 45-65 para 95-100. Não por truques — porque a arquitetura é fundamentalmente mais rápida.
Supabase para o Backend
Supabase fornece um banco de dados PostgreSQL com API REST e GraphQL prontas para uso. Segurança em nível de linha lida com permissões sem middleware. Subscrições em tempo real alimentam funcionalidades ao vivo. Auth integrada lida com tudo, desde email/senha até provedores OAuth. Edge functions lidam com lógica no lado do servidor na borda da CDN.
Para a maioria das migrações de CMS legado, Supabase substitui toda a stack de backend: banco de dados, autenticação, armazenamento de arquivos e camada de API. Uma plataforma, uma conta, sem manutenção de servidor.
Integração com CMS Headless
Para times de conteúdo que precisam de uma interface de edição familiar, integramos Sanity, Payload CMS ou Storyblok como a camada editorial. Editores de conteúdo conseguem uma UI moderna. Desenvolvedores conseguem APIs estruturadas. Supabase lida com tudo que não é conteúdo puro: dados de usuário, estado da aplicação, analytics, submissões de formulário.
Nosso Processo de Migração
Executamos um processo de cinco fases construído especificamente para plataformas CMS PHP legado. Sem big-bang cutover. Sem dedos cruzados.
Fase 1: Auditoria Profunda (Semana 1-2)
Crawlamos seu site existente completamente. Cada URL, cada tipo de conteúdo, cada template, cada redirect já em lugar. Mapeamos seus canais ExpressionEngine ou recursos MODX para um schema de conteúdo moderno. Documentamos funcionalidades customizadas — busca, formulários, áreas de membros, hooks de e-commerce, integrações de terceiros.
Entregável: documento de especificação de migração com mapeamentos de modelo de conteúdo, mapa de redirect de URL e inventário de funcionalidade.
Fase 2: Construção de Infraestrutura (Semana 2-4)
Configuramos a aplicação Next.js, configuramos Supabase (schema de banco de dados, regras de auth, buckets de storage), e deployamos para Vercel ou Cloudflare Pages. Pipeline CI/CD, ambientes de preview, domínio de staging — tudo configurado antes de qualquer conteúdo se mover.
Fase 3: Migração de Conteúdo (Semana 3-6)
Scripts customizados de migração extraem conteúdo do seu banco de dados legado, transformam (limpando HTML, resolvendo caminhos de imagem, convertendo shortcodes para dados estruturados), e carregam no novo sistema. Executamos isso iterativamente — migrar, validar, corrigir casos extremos, executar novamente.
Para ExpressionEngine, conectamos diretamente ao banco de dados MySQL e analisamos dados de canal com consciência de tipo de campo. Para MODX, lidamos com a árvore de recursos, variáveis de template e referências de chunk. Para plataformas CMS PHP customizadas, reverse-engineerizamos o schema e construímos extractores bespoke.
Fase 4: Construção do Frontend (Semana 4-8)
Páginas e componentes Next.js construídos para corresponder (ou melhorar) seu design existente. Cada template de página do site legado ganha um equivalente moderno. Otimizamos imagens, implementamos layouts responsivos e garantimos que cada página atinja verde Core Web Vitals antes do launch.
Fase 5: SEO Cutover e Go-Live (Semana 7-10)
É aqui onde as migrações têm sucesso ou falham. Nosso processo de cutover:
- Mapa de redirect 301 deployado e testado contra o crawl completo de URL da Fase 1
- XML sitemaps regenerados e submetidos ao Google Search Console
- Tags canônicas, hreflang e dados estruturados preservados ou melhorados
- Monitoramento em tempo real para picos de 404, erros de crawl e movimento de ranking por 30 dias após o launch
- Zero-downtime DNS cutover — site legado permanece ao vivo como fallback até confirmamos indexação limpa
Garantimos nenhuma perda de ranking atribuível à migração. Se Google deixa uma página cair porque um redirect foi perdido, corrigimos no mesmo dia.
Estratégia de Preservação de SEO
Preservação de SEO não é uma fase — é uma restrição que governa cada decisão ao longo do projeto.
Exportamos seu perfil completo de backlinks e fazemos referência cruzada contra o mapa de redirect. Links internos são atualizados programaticamente, não manualmente. Preservamos autoridade de página mantendo estruturas de URL onde possível e implementando cadeias de redirect adequadas onde mudam.
Next.js nos oferece renderização no servidor para crawlers, o que significa Google vê HTML totalmente renderizado na primeira requisição — sem atrasos de renderização JavaScript que prejudicam migrações SPA. Combinado com TTFB sub-300ms de deployment de borda, suas páginas são crawleadas mais rápido e indexadas mais completamente do que nunca foram na stack legada.
Timeline e Preços
Preços transparentes significam que você sabe o intervalo antes da primeira call.
| Tamanho do Projeto | Volume de Conteúdo | Timeline | Investimento |
|---|---|---|---|
| Padrão | Até 500 páginas | 6-8 semanas | £12.000 - £25.000 |
| Escala Média | 500-5.000 páginas | 8-12 semanas | £25.000 - £55.000 |
| Enterprise | 5.000+ páginas, funcionalidade customizada | 12-20 semanas | £55.000 - £120.000 |
Os preços incluem a auditoria, scripts de migração, build Next.js, configuração Supabase, SEO cutover e 30 dias de monitoramento pós-launch. Sem surpresas de billing por hora. Hosting contínuo em Vercel + Supabase normalmente custa £50-200/mês dependendo do tráfego — uma fração do que a stack legada custava.
Garantia de 100% Core Web Vitals Verde
Cada página que entregamos passa na avaliação Core Web Vitals do Google com scores verdes em LCP, INP e CLS. Não em uma conexão rápida em um teste de laboratório — no campo, medido por usuários reais via dados CrUX.
Se qualquer página falhar CWV dentro de 90 dias após o launch devido à nossa implementação, corrigimos sem custo adicional. Podemos fazer essa garantia porque a arquitetura Next.js + Supabase, deployada em CDNs de borda, é inerentemente rápida. Não estamos lutando contra a plataforma para obter bons scores — a plataforma os entrega por padrão quando construída corretamente.
Cobertura UK e US
Trabalhamos com times em todo UK e US, com deployment otimizado para ambos os mercados. Redes de borda Vercel e Cloudflare garantem que seu site carregue rápido quer seus usuários estejam em Londres, Leeds, Los Angeles ou Louisville. Todos os projetos incluem tratamento de dados em conformidade com GDPR para audiências UK/EU e práticas alinhadas com SOC 2 para requisitos de enterprise nos EUA.
The migration process
Discovery & Audit
We map every page, post, media file, redirect, and plugin. Nothing gets missed.
Architecture Plan
New stack designed for your content structure, SEO requirements, and performance targets.
Staged Migration
Content migrated in batches. Each batch verified before the next begins.
SEO Preservation
301 redirects, canonical tags, sitemap, robots.txt — every ranking signal carried over.
Launch & Monitor
DNS cutover with zero downtime. 30-day monitoring period included.
ExpressionEngine / MODX / Custom PHP CMS vs Next.js + Supabase
| Metric | ExpressionEngine / MODX / Custom PHP CMS | Next.js + Supabase |
|---|---|---|
| Lighthouse Mobile | 45-65 | 95-100 |
| TTFB | 1.2-2.5s | <0.3s |
| Build/Deploy | FTP upload, manual cache clear | Git push, auto-deploy in <60s |
| Hosting Cost | £200-800/mo | £50-200/mo |
| Developer Availability | Scarce (EE/MODX specialists) | Abundant (React/Next.js ecosystem) |
| API / Headless Support | None or bolted-on | Native REST + GraphQL via Supabase |
Common questions
Quanto tempo leva uma migração de ExpressionEngine para Next.js?
Uma migração típica de ExpressionEngine leva 6-12 semanas dependendo do volume de conteúdo e funcionalidade customizada. Sites com menos de 500 páginas com campos de canal padrão terminam em 6-8 semanas. Sites maiores com sistemas de membros, add-ons customizados ou lógica de template complexa se estendem para 12-20 semanas. Damos um timeline exato após a fase de auditoria.
Vou perder rankings de SEO durante a migração?
Não. Nosso processo de migração inclui um mapa de redirect 301 completo construído a partir de um crawl completo do site, renderização no servidor para mecanismos de busca e 30 dias de monitoramento pós-launch. Preservamos estruturas de URL, tags canônicas, dados estruturados e atributos hreflang. Garantimos nenhuma perda de ranking causada pela migração em si.
Você consegue migrar um CMS PHP customizado sem documentação?
Sim. Reverse-engineerizamos schemas de banco de dados não documentados analisando estruturas de tabela, relacionamentos e padrões de conteúdo diretamente. Já migramos plataformas CMS PHP customizadas construídas ao longo de 10+ anos sem documentação. A fase de auditoria mapeia cada tipo de conteúdo, relacionamento e função customizada antes de escrevermos uma única linha de código de migração.
O que acontece com nossas variáveis de template MODX e snippets?
Variáveis de template MODX são mapeadas para campos de conteúdo estruturado em seu novo CMS ou schema Supabase. Snippets e chunks contendo lógica de apresentação são reconstruídos como componentes Next.js. Conteúdo incorporado em chunks é extraído e armazenado como dados estruturados. O resultado final é uma separação limpa de conteúdo e apresentação que nunca foi realmente possível em MODX.
Como funciona a migração com zero downtime?
Executamos ambos os sistemas em paralelo durante o período de cutover. Seu CMS legado permanece ao vivo enquanto o novo site Next.js é completamente construído e testado em um domínio de staging. O DNS é alternado com TTL mínimo, e mantemos o servidor legado disponível como fallback. Monitoramento em tempo real detecta qualquer problema dentro de minutos do go-live.
O que exatamente a garantia de Core Web Vitals cobre?
Cada página que construímos passará na avaliação Core Web Vitals do Google — LCP abaixo de 2,5s, INP abaixo de 200ms, CLS abaixo de 0,1 — medido no campo via dados Chrome User Experience Report. Se qualquer página falhar dentro de 90 dias após o launch devido ao nosso código, corrigimos sem custo. Isso cobre nossa implementação, não scripts de terceiros que você adiciona após o launch.
Por que Next.js e Supabase em vez de WordPress ou outro CMS?
WordPress replicaria muitos dos mesmos problemas que você está tentando deixar para trás: arquitetura monolítica, dependência de plugin, renderização PHP no servidor e overhead de segurança. Next.js entrega páginas estáticas e renderizadas no servidor à velocidade de borda da CDN. Supabase fornece um backend PostgreSQL gerenciado com auth e APIs integradas — sem servidores para manter, sem atualizações de plugin para se preocupar.
Você oferece suporte contínuo após a migração?
Sim. Cada migração inclui 30 dias de monitoramento pós-launch e correção de bugs. Além disso, oferecemos pacotes de retainer mensais para desenvolvimento contínuo, mudanças de modelo de conteúdo, monitoramento de performance e administração Supabase. A maioria dos clientes passa para um plano de suporte leve após o período de estabilização inicial.
Ready to migrate?
Free assessment. We'll audit your current site and give you a clear migration plan — no commitment.
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.