12 min de leitura · Guia técnico
Migrar WordPress entre hospedagens sem downtime é um processo técnico que permite transferir um site WordPress de um servidor para outro mantendo-o acessível durante toda a operação. Para executar uma migração sem interrupção, você precisa preparar o ambiente de destino, sincronizar os dados e alterar o DNS de forma gradual. Este procedimento completo garante que seu site permaneça online durante as 2 a 24 horas necessárias para a transferência.
Pré-requisitos para migração sem downtime
- Acesso administrativo completo ao servidor de origem e destino
- Backup completo do site WordPress atual (arquivos e banco de dados)
- Credenciais de FTP/SFTP ou painel de controle da nova hospedagem
- Acesso ao painel de gerenciamento de DNS do domínio
- TTL (Time To Live) do DNS configurado para 300 segundos (5 minutos) pelo menos 24 horas antes da migração
- Certificado SSL válido disponível no servidor de destino
Preparação do ambiente de destino
O primeiro passo para migrar WordPress sem interrupção é configurar completamente o novo servidor antes de iniciar a transferência de dados. Esta preparação prévia é fundamental para minimizar o tempo de inatividade.
Acesse o painel de controle da nova hospedagem e crie o banco de dados MySQL que receberá os dados do WordPress:
CREATE DATABASE novo_wordpress_db;
CREATE USER 'novo_usuario'@'localhost' IDENTIFIED BY 'senha_segura';
GRANT ALL PRIVILEGES ON novo_wordpress_db.* TO 'novo_usuario'@'localhost';
FLUSH PRIVILEGES;
Configure o domínio temporário ou subdomínio para testar o site no novo servidor. A maioria dos provedores oferece URLs temporárias no formato:
http://seudominio.tempurl.provedor.com
ou
http://ip-do-servidor/~usuario
Instale a mesma versão do PHP utilizada no servidor original e configure as extensões necessárias. Verifique a compatibilidade executando:
php -v
php -m | grep -E "(mysql|gd|curl|zip|xml)"
Transferência e sincronização de arquivos WordPress
A transferência de arquivos WordPress deve ser executada de forma eficiente para reduzir o tempo necessário para sincronização. Utilize ferramentas que permitam transferência incremental e compressão de dados.
Conecte-se ao servidor de origem via SSH e crie um arquivo compactado dos arquivos WordPress:
cd /caminho/para/wordpress
tar -czf wordpress_backup.tar.gz --exclude='wp-content/cache' --exclude='*.log' .
Transfira o arquivo compactado para o novo servidor usando rsync para otimizar a velocidade:
rsync -avz --progress wordpress_backup.tar.gz usuario@novo-servidor:/caminho/destino/
No servidor de destino, extraia os arquivos mantendo as permissões originais:
cd /caminho/destino/wordpress
tar -xzf wordpress_backup.tar.gz
chown -R www-data:www-data .
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Output esperado: Os arquivos devem ser extraídos preservando a estrutura de diretórios original, com permissões adequadas para o servidor web.
Configuração do wp-config.php
Edite o arquivo wp-config.php no novo servidor para conectar ao banco de dados de destino:
define('DB_NAME', 'novo_wordpress_db');
define('DB_USER', 'novo_usuario');
define('DB_PASSWORD', 'senha_segura');
define('DB_HOST', 'localhost');
Migração e importação do banco de dados
A migração do banco de dados WordPress requer cuidado especial com URLs e caminhos absolutos que podem quebrar a funcionalidade do site no novo ambiente.
No servidor de origem, exporte o banco de dados MySQL:
mysqldump -u usuario_origem -p banco_origem > wordpress_db_backup.sql
Transfira o arquivo SQL para o novo servidor e importe os dados:
mysql -u novo_usuario -p novo_wordpress_db < wordpress_db_backup.sql
Atenção: Antes de alterar URLs no banco de dados, certifique-se de ter um backup completo, pois alterações incorretas podem corromper o site.
Atualize as URLs no banco de dados usando WP-CLI ou comandos SQL diretos:
wp search-replace 'https://site-antigo.com' 'https://site-novo.com' --dry-run
wp search-replace 'https://site-antigo.com' 'https://site-novo.com'
Alternativamente, use comandos SQL para atualizar as URLs principais:
UPDATE wp_options SET option_value = 'https://site-novo.com' WHERE option_name = 'home';
UPDATE wp_options SET option_value = 'https://site-novo.com' WHERE option_name = 'siteurl';
Verificação da integridade dos dados
Confirme que a importação foi bem-sucedida verificando as tabelas principais:
SELECT COUNT(*) FROM wp_posts WHERE post_status = 'publish';
SELECT COUNT(*) FROM wp_users;
SELECT option_value FROM wp_options WHERE option_name IN ('home', 'siteurl');
Teste completo antes da alteração de DNS
Antes de alterar o DNS e direcionar o tráfego para o novo servidor, é essencial testar todas as funcionalidades do WordPress no ambiente de destino.
Configure o arquivo hosts do seu computador para testar o site no novo servidor sem afetar outros usuários:
# Windows: C:\Windows\System32\drivers\etc\hosts
# Linux/Mac: /etc/hosts
IP_NOVO_SERVIDOR seudominio.com
IP_NOVO_SERVIDOR www.seudominio.com
Acesse o site através do navegador e verifique sistematicamente:
- Carregamento da página inicial e páginas internas
- Funcionamento do painel administrativo WordPress
- Upload e exibição de imagens
- Formulários de contato e comentários
- Plugins ativos e suas funcionalidades
- Certificado SSL e redirecionamentos HTTPS
Execute testes de performance para garantir que o novo servidor oferece velocidade adequada:
curl -o /dev/null -s -w "Tempo total: %{time_total}s\n" https://seudominio.com
Sincronização final de dados
Se o site original continuar recebendo atualizações durante os testes, execute uma sincronização incremental dos arquivos modificados:
rsync -avz --delete --exclude='wp-config.php' usuario@servidor-origem:/caminho/wordpress/ /caminho/destino/wordpress/
Alteração gradual de DNS e monitoramento
A alteração do DNS é o momento crítico da migração WordPress, pois determina quando o tráfego começará a ser direcionado para o novo servidor. Uma abordagem gradual minimiza riscos e permite reversão rápida se necessário.
Acesse o painel de gerenciamento DNS do seu domínio e localize os registros A e AAAA atuais:
dig A seudominio.com
dig AAAA seudominio.com
Altere primeiro o registro A do subdomínio www, mantendo o domínio principal inalterado inicialmente:
www.seudominio.com A IP_NOVO_SERVIDOR
Aguarde a propagação DNS (5-15 minutos com TTL baixo) e monitore o tráfego usando ferramentas como:
tail -f /var/log/nginx/access.log | grep "seudominio.com"
tail -f /var/log/apache2/access.log | grep "seudominio.com"
Após confirmar que o subdomínio www funciona corretamente, altere o registro principal:
seudominio.com A IP_NOVO_SERVIDOR
Configure redirecionamentos no servidor antigo para capturar tráfego residual durante a propagação DNS:
# No .htaccess do servidor antigo
RewriteEngine On
RewriteRule ^(.*)$ https://seudominio.com/$1 [R=302,L]
Monitoramento pós-migração
Monitore continuamente os logs de erro e acesso durante as primeiras 24 horas:
tail -f /var/log/nginx/error.log
tail -f /var/log/php/error.log
Verifique se o certificado SSL está funcionando corretamente em todos os navegadores:
openssl s_client -connect seudominio.com:443 -servername seudominio.com
Problemas comuns e como resolver
Site exibe erro de conexão com banco de dados
Causa: Credenciais incorretas no wp-config.php ou banco de dados não importado completamente.
Solução: Verifique as credenciais no wp-config.php e confirme que o banco foi importado executando SHOW TABLES; no MySQL. Reimporte o banco se necessário.
Imagens e arquivos CSS não carregam
Causa: URLs absolutas no banco de dados ainda apontam para o servidor antigo ou permissões de arquivo incorretas.
Solução: Execute novamente o comando search-replace do WP-CLI e verifique as permissões dos diretórios wp-content com ls -la wp-content/. Ajuste para 755 em diretórios e 644 em arquivos.
Painel administrativo inacessível ou lento
Causa: Plugins incompatíveis com o novo ambiente ou configurações de PHP inadequadas.
Solução: Desative todos os plugins renomeando a pasta wp-content/plugins temporariamente. Reative um por vez para identificar conflitos. Verifique se memory_limit e max_execution_time estão adequados no PHP.
Certificado SSL não funciona após migração
Causa: Certificado não instalado no novo servidor ou configuração de virtual host incorreta.
Solução: Instale um novo certificado SSL no servidor de destino usando Let's Encrypt ou importe o certificado existente. Verifique a configuração do virtual host para incluir as diretivas SSL corretas.
Propagação DNS demorada ou inconsistente
Causa: TTL alto configurado anteriormente ou cache de DNS em provedores de internet.
Solução: Aguarde até 48 horas para propagação completa. Use ferramentas como dig @8.8.8.8 seudominio.com para verificar diferentes servidores DNS. Considere usar um CDN para acelerar a transição.
Perguntas frequentes sobre migrar WordPress entre hospedagens
É possível migrar WordPress sem que o site saia do ar?
Sim, é possível migrar WordPress sem downtime usando técnicas como preparação prévia do novo servidor, sincronização de dados e alteração gradual de DNS. O processo exige planejamento cuidadoso e execução em etapas específicas.
Quanto tempo demora para migrar um site WordPress?
A migração de WordPress pode levar de 2 a 24 horas dependendo do tamanho do site, velocidade da conexão e método utilizado. Sites pequenos (até 1GB) geralmente migram em 2-4 horas, enquanto sites maiores podem precisar de planejamento estendido.
Quais arquivos são essenciais na migração do WordPress?
Os arquivos essenciais incluem todos os arquivos do diretório WordPress (wp-content, wp-config.php, .htaccess), banco de dados MySQL completo e certificados SSL se houver. É fundamental manter a estrutura de diretórios e permissões originais.
Como testar se a migração funcionou antes de alterar o DNS?
Você pode testar editando o arquivo hosts do seu computador para apontar o domínio para o novo servidor, ou usando um domínio temporário fornecido pela nova hospedagem. Isso permite verificar se tudo funciona antes da mudança definitiva.
O que fazer se algo der errado durante a migração?
Mantenha sempre um backup completo do site original antes de iniciar. Se houver problemas, você pode reverter o DNS para o servidor antigo e investigar os erros no novo ambiente sem afetar o site em produção.
Conclusão
- Execute sempre testes completos no ambiente de destino antes de alterar o DNS para garantir que todas as funcionalidades WordPress estejam operacionais
- Monitore continuamente os logs de erro e acesso durante as primeiras 24 horas após a migração para identificar e corrigir problemas rapidamente
- Mantenha backups atualizados do site original até confirmar que a migração foi totalmente bem-sucedida e estável no novo servidor
Precisa de ajuda com migração WordPress?
Nossa equipe especializada pode executar a migração do seu WordPress sem downtime, garantindo que seu site permaneça acessível durante todo o processo. Oferecemos suporte técnico completo e monitoramento 24/7 para migrações críticas.