*# Como migrar WordPress para VPS com WP-CLI e rsync: guia completo

Meta descrição: Aprenda como migrar WordPress para VPS com WP-CLI e rsync, passo a passo, com foco em segurança, performance e o mínimo possível de downtime. Neste guia você vai ver preparação do ambiente, cópia de arquivos com rsync, migração do banco com WP-CLI e um checklist final para validar tudo após a virada de DNS.*

Uma imagem sobre Como migrar WordPress para VPS com WP-CLI e rsync

Migrar um site WordPress de uma hospedagem compartilhada para um VPS é um daqueles upgrades que fazem diferença real: você ganha controle do servidor, melhora o desempenho, tem mais previsibilidade de recursos e fica com liberdade para ajustar cache, PHP, banco e segurança do jeito certo.

O problema é que muita gente trava na parte operacional: “como levar tudo sem quebrar links?”, “e o banco de dados?”, “como evitar downtime?”. É aqui que entram duas ferramentas que se complementam muito bem:

  • rsync, para copiar arquivos de forma rápida, incremental e confiável (perfeito para migrar uploads, temas, plugins e até o core do WordPress).
  • WP-CLI, para exportar/importar banco, ajustar URLs, limpar caches e fazer tarefas administrativas sem depender do painel do WordPress.

Ao longo deste artigo, você vai aprender como migrar WordPress para VPS com WP-CLI e rsync seguindo um fluxo simples: preparar o VPS, copiar arquivos com segurança, migrar o banco de dados de forma consistente, ajustar configurações e validar tudo antes do “go live”.

A ideia é manter a linguagem bem prática e direta para iniciantes, mas com detalhes suficientes para você não ficar preso em pegadinhas comuns (permissões, caminho do wp-config.php, URLs antigas no banco, e-mails saindo do servidor, etc.).

Contexto rápido: este guia assume que você terá acesso via SSH tanto no servidor antigo (ou ao menos ao diretório do site) quanto no VPS novo. Se o host antigo não permite SSH, você ainda pode adaptar o passo a passo usando backup via painel + upload, mas o combo rsync + WP-CLI brilha mesmo quando você tem shell.

Se você quer um caminho “profissional” e repetível, com menos tentativa e erro, este é o roteiro.

Por que migrar o WordPress para um VPS com WP-CLI e rsync?

Quando você migra WordPress para VPS, a maior mudança não é só “ter um servidor”: é passar a ter controle de stack (Nginx/Apache, PHP, MySQL/MariaDB, cache, firewall) e previsibilidade. Em hospedagens compartilhadas, seu site concorre por recursos e você não tem autonomia para ajustar o que realmente importa quando o tráfego cresce.

Benefícios práticos de um VPS para WordPress

Em um VPS, você consegue:

  • Melhor performance: ajustar PHP-FPM, OPcache, HTTP/2/3, cache de página, Redis e afins.
  • Escalar com mais tranquilidade: aumentar RAM/CPU sem precisar “trocar de casa” de novo.
  • Segurança e isolamento: você define regras de firewall, fail2ban, backups e hardening.
  • Rotina DevOps mais madura: logs, monitoramento, deploys, automações.

Por que usar WP-CLI nessa migração?

O WP-CLI vira seu “canivete suíço” para WordPress. Na migração, ele ajuda especialmente em:

  • Exportar/importar banco rapidamente.
  • Atualizar URLs no banco com search-replace.
  • Checar se o WordPress reconhece corretamente o ambiente (wp core version, wp plugin list, etc.).

E o mais importante: você faz isso tudo sem depender do wp-admin (que às vezes nem abre durante a migração).

Por que rsync em vez de ZIP/FTP?

O rsync é excelente porque:

  • Copia mais rápido (especialmente com muitos arquivos pequenos, típico de wp-content/uploads).
  • Permite transferência incremental: você roda uma vez, depois roda de novo perto da virada e ele só manda o que mudou.
  • Mantém estrutura de diretórios e pode preservar permissões (com cuidado).

Essa combinação é perfeita para um passo a passo migrar WordPress para VPS com mais controle. Em vez de “baixar e subir tudo de novo”, você copia, sincroniza, valida e só depois vira o DNS. O resultado geralmente é menos downtime e menos susto.

No fim, o objetivo é simples: o WordPress no VPS deve ficar igual (ou melhor) do que estava antes — só que mais rápido, mais estável e com manutenção mais previsível.

🤖 Uma dica extra (se você curte automação): Formação Agentes de IA (n8n)

Se você chegou até aqui, provavelmente gosta de ter controle e processo (do tipo: migrar com checklist, automatizar rotinas, padronizar deploy). Um caminho bem natural para evoluir isso é aprender automação com n8n e, principalmente, como criar agentes de IA que executam tarefas de forma mais autônoma.

Eu gostei do formato da Formação Agentes de IA (n8n) porque é bem “mão na massa”: são 11+ cursos, 221+ aulas, 20h+ e 21+ projetos, com uma comunidade grande (8100+ alunos) — dá para sair do básico e ir para fluxos realmente úteis (monitoramento, alertas, integrações, automações para marketing e atendimento, etc.).

Se quiser dar uma olhada com calma, o link é este (vale abrir e ver a grade): https://app.horadecodar.com.br/lp/formacao-agentes-de-ia-n8n?utm_source=blog

Treinamento completo em n8n do básico ao avançado

Preparando ambiente e pré-requisitos para a migração

A etapa de preparação costuma ser o que separa uma migração tranquila de uma madrugada de estresse. Antes de copiar qualquer coisa, você precisa garantir que o VPS está pronto para receber o WordPress e que você consegue voltar atrás se algo der errado.

1) O que você precisa ter em mãos

Para seguir este guia, o ideal é ter:

  • Acesso SSH ao VPS novo (root ou usuário com sudo).
  • Acesso ao servidor antigo (SSH é o melhor cenário; caso contrário, acesso ao painel/backup).
  • Domínio e acesso ao DNS (para apontar no final).
  • Um editor de texto no terminal (nano ou vim) e um cliente SSH.

2) Preparar o VPS para WordPress

Independente de usar Nginx ou Apache, você precisa garantir:

  • PHP na versão compatível com seu WordPress/plugins.
  • MySQL/MariaDB funcionando e com um banco/usuário criados.
  • Um usuário do sistema para rodar o site (evitar rodar tudo como root).
  • Diretório do site, por exemplo: /var/www/seusite.

Também vale checar permissões desde já. Um padrão comum é:

  • Diretórios com permissão 755
  • Arquivos com permissão 644

E o dono do projeto como o usuário do serviço web (ex.: www-data) ou um usuário dedicado, dependendo da sua estratégia.

3) Instalar WP-CLI no VPS

Se o WP-CLI ainda não está disponível no VPS, instale de forma simples (exemplo comum): baixar o phar, tornar executável e mover para /usr/local/bin/wp. Depois, valide com wp --info.

O importante aqui é: o WP-CLI deve rodar apontando para o diretório correto do WordPress (mais pra frente, usaremos --path=/var/www/seusite).

4) Planejar o “quase zero downtime”

Para reduzir downtime, pense em duas rodadas de sincronização:

  1. Primeira cópia (enquanto o site está no ar) para levar quase tudo.
  2. Corte final: colocar o site antigo em modo manutenção (ou congelar mudanças), rodar um rsync final + export final do banco, importar no VPS, validar e só então virar DNS.

5) Faça backup antes de mexer

Antes de migrar, tenha um backup “ponto de restauração”:

  • Um dump do banco.
  • Um snapshot/backup do wp-content (especialmente uploads).

Parece óbvio, mas é o que salva quando um plugin de cache ou um tema resolve “surpreender”.

Com o VPS pronto e acesso garantido, você está a um passo de começar a migração de verdade. A próxima etapa é a parte mais volumosa: copiar arquivos WordPress com rsync.

Vídeo recomendado: como configurar uma VPS (base para rodar WordPress e outras ferramentas)

Mesmo este guia sendo focado em WordPress, a parte mais importante de uma migração para VPS é ganhar confiança com o servidor: acesso, configuração, boas práticas e rotina de manutenção. Um vídeo que ajuda bastante a “destravar” VPS (principalmente se você é iniciante) é este passo a passo de instalação em VPS.

Assista aqui e aproveite para salvar nos favoritos: https://www.youtube.com/embed/VCKzXFk_XjM?si=eOBTMrjZNPj3q07Z

Como copiar arquivos WordPress com rsync: passo a passo

Nesta fase, você vai migrar o “corpo” do WordPress: temas, plugins, uploads, mu-plugins e, se quiser, o core também. O mais comum é copiar o projeto inteiro e depois ajustar o que for necessário no VPS.

A lógica aqui é: usar rsync para copiar com segurança, e rodar novamente no final para sincronizar mudanças recentes.

Entendendo o que precisa ser copiado

O que mais importa em um WordPress é:

  • wp-content/uploads (mídias)
  • wp-content/themes (temas)
  • wp-content/plugins (plugins)
  • wp-config.php (configurações, mas pode ser adaptado no VPS)

Você pode copiar tudo, mas muitas pessoas preferem garantir pelo menos wp-content e depois instalar o core via WP-CLI. Em migrações “direto ao ponto”, copiar tudo funciona bem — desde que você ajuste permissões e wp-config.php depois.

Rodando rsync (cenário comum: puxar do servidor antigo para o VPS)

No VPS novo, você pode “puxar” os arquivos do servidor antigo via SSH. Um formato comum é:

rsync -avz --progress usuario@SERVIDOR_ANTIGO:/caminho/do/site/ /var/www/seusite/

Dicas importantes:

  • -a mantém estrutura e metadados.
  • -v mostra o que está acontecendo.
  • -z comprime durante a transferência.
  • --progress ajuda a acompanhar.

Se o diretório de origem contiver muita coisa que você não quer, vale excluir caches. Por exemplo, pastas de cache dentro de wp-content podem ser regeneradas depois (e só atrapalham a cópia).

Evite copiar “lixo” (cache e temporários)

Aqui vai a regra prática: se é algo que o WordPress recria sozinho, não é prioridade na migração.

Exemplos comuns para ignorar:

  • caches de plugin (varia por plugin)
  • páginas estáticas geradas
  • logs enormes que não são necessários

Isso reduz tempo e diminui chance de permissões estranhas.

Rode a segunda sincronização perto do corte

Depois que o WordPress já estiver “subido” no VPS (mesmo que ainda não esteja em produção), deixe o site antigo rodando normalmente. Perto do momento de virar, você repete o rsync:

rsync -avz --delete usuario@SERVIDOR_ANTIGO:/caminho/do/site/ /var/www/seusite/

O --delete ajuda a manter o VPS idêntico ao servidor antigo (remove arquivos que foram apagados na origem). Use com cautela e sempre confirme o caminho.

Atenção especial a permissões

Depois da cópia, se o web server não conseguir ler/escrever em uploads, você terá problemas ao enviar imagens.

O mínimo para evitar dor de cabeça:

  • garantir que /var/www/seusite está com dono/grupo corretos
  • garantir escrita em wp-content/uploads

Feito isso, os arquivos estão no lugar. Falta a “alma” dinâmica do site: o banco de dados. Na próxima seção, vamos migrar banco de dados WordPress com WP-CLI de um jeito prático e limpo.

Migrar banco de dados WordPress com WP-CLI: guia prático

O banco de dados é o que transforma um “monte de arquivos” em um site vivo: posts, páginas, usuários, configurações, URLs, plugins, opções e muito mais. Por isso, a etapa de banco precisa ser previsível e, de preferência, reproduzível.

A seguir está um fluxo bem direto para migrar banco de dados WordPress com WP-CLI.

1) Exportar o banco no servidor antigo

No servidor antigo (ou onde seu WordPress atual roda), vá até a pasta do WordPress e rode:

wp db export /tmp/site.sql --add-drop-table

Isso gera um dump SQL. O --add-drop-table ajuda a evitar conflitos ao importar em um banco que já tenha tabelas.

Se você não tem WP-CLI no servidor antigo, você pode instalar rapidamente, ou usar mysqldump. Mas, já que o objetivo é usar WP-CLI, vale muito a pena ter a ferramenta ali.

2) Transferir o dump para o VPS

Você pode usar scp ou o próprio rsync para trazer o arquivo SQL:

scp usuario@SERVIDOR_ANTIGO:/tmp/site.sql /tmp/site.sql

No VPS, deixe o arquivo em um caminho temporário (/tmp) e depois mova conforme sua organização.

3) Ajustar wp-config.php e apontar para o banco novo

No VPS, antes de importar, confirme que o wp-config.php está com:

  • DB_NAME
  • DB_USER
  • DB_PASSWORD
  • DB_HOST

Isso garante que o WP-CLI no VPS esteja operando no banco correto.

4) Importar no VPS

No diretório do WordPress no VPS:

wp db import /tmp/site.sql

Depois, rode um wp db check para confirmar integridade básica.

5) Atualizar URLs (a parte que mais pega)

Se o domínio mudou (por exemplo, você está usando um domínio temporário, ou alterou http/https), você precisa atualizar as URLs no banco.

O jeito correto com WP-CLI:

wp search-replace 'https://dominio-antigo.com' 'https://dominio-novo.com' --all-tables --precise

Observações:

  • Se você vai manter o mesmo domínio, pode pular esse passo.
  • Se você testou em um subdomínio temporário (ex.: teste.seudominio.com) e depois vai voltar para o principal, você provavelmente fará search-replace duas vezes (uma para testar, outra na virada final).

6) Regerar permalinks e limpar caches

Depois da importação e ajustes:

  • Regerar regras de rewrite com wp rewrite flush.
  • Se usa plugin de cache, limpe (com WP-CLI ou no painel).

7) Checagens rápidas que evitam sustos

Algumas verificações simples no VPS:

  • wp core version (confirma que o WP-CLI reconhece o WordPress)
  • wp plugin list (confirma que plugins estão no lugar)
  • wp option get siteurl e wp option get home (confirma URLs)

Se o site usa SSL, garanta que o servidor está com certificado e que você está acessando via HTTPS. Muitas vezes, o “site quebrado” é só conteúdo misto (mixed content) por causa de URLs antigas.

Com banco importado e URLs alinhadas, você já tem o WordPress essencialmente migrado. Falta a etapa que realmente define se a migração foi “redonda”: validações, testes e boas práticas pós-migração.

💻 VPS para WordPress (e para suas automações): por que eu escolheria a Hostinger

Para migrar WordPress para VPS, o que mais pesa no dia a dia é ter infra estável, bom disco (NVMe faz diferença), upgrade fácil e suporte que não te deixe na mão. Uma opção que costuma funcionar muito bem é a VPS da Hostinger.

O que eu acho legal é que dá para começar pequeno e crescer conforme precisar, além de ter 30 dias de garantia e 99,9% de uptime. E mesmo sendo muito usada para n8n, ela serve perfeitamente para WordPress também (a lógica é a mesma: você quer controle e recursos dedicados).

Se você quiser ver os planos e já aplicar desconto, aqui está o link de indicação: https://www.hostinger.com.br/horadecodar

Na hora de contratar, use o cupom HORADECODAR para garantir o desconto.

Hostinger A melhor VPS para seu n8n

Checklist final, testes e dicas avançadas após a migração

Esta é a etapa que dá confiança para virar o DNS sem medo. A ideia é verificar se o VPS está servindo o site corretamente, se o WordPress consegue escrever onde precisa, se o login funciona e se você não deixou detalhes importantes para trás.

Valide antes de apontar o domínio

Se possível, teste o site no VPS antes do DNS, usando um domínio temporário ou alterando o arquivo hosts no seu computador. Assim, você enxerga o site “novo” como se já estivesse no ar.

Pontos para testar com calma:

  • Homepage e algumas páginas internas
  • Envio de mídia (Biblioteca > Adicionar)
  • Formulários (contato, checkout, captura)
  • Login no wp-admin
  • Links permanentes (posts abrindo sem 404)

Checklist de pós-migração (essencial)

Para não depender só do “abriu aqui”, siga este checklist:

  1. Permissões: uploads funcionando e sem erros de escrita.
  2. URLs: siteurl e home corretos; sem redirecionamentos estranhos.
  3. SSL: certificado instalado e redirecionamento HTTP→HTTPS.
  4. E-mail: envios do WordPress (recuperar senha, formulários) chegando.
  5. Performance básica: cache configurado, compressão, headers.
  6. Backups no VPS: rotina definida (diária/semana) e testada.

Dicas avançadas (que valem muito em VPS)

Depois que tudo estiver ok, você pode melhorar ainda mais:

  • Configurar Redis (object cache) se o site tem tráfego ou WooCommerce.
  • Ajustar PHP-FPM e OPcache (ganho real em sites com muitas requisições).
  • Implementar WAF/Firewall e fail2ban.
  • Criar um usuário de deploy e usar chaves SSH (evitar senha).

Evite downtime na “hora H”

Se o seu objetivo é reduzir downtime, o segredo é:

  • Fazer a primeira cópia cedo.
  • Fazer o corte final rápido (modo manutenção no antigo + sincronização final + export/import final do banco).
  • Baixar o TTL do DNS com antecedência (por exemplo, 24 horas antes) para propagar mais rápido.

Monitoramento e logs

No VPS você ganha visibilidade. Aproveite:

  • Logs do Nginx/Apache
  • Logs do PHP
  • Logs do sistema

Quando algo dá errado, logs normalmente mostram o motivo em minutos.

Com essa rotina de testes e ajustes, você finaliza a migração com muito mais segurança — e o melhor: cria um processo repetível para os próximos sites.

Como migrar WordPress para VPS com WP-CLI e rsync de forma segura?

Para migrar o WordPress para um VPS usando WP-CLI e rsync de maneira segura, primeiro faça backup completo dos arquivos e banco de dados. Utilize o WP-CLI para exportar o banco (com o comando ‘wp db export’) e rsync para copiar os arquivos do site do servidor antigo para o novo VPS. Ajuste permissões, importe o banco de dados no novo VPS e atualize o wp-config.php conforme necessário. Por fim, teste tudo antes de atualizar o DNS para garantir zero downtime.

O que preciso configurar após migrar WordPress para o VPS com WP-CLI e rsync?

Depois de migrar, revise as permissões de arquivos e pastas, atualize o wp-config.php para refletir as credenciais do novo banco, e ajuste as configurações de domínio ou URLs se houver alteração. Também é importante instalar todos os plugins e temas necessários, configurar certificados SSL e garantir que serviços como cron jobs estejam funcionando corretamente.

Por que usar WP-CLI e rsync para migrar WordPress para VPS em vez de plugins?

WP-CLI e rsync proporcionam maior controle, velocidade e segurança durante a migração, evitando falhas comuns de plugins. Não dependem de interfaces gráficas, são adequados para grandes volumes de dados e permitem automação e personalização do processo. Além disso, garantem transparência ao executar cada etapa manualmente, reduzindo as chances de erros.

Conclusão

Migrar um site pode parecer intimidador, mas quando você segue um processo claro, a migração vira só uma sequência de passos técnicos bem controláveis. Neste guia, você viu como migrar WordPress para VPS com WP-CLI e rsync, combinando:

  • rsync para fazer a cópia (e a sincronização final) dos arquivos com velocidade e consistência;
  • WP-CLI para exportar/importar o banco e ajustar o que normalmente quebra, como URLs e permalinks.

O grande “pulo do gato” para um resultado profissional é separar bem as etapas: preparar o VPS, copiar arquivos, migrar banco de dados WordPress com WP-CLI, validar tudo em ambiente de teste e só então virar o DNS. Assim, o risco cai muito e você ainda ganha um método replicável para os próximos projetos.

Se você quiser evoluir depois da migração, vale investir em duas frentes: uma infraestrutura confiável (um bom VPS) e automações para manter o ambiente saudável (backups, monitoramento, alertas). Com isso, seu WordPress não só “mudou de casa”: ele passa a rodar com mais performance, segurança e previsibilidade.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments