Spread the love

O foco desse post é entender os processos necessários para essa atividade, os cuidados e riscos envolvidos. Antes de mais nada, tome bastante cuidado com o que está fazendo e sempre tenha backup de tudo no seu site.

Para iniciar esse processo, devemos levar em conta os requisitos mínimos que o software WordPress exige:

Requisitos do WordPress

  • Servidor baseado em UNIX/Linux
  • PHP versão 5.2.4 ou superior
  • MySQL versão 5.0 ou superior
  • Memória para o PHP de pelo menos 64 MB (Somente para o software WordPress, sem plugins adicionais)
Para recursos extras
  • Memória para o PHP de pelo menos 256 MB
  • Apache ou Nginx
  • Módulo mod_rewrite do Apache ativo
  • Extensões PHP como php_exif, php_GD etc (recursos nativos e de plugins)

Essas definições estão descritas no próprio site do WordPress, e elas definem o mínimo que a estrutura do servidor deve possuir para o seu WordPress funcionar adequadamente. Ainda assim, encontramos muitas pessoas hospedando seus sites em servidores Windows, o que pode oferecer inúmeros erros e falhas ao longo do processo.

Nota importante
  • Mesmo com o instalador automático, verifique a quantidade de memória disponível ao PHP, quantidades menores que 64 MB levam a erros no WordPress impossibilitando o acesso ao painel do site e/ou a não conclusão adequada da instalação.

Acessos e ferramentas necessários

Para realizar uma migração, precisamos de alguns acessos das duas partes (servidor onde está hospedado e servidor que vai receber a migração).

  • PHPMyAdmin – Onde realizaremos exportação e importação de banco de dados, além de rodar alguns comandos SQL para alterar url’s dentro do banco.
  • WordPress – Acesso a administração do WordPress
  • FTP (ou cPanel) – Para envio e organização dos arquivos.


Cenário

Vamos criar um cenário para ser base desse passo a passo.

Nosso primeiro exemplo será a migração de um ambiente local (quando você instala um WordPress no seu computador) para um ambiente online. Sempre respeitando os requisitos mínimos apresentados acima. O meu ambiente local é um EasyPHP, que nesse cenário usei para criar um tema WordPress de um cliente, e já finalizado o site está com todas as páginas configuradas e com conteúdo (Home, Quem somos, Serviços, Notícias, Contato).

Temos aqui duas opções de migração: podemos copiar o WordPress inteiro (completo) que temos localmente, com a pasta plugins e themes. Isso é muito útil quando o WordPress está em uma versão específica, ou seu tema depende de muitos plugins e quando homologou muito conteúdo desse cliente. Ou então, se for um trabalho pontual, você pode migrar apenas o tema que desenvolveu e o banco de dados. Vamos continuar esse exemplo com a primeira opção, migrando o WordPress inteiro.

No seu ambiente local

Primeiro passo

Faça um arquivo .zip do seu WordPress completo. Perceba que, além das pastas plugins e themes, se você adicionou muito conteúdo de mídias, ele vai ter também a pasta uploads, onde estão as imagens e thumbnails gerados pelo WordPress, e quando finalizarmos a migração esse conteúdo estará online exatamente como estava no seu ambiente local.

Segundo passo

Exporte o banco de dados do seu WordPress pelo PHPMyAdmin do seu servidor local. Esse processo é simples: clique sobre o banco de dados do WordPress utilizado e clique em Exportar. Ele apresentará algumas configurações, mas pode usar as que ele traz por padrão; clique em Executar. Ele vai salvar no seu computador um arquivo com nome do banco e extensão .sql, nesse exemplo o meu é “wp_bloglite.sql”

Terceiro passo

Com esses arquivos prontos você vai precisar subir o zip que criamos no primeiro passo para o FTP desejado. Nesse ponto eu prefiro trabalhar com zip e pelo cPanel porque a transferência dos arquivos é ligeiramente mais rápida. Faça o upload e extraia os arquivos para a pasta desejada, nesse cenário para a raiz do FTP.

Quarto passo

Crie um banco de dados para o site online que estamos migrando. No seu PHPMyAdmin online, crie esse banco de dados e anote nome do banco, usuário e senha, além do endereço (host) do mesmo. Dependendo da sua hospedagem, muito comum em revendas, o prefixo dos bancos de dados criados virão com o nome de usuário desse PHPMyAdmin por padrão, por exemplo “rs78945_”. Nesse caso o nome do nosso banco de dados ficará assim “rs78945_bloglite”.

Quinto passo

Edite o arquivo wp-config.php da raiz do seu WordPress online, coloque as informações nome do banco, usuário e senha, e endereço do banco que anotamos no quarto passo.

Em alguns casos, é normal que o nome do host (endereço) seja localhost mesmo, caso não seja verifique com sua hospedagem qual o endereço correto para acesso ao banco de dados.

Sexto passo

Importe o banco de dados local para o PHPMyAdmin online. No banco de dados que criamos (online), clique na opção importar. Aqui também não precisaremos alterar nenhuma configuração. Apenas selecione o arquivo .sql do seu banco local e faça a importação.

Observações:

Raramente esse item apresenta falhas, mas um que eu já encontrei é justamente em relação ao nome do banco de dados, como comentei acima: em alguns servidores o nome do banco já vem com um prefixo setado, e como exportamos o banco de um ambiente local, o nome provavelmente estará diferente. Para solucionar isso eu precisei abrir o arquivo .SQL em um editor de códigos e substituí todas as entradas para o nome do novo banco que criei online e funcionou perfeitamente.

Finalizando:

Pronto, temos todos os itens do WordPress online, porém ainda precisamos fazer alguns comandos no banco de dados para alterar as URLs antigas para as novas URLs. No próprio PHPMyAdmin, selecione o banco de dados em que importou o WordPress, clique na aba SQL e vamos rodar os seguintes comandos:

Alterando os caminhos absolutos da URL do site (‘siteurl’) e URL da home (homeurl’)

UPDATE wp_options
SET option_value = REPLACE(option_value,
'http://www.siteantigo.com.br', 'http://www.sitenovo.com.br')
WHERE option_name = 'home'
OR option_name = 'siteurl';

Alterar GUID

UPDATE wp_posts
SET guid = REPLACE(guid,
'http://www.siteantigo.com.br', 'http://www.sitenovo.com.br');


Alterar URLs dentro dos conteúdos

UPDATE wp_posts

SET post_content = REPLACE(post_content,
'http://www.siteantigo.com.br', 'http://www.sitenovo.com.br');

Alterar caminho das imagens

UPDATE wp_posts

SET post_content = REPLACE(post_content,
'src="http://www.siteantigo.com.br', 'src="http://www.siteantigo.com.br');

e ainda nos attachments, precisamos alterar o GUID dos mesmos

UPDATE wp_posts

SET guid = REPLACE(guid,
'http://www.siteantigo.com.br', 'http://www.siteantigo.com.br')
WHERE post_type = 'attachment';

Pronto, com esses passos bem executados, sem erros ou surpresas, você pode acessar seu site na versão online e tudo deve funcionar. Subimos os arquivos, o banco de dados e alteramos as entradas no bando para substituir as URLs antigas pela nova URL.

Uma dica para o desenvolvimento local
Nos fóruns já encontrei algumas pessoas falando que as imagens quebram ao colocar o site em um ambiente online. Em alguns casos específicos percebi que as pessoas estavam linkando as imagens com URLs absolutas, colocando no código algo assim:

<img src="../images/logo.png" alt="Logo da Empresa">

Mas para isso funcionar corretamente em qualquer ambiente, é preciso usar funcções do WordPress para imprimir o caminho até a pasta onde a imagem está, dessa forma:

<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/logo.png" alt="Logo da Empresa">

By Lucas Rodrigues Monteiro

Bacharel em Sistemas da Informação, Certificado MCTS 70-680 / MOS, Trabalho como Administrador de Redes, Firewall e Servidores Windows e Linux! Minhas atividades favoritas são: Caminhar, Fazer Trilhas, Natureza, Insetos e claro ler sobre Tecnologia.

Deixe um comentário

Translate »