Migração de WordPress para Astro e Next.js

Migração de WordPress para Astro e Next.js

5.00/5 - (17 votes)
7 min de leitura
Guia

Migro o frontend de sites WordPress para Astro ou Next.js e mantenho a edição onde está, no WordPress. Chamo-me Mariusz Szatkowski, trabalho com WordPress desde 2006 e faço cada migração pessoalmente, sem equipa nem subcontratados. Antes de propor uma troca de framework, meço onde está o problema: muitas vezes basta corrigir a cache, as imagens ou um plugin que faz consultas em cada pedido.

#Quando compensa migrar o WordPress para Astro ou Next.js?

Um WordPress com cache bem configurada já serve páginas prontas. A migração faz sentido quando o problema é o próprio frontend: um tema que ninguém se atreve a mexer, construtores de páginas que carregam muito JavaScript, ou um design que pede componentes que o tema não suporta bem. Também faz sentido quando quer separar o site público da administração, para que o WordPress deixe de responder diretamente a cada visita.

Isso altera a superfície de ataque, mas não a elimina. O WordPress, os plugins, as contas e a API continuam a precisar de atualizações, controlo de acesso e cópias de segurança.

#O que recebe no fim

  • Uma medição inicial. URL representativos com LCP, INP, CLS e TTFB medidos antes de qualquer alteração, e a camada responsável pelo problema identificada. Se bastar corrigir a cache ou as imagens, digo-lho em vez de vender uma migração.
  • Um frontend sob controlo de versões. Templates e componentes Astro ou Next.js em git, publicação por compilação e pré-visualização antes de publicar.
  • A edição no WordPress. As mesmas contas, os mesmos papéis, o mesmo fluxo de publicação.
  • Formulários, integrações e redirecionamentos transferidos, com a lista de URL a verificar depois do lançamento.
  • Um relatório antes e depois. Os mesmos URL, as mesmas condições de teste, as duas datas de medição e os seus dados de campo, se os tiver. Sem esse conjunto, uma percentagem é um objetivo.

#Astro ou Next.js?

AstroNext.js
Renderização por defeitoTodo o site é pré-renderizado; export const prerender = false ativa a renderização a pedido por rotaNo App Router, layouts e páginas são Server Components; estático ou dinâmico depende da rota
JavaScript no navegadorNenhum para componentes Astro; as ilhas interativas usam client:load, client:idle ou client:visibleO React hidrata os Client Components marcados com "use client"
Conteúdo que mudaNova compilação ou rotas a pedido; server:defer para server islandsISR com export const revalidate, revalidatePath e revalidateTag
AlojamentoEstático em qualquer servidor; para rotas a pedido, adaptadores oficiais para Cloudflare, Netlify, Node e VercelServidor Node.js ou Docker; com output: 'export' perde ISR, Proxy, Server Actions e a otimização de imagens com o loader por defeito

O Astro encaixa em blogs, sites institucionais e documentação. O Next.js justifica-se quando o frontend é uma aplicação com sessões de utilizador, dados por pedido ou alterações feitas no servidor. No Next.js 16 a convenção de ficheiro middleware passou a chamar-se proxy; tutoriais antigos que falam de middleware descrevem a mesma função.

#E se o seu frontend já estiver em Next.js?

Há projetos que chegam com WordPress headless e um frontend Next.js que já não precisa de ser uma aplicação. O guia oficial de migração de Next.js para Astro descreve o caminho que sigo:

  • Projeto novo com npm create astro@latest e a integração @astrojs/react para reaproveitar componentes React existentes (ficheiros .jsx ou .tsx).
  • Pastas: public/ fica igual; o resto passa para src/, e só src/pages/ define rotas.
  • Layout: _document ou app/layout dão lugar a um layout Astro com <html>, <head>, <body> e <slot />.
  • Dados: getStaticProps() é substituído por await no frontmatter do componente, com fetch(), getCollection() ou getEntry().
  • Sintaxe: <Link> passa a <a href="">, {children} passa a <slot /> e as props leem-se de Astro.props.
  • Imagens: next/image dá lugar a Image de astro:assets em ficheiros .astro e .mdx; dentro de componentes React usa-se um <img /> normal.

O que depende de ISR ou de revalidatePath não tem equivalente direto. Resolve-se com novas compilações a cada publicação ou com rotas renderizadas a pedido.

#Como é que o Astro lê o WordPress?

O guia do Astro para WordPress usa a REST API integrada em /wp-json/wp/v2/, por exemplo /wp-json/wp/v2/posts. As leituras públicas não exigem autenticação por defeito. Com _embed vêm também recursos relacionados, como a imagem de destaque, e com _fields limita a resposta aos campos que o template usa. O WPGraphQL é opcional.

Num site estático, rotas dinâmicas como /blog/[slug] precisam de getStaticPaths(). Com renderização a pedido não é necessário, mas cada visita consulta a API e a cache à frente do frontend volta a ser importante.

#Cookies e consentimento ao trocar de frontend

Um frontend novo significa um banner de consentimento novo, e é aí que muitas migrações falham. A Lei n.º 41/2004, que transpõe a Diretiva 2002/58/CE, exige no artigo 5.º, na redação da Lei n.º 46/2012, consentimento prévio, com informação clara e completa, para guardar ou aceder a informação no equipamento do utilizador. Ficam de fora o armazenamento técnico necessário à transmissão e o que for estritamente necessário ao serviço pedido pelo utilizador.

Na migração faço o inventário de cada script do site antigo (analítica, píxeis, vídeos incorporados, chat) e no novo frontend nenhum carrega antes do consentimento. Em Astro isso costuma ser mais simples, porque o HTML não arrasta JavaScript de plugins que ninguém reviu.

#Cenários habituais

#Site de conteúdo ou blog

O caso mais claro para Astro. Os artigos mudam pouco e são muito lidos, por isso pré-renderizá-los como HTML elimina as consultas à base de dados em cada visita. A questão prática é a publicação: compilação automática depois de cada publicação no WordPress, ou rotas escolhidas renderizadas a pedido.

#Loja WooCommerce

O catálogo pode ser estático, mas carrinho, checkout e conta de cliente dependem de sessões e de dados por pedido. Antes de propor um WooCommerce headless, verifico que plugins de pagamento e de envio dependem dos templates do WooCommerce, como os de MB WAY ou Multibanco que a loja já usa. Mais pormenores em migração WooCommerce headless.

#Aplicação com utilizadores autenticados

Painéis, áreas reservadas e formulários com lógica de servidor encaixam melhor em Next.js, com Server Components para os dados e Client Components só onde há interação.

#Como decorre o processo?

  1. Auditoria. Inventário de URL, templates, formulários, integrações e scripts de terceiros, com medição inicial.
  2. WordPress como backend. Desligo o que só servia o frontend antigo, preparo a pré-visualização e restrinjo o acesso à API onde for preciso.
  3. Novo frontend. Implemento o design que me entrega, em ficheiro Figma ou num modelo onde marca que elemento fica onde. Design gráfico e wireframes não são trabalho meu.
  4. Testes em staging. Redirecionamentos, metadados, dados estruturados, formulários, consentimento e analítica. Cada alteração fica descrita por escrito.
  5. Lançamento. Troca de DNS depois da sua aprovação em staging, verificação da lista de URL e da cobertura no Search Console.

#SEO durante a migração

Os URL mantêm-se ou recebem um 301. Títulos, descrições, URL canónicos, hreflang, Open Graph, dados estruturados, robots.txt e o sitemap são reconstruídos no novo frontend e comparados com o site antigo antes do lançamento. Depois acompanho a cobertura no Search Console. Uma migração bem feita evita perdas; não promete subidas.

#Como começar?

Escreva-me pelo formulário de contacto com o endereço do site, o que o trava hoje e que integrações tem. Recebe resposta por escrito com as perguntas em aberto e, depois da auditoria, uma proposta com os pressupostos em que assenta. Faturo como B2B com o NIF europeu PL7393037445 e autoliquidação do IVA.

#Que serviços se relacionam com a migração?

Explorar outros serviços WordPress e base de conhecimento

Reforce o seu negócio com suporte técnico profissional em áreas-chave do ecossistema WordPress.

Recomendações do LinkedIn

Recomendações e opiniões sobre o trabalho com a WPPoland

Recomendações selecionadas de líderes das comunidades WordPress, WordCamp e e-commerce - com ênfase no cumprimento de prazos, profundidade técnica e abordagem orientada ao negócio no desenvolvimento WordPress.

Karolina Czapla

Karolina Czapla

Estratega de Marketing, Performance & Digital Strategy

“Trabalhar com o Mariusz no WordCamp mostrou‑me como é raro combinar competências técnicas profundas com verdadeira liderança. Planeia, coordena e entrega com precisão, dando ao mesmo tempo espaço para a equipa crescer. Q...”

Co‑organizadora, WordCamp Gdynia 2024 & 2025

Anna Kamińska

Anna Kamińska

Talent Acquisition Specialist / HR People Partner

“O portefólio do Mariusz fala por si. Reflete precisão, versatilidade e um forte sentido de responsabilidade. Pode confiar nele para conduzir um projeto da ideia até à entrega, mantendo todas as partes informadas.”

Trabalhámos na mesma equipa

Sarah‑Luisa Kwolek

Sarah‑Luisa Kwolek

Gestora de Projetos TI & Product Owner, Web/App

“Durante mais de dois anos pude sempre contar com o Mariusz para tarefas WordPress, desde styling e templates até integrações. Traz estabilidade à equipa e mantém a parte de frontend sob controlo.”

Mariusz foi seu cliente em projetos WordPress

Argert Boja

Argert Boja

Senior Full‑Stack Developer

“Mariusz é o colega de equipa que todos gostariam de ter: fortes competências full‑stack em WordPress, explicações claras e uma atitude positiva mesmo sob pressão. Move‑se facilmente entre plugins, performance e layouts G...”

Trabalhámos juntos em projetos WordPress

Varun Patil

Varun Patil

Líder de Growth & CRM

“Para além do desenvolvimento, o Mariusz entende SEO, analytics e growth. Fala diretamente com stakeholders, faz as perguntas certas e entrega soluções que mexem nos indicadores de negócio, de AMP a tracking e performance...”

Foi gestor do Mariusz em iniciativas de growth

Rafał Osiński

Rafał Osiński

Founder @ EasyTrips.pl, Senior WordPress Dev

“Conheço o Mariusz da comunidade WordPress há muitos anos. É fiável, muito envolvido e está sempre presente, em meetups, WordCamps e projetos. Se procura colaboração a longo prazo e alguém que trate o seu site como se fos...”

Co‑organizador da comunidade WordUp Trójmiasto & WordCamp

Daniel Blossfeld

Daniel Blossfeld

Consultor de Otimização de Processos e Digitalização

“Tive o prazer de trabalhar com o Mariusz por quase três anos. Durante esse tempo, as suas habilidades de desenvolvimento WordPress provaram ser inestimáveis em uma variedade de projetos, desde a construção de websites at...”

Mariusz foi seu cliente em projetos WordPress

Natalie Wiszczor

Natalie Wiszczor

Gestora de CRM e E-mail Marketing

“Tive o grande prazer de trabalhar com o Mariusz por mais de 4 anos na área técnica. Durante esse tempo, ele provou ser um colega competente e confiável. O que se destacou em particular foi a sua natureza amigável e a sua...”

Trabalhou com Mariusz em equipas diferentes

Mark Chalklen

Mark Chalklen

Head of Design & Build na Itineris Limited

“Mariusz é um ótimo membro da equipa, sempre feliz em se dedicar a qualquer tarefa e aprender coisas novas. Um ótimo comunicador e um cara legal para trabalhar. Difícil de vencer na nossa tabela de classificação semanal d...”

Geriu Mariusz diretamente

Jessica Di Pasquale

Jessica Di Pasquale

Liderando iniciativas de SEO com estratégias de crescimento baseadas em dados.

“Mariusz é um cara muito habilidoso, paciente e experiente. Sempre pronto para ajudar e corrigir erros, eu realmente apreciei trabalhar com ele. Ele é um ótimo colega!”

Geriu Mariusz diretamente

Biki John

Biki John

Apaixonado por Marketing de Conteúdo e Entusiasta de SEO

“Foi ótimo trabalhar com o Mariusz. Eu realmente apreciei o seu vasto conhecimento de WordPress e como isso foi útil sempre que precisei de suporte para navegar no CMS. Elogio totalmente o Mariusz pela sua paciência, bom ...”

Trabalhou com Mariusz em equipas diferentes

Rafal Borowiec

Rafal Borowiec

Desenvolvedor de Software, Consultor, Gerente e Professor

“Tive a oportunidade de trabalhar com o Mariusz por 7 meses. Ele se destaca na otimização técnica para motores de busca (SEO). Mariusz também possui forte experiência em desenvolvimento AMP, GTM e GA. Mariusz se sente mui...”

Geriu Mariusz diretamente

Belinda Koch

Belinda Koch

Analista de Web-Tracking na TUI

“Mariusz é uma ótima pessoa para trabalhar. Ele é extremamente motivado para aprender coisas novas e compartilhar o seu conhecimento, e é muito experiente em uma ampla gama de tópicos. Trabalhamos juntos em tópicos de aná...”

Trabalhou com Mariusz em tópicos de análise digital e rastreamento

Ali Nezamolmaleki

Ali Nezamolmaleki

Crescimento, SEO, Pensamento Analítico, AMP

“Mariusz é uma pessoa extremamente talentosa na sua área de trabalho. Ele é sempre capaz de dar uma nova perspetiva para resolver problemas e pensar fora da caixa em situações onde tudo parece estar bloqueado. Trabalhar c...”

Trabalhou com Mariusz na mesma equipa

Karol Jakubcewicz

Karol Jakubcewicz

Desenvolvedor Front-end / JavaScript

“Mariusz é um desenvolvedor WordPress e especialista SEO/SEM incrivelmente experiente com quem tive o prazer de trabalhar por quase dois anos. Ele foi uma das figuras-chave responsáveis pela melhoria constante do tempo de...”

Trabalhou com Mariusz na mesma equipa

Paweł Lewczuk

Paweł Lewczuk

Desenvolvedor Front-end, Desenvolvedor WordPress

“Colaborei com o Mariusz em vários projetos e a nossa cooperação foi sempre exemplar. Acredito que há muitos mais projetos conjuntos à nossa frente. Altamente recomendado!”

Mariusz foi cliente do Paweł

Przemek Wroblewski

Przemek Wroblewski

Desenvolvedor de Software com mais de 20 anos de experiência

“Encontrei no Mariusz alguém com grande experiência e conhecimento profundo de soluções frontend. Um desenvolvedor WordPress poderoso, experiente e responsável. Tem facilidade em construir relações interpessoais. Tinha a ...”

Trabalhou com Mariusz em equipas diferentes

Perguntas frequentes

Perguntas sobre escopo, entrega, custos e qualidade.

Vou perder as minhas posições no Google durante a migração para Astro ou Next.js?#
Ninguém pode garantir posições. O que controlo: cada URL indexado mantém o endereço ou recebe um redirecionamento 301, e títulos, descrições, URL canónicos, hreflang e dados estruturados passam para o novo frontend. Antes do lançamento comparo um rastreio do site antigo e do novo, e depois acompanho a cobertura no Google Search Console.
Quanto tempo demora uma migração de WordPress para Astro?#
Depende do número de templates, idiomas, formulários e integrações. O prazo fica no orçamento, depois da medição inicial, com os pressupostos em que assenta.
Posso continuar a usar o WordPress para edição de conteúdo após migrar para Astro?#
Sim. Os seus editores continuam no WordPress com as mesmas contas e papéis. O frontend em Astro lê o conteúdo pela REST API do WordPress, que por defeito permite leituras públicas sem autenticação, ou pelo WPGraphQL se o instalar. Num site estático, cada publicação exige uma nova compilação ou uma rota renderizada a pedido; isso decide-se no projeto.
Quais são os principais benefícios de migrar de WordPress para Astro?#
O Astro pré-renderiza por defeito e os componentes Astro chegam ao navegador como HTML sem JavaScript de cliente, exceto os que marcar com uma diretiva client:*. Um WordPress com boa cache também serve páginas prontas, por isso meço primeiro onde está o problema. Uma framework não garante pontuação nem posições. O WordPress, os plugins e a API continuam a precisar de atualizações, controlo de acesso e cópias de segurança.
O que acontece aos meus plugins WordPress após a migração?#
Cada plugin é avaliado antes da migração. O que desenha algo no frontend (sliders, construtores de páginas, formulários) tem de ser substituído no novo código. A cache de objetos, a segurança e a manutenção da base de dados continuam a contar no backend. O âmbito indica o que se mantém, o que muda e o que sai.
Next.js ou Astro, qual é melhor para o meu projeto?#
O Astro serve blogs, sites institucionais e documentação, onde quase tudo é conteúdo. O Next.js serve quando o frontend é uma aplicação: sessões de utilizador, dados por pedido, Server Actions ou ISR. O guia oficial de migração do Astro avisa que aplicações muito interativas, como painéis de controlo, podem exigir técnicas mais avançadas em Astro.
Quanto custa uma migração de WordPress para Astro?#
O orçamento é individual, conforme templates, volume de conteúdo, integrações e idiomas. Recebe uma proposta escrita com o âmbito e os pressupostos. Os preços estão na página de preços, não aqui.
Dá suporte após a conclusão da migração?#
Sim, como manutenção mensal: monitorização de disponibilidade a cada 1 a 5 minutos, cópias de segurança com pelo menos 30 dias de retenção em países da UE e atualizações testadas primeiro em staging. Não ofereço piquete 24/7 nem tempos de resposta garantidos.

Precisa de FAQ adaptado ao setor e mercado? Crio uma versão alinhada com os seus objetivos de negócio.

Fale connosco

Artigos Relacionados