Como migrar site em WordPress

Fazer a migração de um site WordPress entre servidores não é tão simples e esse artigo esclarece esse processo.

Migrar uma instalação WordPress entre servidores, seja de sua máquina local para um servidor remoto, ou entre servidores remotos, nem sempre é uma tarefa fácil — principalmente para quem está começando a trabalhar com a plataforma.

O objetivo deste texto é explicar como realizar essa migração de modo a tornar esse processo um pouco mais simples. Lembre-se: não há uma receita única, o importante é entender o que é preciso fazer e adaptar esse conhecimento caso a caso.

Entendendo uma instalação WordPress

Uma instalação do WordPress é composta, basicamente, de: arquivos e banco de dados. Os arquivos incluem o próprio WordPress (pastas /wp-admin, /wp-includes, arquivos da raiz do diretório, etc) e também os plugins e temas adicionados a esta instalação (/wp-content/plugins, /wp-content/themes), além dos arquivos de mídia que foram carregados pelo painel (/wp-content/uploads).

O banco de dados utilizado pelo WordPress é o MySQL (ou MariaDB) e nele ficam armazenados todo o conteúdo textual da instalação: publicações, categorias, tags, configurações da instalação, plugins e usuários, dentre outras coisas.

Checklist da migração WordPress

Abaixo temos uma lista do que precisamos fazer para uma migração, na sequência abordo em mais detalhes cada passo:

  1. Migrar arquivos entre servidores;
  2. Migrar banco de dados entre servidores;
  3. Atualizar wp-config.php (se necessário);
  4. Atualizar URLs do WordPress (se necessário);
  5. Plugins de migração WordPress (alternativas).

1. Migrar arquivos entre servidores

Para migrar arquivos entre servidores, é possível fazermos de diversas formas, a depender do seu nível de conhecimento e acesso a que tem nos servidores. Lembre-se de verificar em sua hospedagem as possibilidades de conexão e credenciais para os acessos que serão abordados abaixo.

FTP

O FTP (File Transfer Protocol) pode ainda ser bastante útil na migração, principalmente para hospedagens compartilhadas que só disponibilizam este tipo de acesso. Você pode utilizar programas como o FileZilla ou WinSCP (para Windows) para realizar a conexão com os servidores remotos e realizar o envio dos arquivos de sua instalação WordPress.

Infelizmente, o FTP é bastante lento e, se estiver migrando a instalação entre servidores remotos, muito provavelmente terá de realizar o download de um servidor para depois fazer upload em outro, se a instalação tiver muitas imagens na biblioteca de mídia então a situação piora.

Obs: o que pode ajudar a mitigar isso é criar um .zip com os arquivos, é possível descompactá-lo após o upload.

Rsync

Caso tenha acesso SSH e rsync nos servidores, a situação fica mais confortável. O rsync é uma ferramenta de linha de comando que permite o envio de arquivos entre servidores, com velocidade e segurança superiores ao FTP. Geralmente, esta é uma opção quando falamos da migração para servidores cloud, apesar de até mesmo alguns servidores compartilhados disponibilizarem acesso SSH hoje em dia.

2. Migrar banco de dados entre servidores

Com o banco de dados não é diferente, podemos migrá-lo de diversas maneiras. O primeiro passo é realizar a exportação da instalação de origem, para que então possamos importá-lo na instalação de destino.

PhpMyAdmin ou Adminer

O phpMyAdmin e o Adminer são painéis de gerenciamento de banco de dados, disponíveis em algumas hospedagens e também em ambientes locais de desenvolvimento (XAMPP, Local by Flywheel, por exemplo). Nestes painéis, é possível gerar um arquivo de exportação de um banco de dados a ser importado em outro servidor.

WP-CLI

O wp-cli é uma ferramenta de linha de comando para gerenciamento de instalações WordPress, que pode ser instalado em ambientes locais, mas também em servidores remotos, vindo por padrão em algumas hospedagens atualmente.

Com o wp-cli é possível exportar o banco de dados com o comando wp db export meubanco.sql. Você precisará então enviar este arquivo ao servidor (com um dos métodos de envio de arquivos disponíveis) para então importá-lo com wp db import meubanco.sql. Lembrando que precisará de acesso SSH para executar comandos via terminal no servidor remoto.

3. Atualizar wp-config.php (se necessário)

O arquivo wp-config.php é onde o WordPress armazena credenciais de conexão com o banco de dados.

  • DB_NAME: nome do banco de dados;
  • DB_USER: nome do usuário do banco de dados; (Atenção, este não é o usuário WordPress com acesso ao painel)
  • DB_PASSWORD: senha do usuário do banco de dados;
  • DB_HOST: host do banco de dados (por padrão é configurado como localhost, mas pode variar de hospedagem para hospedagem).

Caso esteja realizando a migração para uma hospedagem vazia, sem uma instalação WordPress prévia, deverá configurar o wp-config.php de acordo com o banco de dados criado e o nome do host do banco de dados definido pela hospedagem.

Caso a hospedagem já possua uma instalação WordPress, é possível omitir o envio do wp-config.php na etapa de migração de arquivos, preservando o já existente com as credenciais adequadas.

4. Atualizar URLs do WordPress (se necessário)

Caso a instalação WordPress de origem tenha um domínio diferente da instalação WordPress de destino, precisamos realizar esse procedimento para atualizar as URLs do WordPress.

O WordPress armazena os dados siteurl e home na tabela wp_options do banco de dados. Podemos editar estes dados com o phpMyAdmin, Adminer ou WP-CLI. Porém, somente isso pode não resolver, então é preciso instalar um plugin de busca e substituição (Search and Replace) para realizar a atualização de URLs em outras entradas do banco de dados.

Plugins de migração WordPress

Além do método manual apresentado, é possível realizar a migração com plugins que auxiliam tanto na migração de arquivos quanto na migração de banco de dados (e, às vezes, até na alteração de URLs).

All in one migration

O All-In-One Migration se popularizou bastante nos últimos anos, por ser extremamente intuitivo e permitir a migração de forma fácil, principalmente de sites mais leves. Para isso basta instalá-lo tanto no site de origem quanto no site destino. No site de origem iremos exportar um pacote, com arquivos, mídia e banco dados. No site de destino, fazemos a importação realizando o upload desse pacote.

Na versão gratuita, o All-In-One Migration tem um limite de tamanho de arquivo que ele consegue importar, o que pode ser aumentado, caso tenha acesso.

Problemas comuns

Vários problemas podem ocorrer em qualquer uma destas etapas e este texto está longe de cobrir todo o processo e ser o mais detalhado possível. Por isso, essa última sessão irá cobrir os erros mais comuns (e quem sabe até os problemas que forem relatados aqui nos comentários).

Não foi possível se conectar ao banco de dados

Verifique as credenciais configuradas no wp-config.php e também se o banco de dados realmente existe.

Tela branca

Este é um problema relativamente comum em instalações WordPress e pode ter diversas causas. Recomendo que ative o debug e confira o log de erros para entender exatamente o que está acontecendo com sua instalação.

Erro 500

Este é um erro HTTP, indica uma falha de servidor. Pode ser causado por má configuração do wp-config.php, algum erro em uma configuração do PHP ou mesmo na alteração das URLs. Recomendo que verifique o log de erros do servidor e, caso não consiga resolver, solicite suporte.

Considerações

Espero que este texto ajude, principalmente novas pessoas que estão começando a trabalhar com o WordPress, tornando o processo de migração de instalações um pouco mais claro.

Compartilhe

Allyson Souza
Allyson Souza
Artigos: 24
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x

Aviso ⚠️

A Haste encerrou suas atividades, logo não estamos atendendo novos clientes. O site se mantém no ar por preservação de histórico e conteúdo.

Caso encontre ainda algum link ou formulário de contato, esteja ciente de que não iremos retornar.

Muito obrigado a todos que fizeram parte da nossa história.