Como migrar WordPress para VPS

    Migrar WordPress para VPS sem downtime exige uma sequência específica: preparar o novo servidor com o stack Docker, copiar os arquivos e exportar o banco da hospedagem de origem, importar tudo na VPS, testar via arquivo hosts e só então trocar o DNS. Fazer nessa ordem garante que o site novo está 100% funcional antes de qualquer visitante ser redirecionado.

    Visão geral do processo

    A migração tem cinco etapas que devem ser feitas em ordem. Pular etapas aumenta o risco de downtime:

    bash
    # 1. Preparar a VPS (Docker + stack WordPress pronto)
    # 2. Exportar banco da hospedagem atual
    # 3. Copiar arquivos WordPress (wp-content)
    # 4. Importar e testar na VPS (via hosts local)
    # 5. Trocar DNS e remover hospedagem antiga
    Dica
    O TTL do DNS determina o tempo de propagação. Reduza o TTL para 300 (5 min) com 24h de antecedência para agilizar a troca.

    Exportar o banco da hospedagem atual

    Exporte o banco MySQL/MariaDB da hospedagem de origem. A maioria dos painéis (cPanel, Plesk) tem o phpMyAdmin disponível:

    bash
    # Via phpMyAdmin: Banco → Exportar → Quick → SQL → Go
    
    # Via SSH na hospedagem de origem:
    mysqldump -u usuario_db -p nome_do_banco > wordpress-backup.sql
    
    # Compactar para download mais rápido
    gzip wordpress-backup.sql
    
    # Copiar para a VPS via SCP
    scp wordpress-backup.sql.gz root@IP_DA_VPS:/opt/wordpress/
    Dica
    Se não tiver acesso SSH na hospedagem, use o All-in-One WP Migration plugin — ele exporta banco + arquivos num único pacote que você importa no novo servidor.

    Copiar os arquivos wp-content

    O wp-content contém temas, plugins e uploads — é o único diretório que você precisa copiar (o core do WordPress é baixado fresh pelo Docker):

    bash
    # Na hospedagem de origem, compactar wp-content
    cd /caminho/para/wordpress
    tar czf wp-content.tar.gz wp-content/
    
    # Enviar para a VPS
    scp wp-content.tar.gz root@IP_DA_VPS:/opt/wordpress/
    
    # Na VPS, extrair para dentro do volume Docker
    # Descobrir o mount path do volume
    docker volume inspect wordpress_wp_data
    
    # Extrair direto no volume
    docker run --rm \
      -v wordpress_wp_data:/dest \
      -v /opt/wordpress:/src \
      alpine sh -c "cd /dest && tar xzf /src/wp-content.tar.gz"

    Importar o banco na VPS

    Com os containers rodando, importe o banco exportado e ajuste a URL do site:

    bash
    # Copiar dump para o container do banco
    docker cp /opt/wordpress/wordpress-backup.sql wordpress-db-1:/tmp/
    
    # Importar
    docker compose exec db bash -c \
      "mysql -u wp -p'${DB_PASSWORD}' wordpress < /tmp/wordpress-backup.sql"
    
    # Atualizar a URL do site para o novo domínio/IP
    docker compose exec wordpress wp search-replace \
      'https://antigohospedagem.com.br' 'https://seudominio.com.br' \
      --allow-root --skip-columns=guid

    Testar antes de trocar o DNS

    Antes de trocar o DNS, teste o novo servidor apontando seu computador local para o IP da VPS via arquivo hosts:

    bash
    # No seu computador (Linux/Mac): editar /etc/hosts
    # Windows: C:\Windows\System32\drivers\etc\hosts
    echo "IP_DA_VPS seudominio.com.br www.seudominio.com.br" >> /etc/hosts
    
    # Testar no browser: https://seudominio.com.br
    # Verificar: páginas, imagens, login admin, formulários, checkout
    
    # Após validar, remover a linha adicionada ao hosts
    # e trocar o DNS no registrador do domínio
    Dica
    Não troque o DNS antes de testar. Com o arquivo hosts você acessa o novo servidor sem afetar nenhum visitante real.

    $ runstack deploy --plan starter

    Não quer configurar manualmente?

    Não quer configurar manualmente? Implante o WordPress em menos de 3 minutos com a Runstack. Infraestrutura da OPEN DATACENTER, com servidores no Brasil.

    Perguntas frequentes