Como corrigir site quebrado após migração do WordPress
O que é o site quebrado após migração do WordPress?
Um site quebrado após migração é o estado em que o WordPress foi movido para outro servidor ou domínio, mas não funciona corretamente no destino: o CSS não carrega (página “crua”), imagens e links apontam para o endereço antigo, ou o site nem abre. Isso ocorre porque a migração copia arquivos e banco, mas o banco ainda guarda referências (URLs, caminhos) do ambiente de origem.
Como identificar
- O site abre sem estilo, como texto puro (“o CSS sumiu”).
- Imagens e links apontam para o domínio ou caminho antigo e retornam 404.
- Tela branca (white screen) ou “Error establishing a database connection” ao abrir.
- O wp-admin redireciona para a URL antiga e não permite login.
Como prevenir
- Use um plugin de migração confiável que já faz o search-replace da URL ao importar
- Faça backup completo de arquivos e banco antes de iniciar qualquer migração
- Teste o site em staging com o domínio final antes de apontar o DNS para o novo host
Causa
- URL antiga (siteurl/home e referências no conteúdo) ainda gravada no banco de dados após a cópia.
- Credenciais de banco erradas no wp-config.php do novo servidor (DB_NAME, DB_USER, DB_PASSWORD, DB_HOST).
- Caminho absoluto de arquivos diferente no novo host (uploads e includes apontando para a pasta antiga).
- .htaccess ou regras de servidor da origem incompatíveis com o novo ambiente (Apache vs Nginx).
- Permissões de arquivos e pastas incorretas após a transferência (FTP sem preservar 644/755).
Como resolver
- Confirme o wp-config.php do novo host: compare DB_NAME, DB_USER, DB_PASSWORD e DB_HOST com os dados do painel do novo servidor. Banco copiado mas credenciais antigas geram tela branca ou erro de conexão.
- Defina a URL temporariamente no wp-config: se o admin redireciona para o domínio antigo, force a URL nova com WP_HOME e WP_SITEURL no wp-config.php para conseguir entrar e ajustar.
- Faça o search-replace da URL no banco: substitua a URL antiga pela nova em todo o banco, de forma a preservar dados serializados. Use o WP-CLI (search-replace) ou a ferramenta Better Search Replace; nunca um find-and-replace cru.
- Regenere o .htaccess e os permalinks: em Configurações > Links permanentes, clique em Salvar para reescrever o .htaccess no padrão do novo servidor.
- Corrija permissões e limpe cache: aplique 644 para arquivos e 755 para pastas via FTP e limpe qualquer cache (plugin/CDN) para o site renderizar com os caminhos novos.
# WP-CLI: substitui a URL antiga pela nova em TODO o banco, preservando dados serializados
wp search-replace 'https://dominio-antigo.com' 'https://dominio-novo.com' --all-tables --report-changes-only
# Teste primeiro com --dry-run (nao grava nada, so mostra o que mudaria):
wp search-replace 'https://dominio-antigo.com' 'https://dominio-novo.com' --all-tables --dry-run














