Guia Completo de Migração de Sites
Tudo o que você precisa saber para migrar seu site entre hospedagens com segurança e zero downtime.
🎯 Preparação para Migração
Antes de iniciar qualquer migração, é fundamental fazer um planejamento detalhado. Uma migração mal planejada pode resultar em perda de dados, tempo de inatividade prolongado e impacto negativo nos seus usuários.
Informações Necessárias
Reúna as seguintes informações antes de começar:
| Item | Descrição | Status |
|---|---|---|
| Credenciais FTP/SFTP | Acesso à hospedagem atual e nova | Obrigatório |
| Acesso ao Banco de Dados | Host, usuário, senha e nome do banco | Obrigatório |
| Painel de Controle DNS | Acesso para alterar registros do domínio | Obrigatório |
| Lista de E-mails | Contas de e-mail a serem migradas | Opcional |
| Configurações PHP | Versão do PHP e extensões necessárias | Obrigatório |
Verifique se a nova hospedagem suporta todas as tecnologias que seu site utiliza (versão PHP, extensões, SSL, etc.) antes de iniciar a migração.
💾 Realizando Backup Completo
O backup é a etapa mais crítica de todo o processo. Nunca inicie uma migração sem ter um backup completo e testado do seu site.
Backup de Arquivos via Terminal
# Compactar todos os arquivos do site
cd /var/www/html
tar -czvf backup-site-$(date +%Y%m%d).tar.gz .
# Verificar o tamanho do backup
ls -lh backup-site-*.tar.gz
Backup do Banco de Dados MySQL
# Exportar banco de dados completo
mysqldump -u usuario -p nome_banco > backup-db-$(date +%Y%m%d).sql
# Compactar o arquivo SQL (recomendado para arquivos grandes)
gzip backup-db-*.sql
✅ Checklist de Backup
- Backup de todos os arquivos (public_html, www ou htdocs)
- Backup do banco de dados completo
- Backup dos arquivos de configuração (.htaccess, wp-config.php, etc.)
- Exportação das contas de e-mail (se aplicável)
- Download dos certificados SSL personalizados
- Anotação de todas as tarefas cron configuradas
- Teste de integridade dos arquivos de backup
Sempre faça o download do backup para seu computador local. Não confie apenas em backups armazenados no servidor que será descontinuado.
🚀 Executando a Migração
Com o backup seguro em mãos, você pode iniciar a transferência dos arquivos para a nova hospedagem.
Transferência via SFTP
Use um cliente FTP como FileZilla, Cyberduck ou WinSCP para transferir os arquivos:
- Conecte-se à nova hospedagem usando as credenciais SFTP fornecidas
- Navegue até o diretório raiz do site (public_html, www ou httpdocs)
- Faça upload de todos os arquivos do backup
- Verifique se as permissões estão corretas (geralmente 755 para pastas e 644 para arquivos)
Transferência via Terminal (rsync)
# Transferir arquivos com rsync (mais rápido e seguro)
rsync -avz -e ssh /caminho/local/site/ usuario@novoservidor:/var/www/html/
# Ou transferir o arquivo compactado e extrair no destino
scp backup-site.tar.gz usuario@novoservidor:/var/www/html/
ssh usuario@novoservidor "cd /var/www/html && tar -xzvf backup-site.tar.gz"
Para sites grandes, o rsync é muito mais eficiente que FTP tradicional, pois transfere apenas as diferenças entre arquivos e suporta retomada em caso de falhas.
🗄️ Migração de Banco de Dados
A migração do banco de dados requer atenção especial, principalmente se houver alteração de domínio ou prefixo de tabelas.
Importar Banco na Nova Hospedagem
# Criar novo banco de dados (se necessário)
mysql -u root -p -e "CREATE DATABASE nome_banco CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# Importar o dump do banco
mysql -u usuario -p nome_banco < backup-db.sql
# Se o arquivo estiver compactado
gunzip < backup-db.sql.gz | mysql -u usuario -p nome_banco
Atualizar URLs no WordPress
Se você está migrando um site WordPress e mudando de domínio:
-- Atualizar URLs na tabela options
UPDATE wp_options SET option_value = 'https://novodominio.com.br'
WHERE option_name = 'siteurl' OR option_name = 'home';
-- Atualizar URLs em posts (busca e substitui)
UPDATE wp_posts SET guid = REPLACE(guid, 'antigoDominio.com.br', 'novodominio.com.br');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'antigoDominio.com.br', 'novodominio.com.br');
WordPress armazena dados serializados. Usar busca e substituição direta pode corromper dados. Considere usar ferramentas como WP-CLI ou plugins especializados.
🌐 Configuração de DNS
Após testar o site na nova hospedagem (usando arquivo hosts ou subdomínio temporário), é hora de apontar o DNS.
Registros DNS Essenciais
| Tipo | Nome | Valor | TTL |
|---|---|---|---|
| A | @ | IP do novo servidor | 3600 |
| A | www | IP do novo servidor | 3600 |
| MX | @ | Servidor de e-mail | 3600 |
| TXT | @ | Registros SPF/DKIM | 3600 |
A propagação do DNS pode levar de 15 minutos até 48 horas. Durante esse período, alguns usuários podem ver o site antigo e outros o novo.
✅ Verificações Pós-Migração
Após a migração, realize uma série de testes para garantir que tudo está funcionando corretamente.
📋 Checklist Pós-Migração
- Site carrega corretamente na página inicial
- Todas as páginas internas estão acessíveis
- Formulários de contato funcionam e enviam e-mails
- Login de usuários/admin está funcional
- Imagens e arquivos de mídia carregam corretamente
- Certificado SSL está ativo e válido (HTTPS)
- Redirecionamentos (301) estão funcionando
- Sitemap e robots.txt estão acessíveis
- Google Analytics/Tags estão coletando dados
- E-mails transacionais estão sendo enviados
- Backups automáticos configurados na nova hospedagem
- Cron jobs recriados e funcionando
Se todos os itens do checklist estão OK, sua migração foi um sucesso! Mantenha o backup da hospedagem antiga por pelo menos 30 dias.
🔧 Resolução de Problemas
Erro 500 - Internal Server Error
Geralmente causado por arquivo .htaccess incompatível ou permissões incorretas.
# Verificar logs de erro
tail -f /var/log/apache2/error.log
# Corrigir permissões
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
Erro de Conexão com Banco de Dados
Verifique se as credenciais no arquivo de configuração estão atualizadas para o novo servidor.
Imagens Quebradas
Pode ser causado por URLs absolutas no banco de dados ou permissões incorretas na pasta de uploads.
E-mails Não Chegam
Verifique se os registros MX, SPF e DKIM estão corretamente configurados no DNS.
Se você está enfrentando problemas que não consegue resolver, entre em contato com o suporte técnico da sua nova hospedagem. A maioria oferece assistência na migração.