Drupal 7 End of Life Chegou em Janeiro de 2025 — Seu Plano de Migração
Seu site de produção roda em Drupal 7 e, desde 5 de janeiro de 2025, parou de receber patches de segurança. Sem correções de emergência. Sem suporte da comunidade. Sem mais extensões. Já acompanhei seis times enterprise através dessa migração nos últimos dezoito meses, e o padrão é claro: aqueles que trataram como um checkbox de Q4 pagaram 40–60% mais do que aqueles que planejaram com seis meses de antecedência. O custo do atraso é real — não apenas em termos monetários, mas na dívida técnica que seus engenheiros herdam quando são forçados a entregar uma migração em oito semanas em vez de vinte. Este é o guia que entrego a cada VP de Engenharia no momento em que admitem que Drupal 7 ainda alimenta sua propriedade flagship. Você ainda não está atrasado, mas a janela está fechando mais rápido do que seu roadmap admite.
Sumário
- O que o End of Life do Drupal 7 Realmente Significa
- Por Que Times Enterprise Continuaram Adiando
- Suas Opções de Migração em 2026
- Opção 1: Migrar para Drupal 10/11
- Opção 2: Ir Headless com um Frontend Moderno
- Opção 3: Migrar para um Headless CMS Completamente
- Opção 4: Vendors de Suporte Estendido (Ganhe Tempo)
- Planejamento de Migração: Um Framework Passo a Passo
- Estratégia de Migração de Conteúdo
- Estimativas de Custo e Timeline
- Erros Comuns que Vi Times Cometerem
- FAQ

O que o End of Life do Drupal 7 Realmente Significa
Vamos ser precisos sobre o que "end of life" significa na prática, porque vi muita confusão aqui:
- Sem mais atualizações de segurança. O Drupal Security Team não emitirá advisories ou patches para o core do Drupal 7 ou módulos contrib. Se uma vulnerabilidade crítica de SQL injection for descoberta amanhã, você está por sua conta.
- Sem mais correções de bugs. Qualquer coisa quebrada permanece quebrada.
- Mantenedores de módulos contrib estão seguindo em frente. A maioria já fez. Muitos módulos Drupal 7 populares não recebem atualizações há anos.
- Provedores de hospedagem vão descontinuar suporte. Pantheon, Acquia e Platform.sh todos anunciaram timelines para depreciar ambientes de hospedagem Drupal 7. A Acquia estendeu seu suporte Drupal 7 até 2026 para clientes existentes, mas é um add-on pago, não uma solução de longo prazo.
- Problemas de compatibilidade com PHP vão se acumular. Drupal 7 foi construído para PHP 5.x. Roda em PHP 8.1 com patches, mas PHP 8.1 em si chega ao fim de vida em dezembro de 2025. Você estará empilhando software sem suporte sobre software sem suporte.
O risco de segurança sozinho deveria ser suficiente para desencadear ação. Se sua organização lida com qualquer forma de PII, dados financeiros ou informações de saúde, rodar Drupal 7 sem patches é uma responsabilidade de conformidade. PCI DSS, HIPAA, SOC 2 — todos exigem que você mantenha software patchado e suportado.
Por Que Times Enterprise Continuaram Adiando
Já tive essa conversa dezenas de vezes. As razões são sempre alguma variação de:
- "Nosso site Drupal 7 funciona bem." Funciona. Até não funcionar mais. O código não vai parar de funcionar em 6 de janeiro, mas o perfil de risco muda dramaticamente.
- "A migração para Drupal 8/9/10 não é um upgrade simples." Isso é realmente verdadeiro. Diferentemente do caminho de upgrade Drupal 6→7, mover de Drupal 7 para Drupal moderno é essencialmente uma reconstrução. A arquitetura é fundamentalmente diferente — baseada em Symfony, gerenciamento de configuração, templates Twig. Seus módulos customizados não vão portar.
- "Temos 15 anos de conteúdo e funcionalidade customizada." Sites Drupal 7 enterprise tendem a ser heavily customized. Módulos customizados, configurações Views, estruturas de taxonomia complexas, integrações com sistemas legados. O escopo de migração é genuinamente grande.
- "Budget não foi aprovado." A resposta mais honesta, e a mais comum.
Nenhuma dessas razões desapareceu, mas o deadline chegou. Então vamos conversar sobre o que realmente fazer.
Suas Opções de Migração em 2026
Você tem quatro caminhos realistas adiante. Cada um tem trade-offs. Deixa eu detalhar honestamente.
| Opção | Timeline | Faixa de Custo | Melhor Para | Nível de Risco |
|---|---|---|---|---|
| Drupal 10/11 | 6-18 meses | $200K-$1M+ | Times investidos no ecossistema Drupal | Médio |
| Frontend Headless + Backend Drupal | 4-12 meses | $150K-$600K | Times querendo UX moderno com CMS familiar | Médio |
| Migração Headless CMS | 3-9 meses | $100K-$500K | Times prontos para deixar Drupal completamente | Médio-Alto |
| Vendor de Suporte Estendido | Imediato | $30K-$100K/ano | Times precisando de 6-18 meses mais para planejar | Baixo (curto prazo) |

Opção 1: Migrar para Drupal 10/11
Drupal 10 é o release estável atual a partir de 2026, com Drupal 11 lançado em meados de 2024 e ganhando adoção forte. Se seu time conhece Drupal, seu modelo de conteúdo é sólido e você quer permanecer no ecossistema, este é o caminho mais direto.
Mas "direto" não significa "fácil".
O que a migração realmente envolve
Drupal fornece uma Migrate API que pode puxar conteúdo de um banco de dados Drupal 7 para um site Drupal 10/11. Na minha experiência, isso trata cerca de 60-70% de uma migração típica. O resto são plugins de migração customizados para:
- Tipos de campo customizados
- Referências de entidades complexas
- Paragraphs (se você usou o módulo Paragraphs)
- Assets de arquivo e mídia
- Aliases de URL e redirects
- Contas de usuário e roles
Seus módulos customizados precisam ser reescritos. Não portados — reescritos. Drupal 10/11 usa uma arquitetura completamente diferente. Se você tinha um módulo customizado que hookeava em hook_node_view(), agora você está escrevendo event subscribers e plugins.
// Drupal 7 - baseado em hooks
function mymodule_node_view($node, $view_mode, $langcode) {
if ($node->type == 'article') {
$node->content['custom_field'] = array(
'#markup' => '<div>' . custom_logic($node) . '</div>',
'#weight' => 10,
);
}
}
// Drupal 10/11 - OOP, baseado em Symfony
namespace Drupal\mymodule\EventSubscriber;
use Drupal\core_event\NodeViewEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class NodeViewSubscriber implements EventSubscriberInterface {
public static function getSubscribedEvents() {
return [NodeViewEvent::class => 'onNodeView'];
}
public function onNodeView(NodeViewEvent $event) {
$node = $event->getNode();
if ($node->bundle() === 'article') {
// Sua lógica aqui
}
}
}
A camada de templating Twig também é completamente diferente de PHPTemplate. Todo tema customizado precisa ser reconstruído.
Timeline realista
Para um site enterprise de tamanho médio (500-5.000 páginas, 10-20 tipos de conteúdo, 5-10 módulos customizados), espere 9-15 meses. Isso inclui discovery, content modeling, development, migração de conteúdo, QA e launch.
Opção 2: Ir Headless com um Frontend Moderno
Este é o ponto onde as coisas ficam interessantes, e francamente, é a abordagem que recomendo mais frequentemente para times enterprise em 2026. Mantenha Drupal como seu backend de conteúdo (atualizado para Drupal 10/11), mas construa o frontend com um framework JavaScript moderno.
Drupal 10/11 tem excelente suporte a JSON:API integrado no core. Você pode expor seu conteúdo como dados estruturados e consumi-lo com Next.js, Astro ou qualquer framework frontend.
Por que essa abordagem funciona bem
- Seu time editorial mantém a interface admin do Drupal. Eles a conhecem. São produtivos nela. Tirar isso causa dor organizacional.
- Seu frontend fica drasticamente mais rápido. Geração estática, cache em edge, otimização de imagem moderna — coisas que são dolorosas de boltar na camada de rendering do Drupal.
- Você pode migrar incrementalmente. Coloque o novo frontend ao lado do site antigo e migre seções uma de cada vez.
Construímos vários frontends Drupal headless com Next.js e Astro, e as melhorias de performance são substanciais. Um cliente viu seu Largest Contentful Paint cair de 4.2s para 0.8s depois de se mover para um frontend Next.js com ISR (Incremental Static Regeneration).
// Página Next.js buscando da JSON:API do Drupal
export async function getStaticProps({ params }) {
const res = await fetch(
`${process.env.DRUPAL_BASE_URL}/jsonapi/node/article?filter[field_slug]=${params.slug}&include=field_image,field_tags`
);
const data = await res.json();
return {
props: {
article: data.data[0],
included: data.included,
},
revalidate: 60, // ISR: regenerar a cada 60 segundos
};
}
O pacote next-drupal (mantido por Chapter Three) torna isso ainda mais fácil com suporte integrado para preview mode, autenticação e content type mapping.
A pegadinha
Você ainda precisa migrar Drupal 7 para Drupal 10/11 no backend. Você não está evitando esse trabalho. Mas você está desacoplando do rebuild do frontend, o que te dá mais flexibilidade na sequência.
Opção 3: Migrar para um Headless CMS Completamente
Às vezes o movimento certo é deixar Drupal completamente. Se seu time não tem forte expertise em Drupal, se você está lutando para contratar desenvolvedores Drupal (e você está — o pool de talento Drupal encolheu significativamente desde 2020), ou se seu modelo de conteúdo superou o que Drupal faz bem, um headless CMS pode ser a jogada certa.
Alvo populares de migração
| CMS | Pricing (2026) | Melhor Para | Content API | Curva de Aprendizado |
|---|---|---|---|---|
| Contentful | $300-$2.500+/mês | Grandes times editoriais | GraphQL + REST | Médio |
| Sanity | $99-$949+/mês (custom enterprise) | Times liderados por desenvolvedores | GROQ + GraphQL | Baixo-Médio |
| Storyblok | $109-$449+/mês | Necessidades de visual editing | REST + GraphQL | Baixo |
| Strapi (self-hosted) | Gratuito (self-hosted) / $29+/mês (cloud) | Times querendo controle | REST + GraphQL | Médio |
| Payload CMS | Gratuito (self-hosted) / $35+/mês (cloud) | Times TypeScript-first | REST + GraphQL | Médio |
Trabalhamos com várias dessas através de nossa prática de desenvolvimento headless CMS. A escolha certa depende das habilidades técnicas do seu time, complexidade de conteúdo e budget.
Migração de conteúdo de Drupal 7 para um headless CMS
Isso é realmente mais fácil do que migrar para Drupal 10/11 em alguns aspectos. Você não está constrangido pelo framework de migração do Drupal. A abordagem típica:
- Exportar conteúdo Drupal 7 via Drush ou consultas diretas ao banco de dados
- Transformar os dados no modelo de conteúdo do seu target CMS usando scripts (Python e Node.js funcionam bem)
- Importar via API de gerenciamento do CMS
- Verificar e consertar referências, mídia e relacionamentos
# Simples exportação de conteúdo Drupal 7 via banco de dados
import mysql.connector
import json
db = mysql.connector.connect(
host="localhost",
user="drupal",
password="yourpassword",
database="drupal7_db"
)
cursor = db.cursor(dictionary=True)
cursor.execute("""
SELECT n.nid, n.title, n.created, n.changed, n.status,
fdb.body_value, fdb.body_summary
FROM node n
LEFT JOIN field_data_body fdb ON n.nid = fdb.entity_id
WHERE n.type = 'article' AND n.status = 1
ORDER BY n.created DESC
""")
articles = cursor.fetchall()
with open('articles_export.json', 'w') as f:
json.dump(articles, f, default=str, indent=2)
print(f"Exported {len(articles)} articles")
A parte difícil não é a exportação. É mapear o modelo de conteúdo do Drupal 7 (com seu sistema de fields, entity references, taxonomy terms e Paragraphs) para as estruturas de dados de um novo CMS. Planeje para isso levar tempo significativo de análise.
Opção 4: Vendors de Suporte Estendido (Ganhe Tempo)
Se você genuinamente precisa de mais tempo — e às vezes você precisa, especialmente com ciclos de budget e prioridades organizacionais — vendors de suporte estendido podem manter seu site Drupal 7 patchado enquanto você planeja.
Key vendors oferecendo suporte Drupal 7 estendido
- Tag1 Consulting — Um dos mais estabelecidos. Eles fazem backport de patches de segurança e fornecem manutenção contínua. Pricing varia por complexidade de site mas espere $30K-$80K/ano.
- Acquia — Oferece suporte Drupal 7 estendido através de sua plataforma, atualmente até 2026 para clientes enterprise.
- mySociety / D7 LTS Contributors — Suporte estendido dirigido pela comunidade através do programa Drupal 7 Extended Support.
Esta é uma estratégia de ponte legítima, não uma solução de longo prazo. Eu colocaria um teto de 12-18 meses máximo. Cada mês que você fica em Drupal 7 aumenta a complexidade de sua migração conforme a lacuna entre D7 e plataformas modernas se amplia.
Planejamento de Migração: Um Framework Passo a Passo
Aqui está o framework que uso com cada migração enterprise. Não é glamoroso, mas funciona.
Fase 1: Audit (2-4 semanas)
- Content audit: Quantos tipos de conteúdo? Quantos nodes por tipo? Qual é a complexidade do modelo de conteúdo? Você está usando Paragraphs, Field Collections, Entity Reference?
- Module audit: Liste cada módulo contrib e customizado. Categorize como: tem equivalente D10, precisa de replacement customizado, pode ser eliminado. Eu uso
drush pm:list --status=enablede faço referência cruzada com drupal.org. - Integration audit: Quais sistemas externos Drupal fala? Gateways de pagamento, CRMs, automação de marketing, provedores SSO?
- Traffic and performance baseline: Documente as métricas de performance atuais. Você vai precisar dessas para comparação.
- User role audit: Quantos workflows editoriais existem? Quais permissões importam?
Fase 2: Decisão de Arquitetura (2-3 semanas)
Baseado em seu audit, decida qual das quatro opções é a certa. Esta é uma decisão de arquitetura genuína que deveria envolver liderança de engenharia, stakeholders de conteúdo e quem quer que controle o budget.
Fase 3: Proof of Concept (3-6 semanas)
Antes de se comprometer com uma migração completa, construa um proof of concept que cubra:
- 2-3 tipos de conteúdo migrados para a nova plataforma
- O workflow editorial mais complexo reproduzido
- Uma integração crítica conectada
- Benchmarks de performance na nova stack
É aqui que você vai descobrir as coisas que ninguém mencionou durante o audit. Há sempre algo.
Fase 4: Migração Completa (3-12 meses)
Este é o trabalho real. Priorize implacavelmente. Nem tudo do Drupal 7 precisa vir junto. Na minha experiência, 20-30% do conteúdo e funcionalidade em um site Drupal 7 enterprise típico pode ser eliminado durante a migração.
Fase 5: QA e Launch (2-4 semanas)
Redirects são críticos. Cada URL no seu site Drupal 7 que tem equity de search precisa de um redirect 301 para o novo site. Use exports do módulo path_redirect e globalredirect como ponto de partida, então crawle o site antigo com Screaming Frog para construir um mapa de redirects completo.
Estratégia de Migração de Conteúdo
Migração de conteúdo merece sua própria seção porque é onde a maioria das migrações vai para o lado errado.
O problema do body field
Drupal 7 body fields são tipicamente uma bagunça de HTML. Você vai encontrar inline styles, caminhos de imagem hardcoded, iframes embarcados e ocasionalmente PHP bruto (se alguém habilitou o módulo PHP filter — um horror genuíno de segurança). Antes de migrar, você precisa decidir: limpar, ou portar a bagunça?
Minha recomendação: limpar. Escreva scripts de transformação que:
- Stripper inline styles
- Converter tags
<img>para referências apropriadas de mídia - Consertar links internos para usar a nova estrutura de URL
- Converter qualquer token de embed WYSIWYG para o novo formato
Migração de mídia
Sites Drupal 7 lidam com mídia de formas selvagemente diferentes. Alguns usam o módulo Media (1.x ou 2.x), alguns usam plain file fields, alguns usam media tokens embarcados em body fields. Mapeie cada padrão de manipulação de mídia antes de começar a escrever código de migração.
Se você está se movendo para um headless CMS, você também vai precisar decidir onde os arquivos de mídia vivem. A maioria dos headless CMSs tem gerenciamento de assets integrado, ou você pode usar um DAM como Cloudinary ou imgix.
Conteúdo multilíngue
Se seu site Drupal 7 usa i18n, entity_translation ou content_translation, a complexidade de migração roughly dobra. O sistema multilíngue do Drupal 7 era... vamos chamar de "criativo". As estruturas de dados são inconsistentes e requerem cuidadoso mapeamento.
Estimativas de Custo e Timeline
Vou te dar números reais baseados em projetos que estive envolvido ou tenho conhecimento direto.
| Complexidade do Site | Migração Drupal 10/11 | Migração Headless CMS | Frontend Headless + Backend Drupal |
|---|---|---|---|
| Pequeno (5-10 content types, <1K páginas, 2-3 módulos customizados) | $80K-$150K, 3-6 meses | $60K-$120K, 2-4 meses | $100K-$180K, 3-6 meses |
| Médio (10-20 content types, 1K-10K páginas, 5-10 módulos customizados) | $200K-$500K, 6-12 meses | $150K-$350K, 4-8 meses | $200K-$450K, 5-10 meses |
| Grande (20+ content types, 10K+ páginas, 10+ módulos customizados, multilíngue) | $500K-$1.5M+, 12-24 meses | $300K-$800K, 6-14 meses | $400K-$1M+, 8-18 meses |
Esses são custos totalmente carregados incluindo discovery, development, migração, QA e project management. Seu resultado pode variar baseado em composição de time (in-house vs. agency), localização geográfica e quanto cleanup você faz versus porta como está.
Quer obter uma estimativa mais específica para sua situação? Fazemos migration assessments que te dão uma visão clara de scope e custo.
Erros Comuns que Vi Times Cometerem
Tentar fazer uma recriação 1:1. Seu site Drupal 7 acumulou 10+ anos de cruft. Não migre tudo isso. Use a migração como uma oportunidade para simplificar.
Subestimar o esforço de redirect. Trabalhei em uma migração onde o time esqueceu de redirects até duas semanas antes do launch. Eles tinham 45.000 URLs para mapear. Não seja esse time.
Não envolver stakeholders editoriais cedo o suficiente. As pessoas que usam o CMS diariamente vão ter opiniões fortes sobre o novo sistema. Envolva-as na Fase 1, não na Fase 4.
Escolher uma plataforma baseada em features, não em capacidade de time. O melhor CMS é aquele que seu time consegue realmente manter. Se você não tem expertise em Drupal, migrar para Drupal 10/11 sem contratar para isso é se preparar para repetir essa situação em 5 anos.
Rodar sistemas paralelos por muito tempo. Defina uma data de cutover hard. Rodar antigo e novo em paralelo é caro e confuso.
Pular a content freeze. Durante o push final de migração, você precisa de uma content freeze no site antigo. Planeje para isso. Comunique. Autores de conteúdo odeiam, mas é necessário para garantir que nada seja perdido.
FAQ
O que acontece se eu continuar rodando Drupal 7 depois do end of life?
Seu site não vai parar de repente de funcionar. Mas você vai receber zero patches de segurança, o que significa que qualquer vulnerabilidade recém-descoberta vai permanecer sem patch indefinidamente. Este é um risco real — sites Drupal são alvo frequente de ataques automatizados. Você também vai enfrentar crescentes problemas de compatibilidade conforme as versões PHP avançam e provedores de hospedagem descontinuam suporte a versões mais antigas de PHP. Para qualquer organização com requisitos de conformidade (PCI, HIPAA, SOC 2, GDPR), rodar software sem suporte é uma violação direta.
Posso fazer upgrade direto de Drupal 7 para Drupal 11?
Sim, a Migrate API suporta migração direta de Drupal 7 para Drupal 10 ou 11. Você não precisa passar por Drupal 8 e 9. Porém, isso não é um "upgrade" no sentido tradicional — é uma rebuild de seu site na nova plataforma com conteúdo migrado. Seus temas, módulos customizados e configurações não vêm diretamente.
Quanto tempo leva uma migração típica Drupal 7?
Para um site enterprise de tamanho médio, planeje por 6-12 meses desde o kickoff até launch. Sites menores com funcionalidade customizada limitada podem ser feitos em 3-4 meses. Sites grandes e complexos com conteúdo multilíngue, integrações extensas e heavy customization podem levar 12-24 meses. A fase de audit vai te dar uma estimativa muito mais acurada para sua situação específica.
Vale a pena migrar para Drupal 10/11, ou devo trocar de plataforma de CMS?
Depende do seu time e suas necessidades. Se você tem expertise em Drupal in-house, seu modelo de conteúdo é bem-adequado ao sistema de entidades do Drupal, e você precisa dos pontos fortes do Drupal (permissões complexas, multilíngue, multi-site), então ficar no ecossistema faz sentido. Se você está lutando para contratar desenvolvedores Drupal, seu site é primariamente um site de marketing sem workflows editoriais complexos, ou você quer se mover para uma arquitetura headless, um CMS diferente pode ser o investimento melhor.
Qual é a opção mais barata para migrar de Drupal 7?
Suport estendido de um vendor como Tag1 ($30K-$80K/ano) é a opção mais barata de curto prazo, mas não resolve o problema subjacente. Para migração real, se mover para um headless CMS como Sanity ou Storyblok com um frontend estático tende a ser o caminho mais cost-effective para sites mais simples, começando em $60K-$120K. Veja nossa pricing page para mais detalhes sobre como estruturamos projetos de migração.
Os rankings SEO serão afetados pela migração?
Eles podem ser, mas o planejamento apropriado minimiza o impacto. Os fatores críticos são: manter estruturas de URL (ou implementar redirects 301 apropriados para cada URL indexada), preservar metadados e structured data markup, garantir que o novo site carregue pelo menos tão rápido quanto o antigo (idealmente mais rápido) e submeter sitemaps atualizados para Google Search Console. Vi migrações bem executadas resultarem em melhorias de SEO devido a melhor page speed e experiência móvel. Também vi migrações botched tankearem tráfego em 50% porque alguém esqueceu dos redirects.
Posso migrar conteúdo incrementalmente ou tem que ser tudo de uma vez?
Migração incremental é possível e frequentemente preferível para sites grandes. Com uma arquitetura headless, você pode colocar o novo frontend e migrar seções do site uma de cada vez, usando reverse proxy rules para rotear tráfego para o backend apropriado. Isso reduz risco e permite validar cada seção antes de seguir. O trade-off é complexidade operacional aumentada durante o período de migração.
Devo considerar WordPress como um target de migração?
WordPress é uma opção viável para sites mais simples, mas eu seria cauteloso para use cases enterprise. Se seu site Drupal 7 tem tipos de conteúdo complexos, permissões granulares ou workflows editoriais sofisticados, WordPress vai parecer um downgrade. O modelo de conteúdo do WordPress (posts, pages e custom post types) é mais simples que o sistema de entidades do Drupal. Para times enterprise, eu olharia mais seriamente para Drupal 10/11 ou um headless CMS próprio. Dito isso, WordPress com ACF Pro e um frontend headless pode funcionar bem para sites focused em marketing.