Para migrar um site de uma hospedagem para outra sem tirar nada do ar, você copia tudo para o servidor novo, testa por lá enquanto o antigo continua atendendo os visitantes e só então aponta o DNS. A hospedagem antiga só é cancelada depois que o site, os e-mails e as rotinas já estão funcionando no lugar novo.

O processo é o mesmo para um blog, um site institucional ou uma loja virtual. Muda o volume de dados e a quantidade de detalhes para conferir. Abaixo está a ordem que usamos e os erros que mais aparecem em migrações de sites.


1. Faça o inventário do site

A maior parte dos problemas de migração vem de algo que ninguém lembrou que existia: um subdomínio criado anos atrás, uma tarefa agendada que gera o feed de produtos, um registro TXT que valida o domínio em outra ferramenta. Antes de copiar qualquer arquivo, abra o painel da hospedagem atual e anote o que está em uso.

ItemOnde conferir no painel atualO que anotar
ArquivosGerenciador de arquivos ou FTPPastas de cada site e subdomínio, tamanho total, arquivos ocultos como o .htaccess
Bancos de dadosMySQL/MariaDB e phpMyAdminNome de cada banco, usuário e qual site usa qual banco
E-mailsContas de e-mailContas, encaminhadores, respostas automáticas, listas e o espaço ocupado
DNSEditor de zonaTodos os registros: A, CNAME, MX, TXT (SPF, DKIM, verificações) e onde estão os nameservers
SSLSSL/TLSSe o certificado é gratuito automático ou comprado, e a data de validade
CronTarefas cronComando e horário de cada tarefa agendada
AmbienteSeletor de PHPVersão do PHP, extensões ativas e limites (memória, upload)

Confira também onde o domínio está registrado. Trocar de hospedagem não exige trocar o registro do domínio: são coisas separadas. Se quiser levar o domínio para a mesma empresa depois, o caminho está no guia de transferência de domínio, mas faça isso em outro momento, nunca no meio da migração.


2. Backup completo antes de mexer

A cópia que vai para o servidor novo não substitui um backup guardado fora das duas hospedagens. Se algo der errado na transferência, é ele que salva o site. Baixe para o seu computador ou para um armazenamento em nuvem:

  1. O backup completo da conta, se o painel for cPanel (menu Backup ou Assistente de Backup).
  2. Um arquivo .sql de cada banco de dados, exportado à parte.
  3. Uma cópia da pasta do site, para não depender só do arquivo compactado.
  4. Um print ou exportação da zona DNS e da lista de tarefas cron.

Dica: abra o arquivo baixado e confira se ele não está vazio ou corrompido. Um backup que nunca foi testado é só uma esperança. Entenda os tipos de cópia, incluindo o snapshot, no guia sobre o que é backup e as vantagens do backup em snapshot.


3. Transferência de cPanel para cPanel

Quando as duas hospedagens usam cPanel, o caminho mais curto é a cópia da conta inteira. Ela leva arquivos, bancos de dados, contas de e-mail com as mensagens e boa parte das configurações da conta de uma vez. Só tem um detalhe: o backup completo do cPanel não é restaurado pelo próprio cPanel, e sim pelo WHM, que é o painel do administrador do servidor. Na prática, quem faz essa etapa é a empresa de destino.

  1. Gere o backup completo da conta no cPanel antigo, ou combine com a nova hospedagem para que ela faça a cópia direto do servidor antigo.
  2. Envie o arquivo (ou o acesso, se for a cópia direta) pelo canal oficial de suporte da empresa nova.
  3. Depois da restauração, confira no cPanel novo se estão lá os domínios adicionais, subdomínios, bancos, contas de e-mail e tarefas cron.
  4. Se você passou a senha do cPanel antigo para a cópia, troque essa senha assim que a transferência terminar.
Pessoa segurando um notebook com painel de administração aberto diante de racks de servidores

3b. Migração manual: arquivos, banco e wp-config

Se a hospedagem antiga não usa cPanel, ou se você quer levar só um site da conta, a migração é feita em três partes. O exemplo abaixo é de WordPress, mas a lógica vale para OpenCart, Joomla e qualquer sistema com banco de dados.

Arquivos

Compacte a pasta do site em um arquivo .zip no gerenciador de arquivos, baixe e envie para a pasta pública da conta nova (normalmente public_html), descompactando por lá. Compactar evita copiar milhares de arquivos um por um por FTP e garante que arquivos ocultos, como o .htaccess, vão junto.

Banco de dados

Exporte o banco pelo phpMyAdmin (aba Exportar, formato SQL). Na hospedagem nova, crie um banco vazio e um usuário com todas as permissões nele, e importe o arquivo. Se o banco for grande e passar do limite de upload do phpMyAdmin, quem tem acesso SSH pode usar a linha de comando:

# no servidor antigo
mysqldump -u usuario_antigo -p nome_do_banco > banco.sql

# no servidor novo
mysql -u usuario_novo -p banco_novo < banco.sql

wp-config.php

Com os arquivos e o banco no lugar, ajuste o wp-config.php com os dados do banco criado na hospedagem nova. Sem isso, o site mostra o erro “Erro ao estabelecer conexão com o banco de dados”.

define( 'DB_NAME', 'banco_novo' );
define( 'DB_USER', 'usuario_novo' );
define( 'DB_PASSWORD', 'senha_do_usuario_novo' );
define( 'DB_HOST', 'localhost' );

Mantenha o $table_prefix igual ao do site antigo. Se o endereço do site também vai mudar (de domínio ou de http para https), não use “localizar e substituir” num editor de texto sobre o arquivo SQL: o WordPress guarda dados serializados que quebram com essa troca. Use um plugin de busca e substituição ou o comando wp search-replace do WP-CLI.


4. Teste antes de trocar o DNS (arquivo hosts)

Enquanto o DNS aponta para a hospedagem antiga, seus visitantes continuam vendo o site de sempre. Você pode ver a versão nova antes de todo mundo editando o arquivo hosts do seu computador, que diz ao seu navegador para ir direto ao IP do servidor novo.

SistemaOnde fica o arquivoComo editar
WindowsC:\Windows\System32\drivers\etc\hostsAbra o Bloco de Notas como administrador
macOS/etc/hostsNo Terminal: sudo nano /etc/hosts
Linux/etc/hostsCom sudo no editor que preferir

Acrescente uma linha com o IP do servidor novo (ele aparece no painel da conta nova) e o domínio, com e sem www:

203.0.113.10   seudominio.com.br www.seudominio.com.br

Salve, feche o navegador e abra uma janela anônima. A partir daí, só o seu computador enxerga o servidor novo. Navegue pelas páginas principais, faça login no painel do site, envie um formulário de contato e, se for loja, finalize um pedido de teste. Quando terminar, apague a linha do hosts; se esquecer, você vai continuar vendo o servidor novo mesmo que algo mude depois.

Atenção: sem o domínio apontado, o certificado SSL gratuito do servidor novo pode ainda não ter sido emitido. Um aviso de certificado durante o teste pelo hosts é normal nesse caso; erro de página, banco ou layout não é.


5. Troca de DNS com TTL baixo

O TTL é o tempo que os servidores de DNS pela internet guardam a resposta antiga antes de perguntar de novo. Se ele estiver em várias horas, a mudança demora várias horas para chegar a todos. Por isso, a troca começa um dia antes.

  1. Na véspera: no editor de zona da hospedagem atual, baixe o TTL dos registros A, CNAME e MX para 300 segundos. Espere pelo menos o tempo do TTL antigo para que o valor novo valha em toda parte.
  2. Congele o site: evite publicar posts ou receber pedidos durante a troca. Em lojas, escolha o horário de menos vendas. Se o site mudou desde a cópia, sincronize os arquivos e o banco de novo antes de apontar.
  3. Aponte: há dois jeitos. Você pode trocar só os registros A (e o MX, se o e-mail também muda) para o IP novo, mantendo o DNS onde está. Ou pode trocar os servidores DNS (nameservers) do domínio para os da hospedagem nova, o que leva a zona inteira para lá.
  4. Acompanhe: verifique de fora se o domínio já responde com o IP novo e mantenha a hospedagem antiga ativa.

Trocar os nameservers dá menos controle sobre o tempo, porque o TTL desses registros é definido pelo registro do domínio, não por você. E a zona nova precisa ter todos os registros que você anotou no inventário, inclusive os TXT de verificação e os MX de um e-mail externo. Domínios .br têm os nameservers alterados no painel do Registro.br; os demais, no painel da empresa onde o domínio foi registrado. Para entender por que alguns visitantes veem o site novo antes dos outros, leia o guia de propagação de DNS.

Cabos de rede de fibra conectados a um switch em um data center

6. Migração dos e-mails

O que fazer com os e-mails depende de onde eles estão hoje:

  • E-mail em um serviço separado da hospedagem: não há caixa para migrar. Só garanta que os registros MX, SPF e DKIM desse serviço estejam na zona DNS que vai responder pelo domínio depois da troca.
  • E-mail na mesma hospedagem, com cópia de conta cPanel: as caixas costumam ir junto. Confira se as contas, as senhas e o histórico de mensagens chegaram.
  • E-mail na mesma hospedagem, migração manual: crie as mesmas contas no servidor novo e copie as mensagens via IMAP. Dá para fazer configurando a conta antiga e a nova no mesmo programa de e-mail e arrastando as pastas, ou com uma ferramenta de sincronização IMAP, que é mais prática quando são muitas caixas.

Durante a propagação, parte das mensagens ainda cai no servidor antigo. Mantenha a conta antiga ativa por alguns dias depois da troca do MX e faça uma última sincronização antes de cancelar. Quem lê e-mail pelo celular vai precisar atualizar o servidor de entrada e saída se o endereço do servidor mudar.


Checklist pós-migração

Assim que o domínio estiver respondendo pelo servidor novo, passe por esta lista:

  • O cadeado aparece no navegador e o certificado SSL foi emitido para o domínio com e sem www.
  • Páginas internas, imagens e links abrem sem erro 404 (se não abrirem no WordPress, salve de novo os links permanentes).
  • Formulários enviam e as mensagens chegam na caixa de entrada.
  • E-mails saem e chegam, sem cair no spam do destinatário.
  • As tarefas cron estão cadastradas e rodando (backups de plugin, feeds, envios agendados).
  • A versão do PHP é a mesma ou mais nova, com as extensões que o site usa.
  • Integrações externas (pagamento, frete, ERP, CDN) apontam para o site certo; algumas liberam acesso por IP e precisam do IP novo.
  • O backup automático da hospedagem nova está ativo.
  • Depois de uma ou duas semanas sem problema, o TTL volta ao valor normal e a hospedagem antiga pode ser cancelada.

Na SAN: a hospedagem de sites em Instâncias Cloud tem migração gratuita, com cPanel, CloudLinux, tráfego ilimitado e suporte em português. Se você vai trazer seu site, fale com o time antes de mexer no DNS.


Erros comuns na migração de hospedagem

ErroO que aconteceComo evitar
Cancelar a hospedagem antiga cedo demaisVisitantes com DNS antigo em cache caem num site fora do ar; e-mails se perdemCancelar só depois de uma a duas semanas com tudo funcionando
Esquecer o .htaccessLinks internos dão erro 404, redirecionamentos param de funcionarCopiar a pasta compactada, mostrando arquivos ocultos
Dados de banco errados no wp-config.php“Erro ao estabelecer conexão com o banco de dados”Conferir nome do banco, usuário, senha e host da conta nova
Trocar os nameservers sem copiar a zonaE-mail externo para de receber, verificações do Google e de outras ferramentas falhamRecriar todos os registros do inventário na zona nova antes da troca
Versão de PHP diferenteTela branca ou erros de pluginEscolher a mesma versão no servidor novo e atualizar depois, com calma
Esquecer as tarefas cronBackups, feeds e e-mails agendados param sem ninguém perceberCopiar a lista do painel antigo no inventário
Migrar com o site recebendo pedidosPedidos feitos depois da cópia ficam só no servidor antigoCongelar o site ou sincronizar o banco de novo antes de apontar

Perguntas frequentes

Quanto tempo leva para migrar um site de hospedagem?

A cópia em si costuma levar de minutos a algumas horas, conforme o tamanho dos arquivos, do banco e das caixas de e-mail. O que mais pesa é a propagação de DNS, que fica bem mais curta se você baixar o TTL na véspera.

O site fica fora do ar durante a migração?

Não precisa ficar. A hospedagem antiga continua atendendo enquanto você copia e testa no servidor novo pelo arquivo hosts. Só depois do teste você troca o DNS, e as duas ficam ativas durante a propagação.

Preciso transferir o domínio para mudar de hospedagem?

Não. O registro do domínio e a hospedagem são serviços separados; basta apontar o DNS para o servidor novo. Se quiser juntar tudo na mesma empresa, faça a transferência de domínio depois que a migração estiver concluída.

Vou perder os e-mails ao trocar de hospedagem?

Não, se as caixas forem copiadas antes da troca do MX e a conta antiga ficar ativa por alguns dias. Numa cópia de conta cPanel para cPanel, as mensagens costumam ir junto; na migração manual, copie as pastas via IMAP.

Quando posso cancelar a hospedagem antiga?

Depois de uma a duas semanas com o site, os formulários, os e-mails e as tarefas agendadas funcionando no servidor novo, e com um backup completo guardado fora das duas hospedagens.