Como Migrar WordPress Para Outro Domínio (Atualizando URLs no Banco e PHP)

Resumo: este passo a passo mostra um jeito seguro de migrar um WordPress para outro domínio, ajustando URLs no banco e garantindo compatibilidade de versão/PHP, com checklist e pontos de atenção.


O Problema

Quando você muda um WordPress de um domínio para outro, a URL antiga fica gravada em vários lugares (opções, conteúdo, metadados e até plugins). Resultado:

  • links internos quebrados
  • imagens e arquivos apontando para o domínio antigo
  • plugins (ex: Jetpack) “presas” na URL antiga
  • erro 500 por incompatibilidade de versão do WordPress com PHP

Checklist Antes de Começar

  • 1) Backup dos arquivos (principalmente wp-content)
  • 2) Backup do banco de dados (dump completo)
  • 3) Anote o prefixo das tabelas (ex: wp_, form_)
  • 4) Confirme a versão do WordPress e requisitos de PHP/MySQL

A Solução

1) Descubra a versão exata do WordPress

No WordPress migrado (ou no backup), abra:

/wp-includes/version.php
 
$wp_version = '5.6.13';
$required_php_version = '5.6.20';
$required_mysql_version = '5.0';

Por quê isso importa? Se o servidor novo estiver com PHP abaixo do requerido, você pode tomar erro 500 ou falhas estranhas no admin.


2) Baixe a mesma versão do WordPress (recomendado)

Baixe a versão correspondente e use para validar/normalizar os arquivos do core:

  • substitua somente as pastas: wp-admin e wp-includes
  • não mexa em: wp-content

3) Ajuste as URLs no banco de dados

Depois de importar o banco no servidor novo, rode os REPLACE() para trocar o domínio antigo pelo novo.

⚠️ Importante: mantenha o mesmo protocolo (https/http) e o mesmo caminho (/form) se ele existir no domínio antigo.

-- Troque "form_" pelo prefixo real das suas tabelas
-- Antigo: https://dominioantigo.com.br/form
-- Novo:   https://dominionovo.com.br
 
UPDATE form_options 
SET option_value = REPLACE(option_value,
'https://dominioantigo.com.br/form',
'https://dominionovo.com.br/form')
WHERE option_name IN ('home', 'siteurl');
 
UPDATE form_options 
SET option_value = REPLACE(option_value,
'https://dominioantigo.com.br/form',
'https://dominionovo.com.br/form')
WHERE option_name IN ('jetpack_plugin_api_action_links');
 
UPDATE form_posts
SET guid = REPLACE(guid,
'https://dominioantigo.com.br/form',
'https://dominionovo.com.br/form');
 
UPDATE form_posts
SET post_content = REPLACE(post_content,
'https://dominioantigo.com.br/form',
'https://dominionovo.com.br/form');
 
UPDATE form_postmeta
SET meta_value = REPLACE(meta_value,
'https://dominioantigo.com.br/form',
'https://dominionovo.com.br/form');

4) Ajuste o wp-config.php (pontos rápidos)

  • confira DB_NAME, DB_USER, DB_PASSWORD, DB_HOST
  • confira se o $table_prefix é o mesmo do banco importado
$table_prefix = 'form_'; // exemplo: deve bater com o banco

5) Pós-migração: validações rápidas

  • Admin: acesse /wp-admin e valide login
  • Links permanentes: vá em Configurações → Links Permanentes e clique em “Salvar” (sem mudar nada)
  • Cache: limpe cache do plugin/servidor/CDN
  • Mídia: valide algumas páginas antigas com imagens

Erros comuns (e correção rápida)

Erro 500 depois da migração

  • Causa comum: PHP incompatível com a versão do WP
  • Correção: ajuste PHP para a versão mínima do $required_php_version

Site abre, mas imagens continuam no domínio antigo

  • Causa comum: URL antiga salva em post_content e postmeta
  • Correção: rode os REPLACE em posts e postmeta (já está no script acima)

Plugins quebraram (ex: Jetpack)

  • Causa comum: configs internas apontando para URL antiga
  • Correção: ajuste opções específicas do plugin (como no exemplo do Jetpack)

Conclusão

Uma migração “limpa” de WordPress depende de 3 coisas:

  • 1) trocar URLs em todos os pontos certos do banco
  • 2) manter a versão do core (ou atualizar com planejamento)
  • 3) garantir compatibilidade de PHP no servidor novo

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima