E então você criou o seu site no localhost (servidor local) e agora está de mãos atadas, pois não sabe como mover um site WordPress para a hospedagem? Na aula de hoje eu ensinarei você a sair desse empasse, mostrando como tirar o seu projeto do seu computador e colocá-lo definitivamente no ar. E sem o uso de nenhum plugin!
Como mover um site WordPress em 7 passos simples
As dicas que eu mostrarei neste artigo servirão para dois tipos de casos:
- para aqueles que querem mover um site WordPress do localhost para a hospedagem
- para os que desejam mover um site WordPress que já roda em uma hospedagem paga para uma outra, ou mesmo para o localhost
Para o segundo caso, bastará que você faça algumas modificações no processo. Preste atenção na lógica do passo a passo, pois com ela você pode adaptar as explicações para todo e qualquer caso.
Alguns requisitos são necessários para acompanhar legal este tutorial:
- você deve saber acessar e fazer algumas operações básicas no phpmyadmin. Ações como importar, exportar o banco, ou rodar algumas consultas básicas já o ajudarão a continuar
- na sua hospedagem remota, você deve ter acesso ao CPanel. Você vai precisar dele para criar um banco, um usuário de banco e fazer upload dos arquivos do computador
Se você não tiver paciência pra ler, pode ver minha explicação em vídeo abaixo:
Dito isso, vamos começar a transferir nosso site WordPress!
Passo 1: Preparando os arquivos da instalação do WordPress do seu computador
Ao terminar o seu projeto no localhost, você deve ter a instalação do WordPress todinha dentro de uma pasta. Você precisará compactar o conteúdo desta pasta para mais tarde subi-lo para o gerenciador de arquivos do CPanel.
É possível mover um site WordPress arquivo por aquivo através de um cliente FTP, como o Filezilla. Mas, vai por mim, demora demais fazer isso e você ainda corre o risco de ter falhas na transmissão dos arquivos por motivos diversos, como queda de conexão. Se você se amarra num FTP, vá em frente, mas lembre-se do meu aviso. E tenho dito 🙂
Uma dica que facilitará sua vida é não compactar a pasta da instalação “por fora”, mas entrar nela, escolher os arquivos da instalação do WordPress e, sem seguida, compactar no formato zip (ou tar, ou tar.gz, o que você quiser). Vou dar um exemplo do que eu digo:
Do lado esquerdo, o jeito “errado” de fazer a compactação. Ali eu cliquei em cima da pasta da instalação e pedi para compactar.
Do lado direito, o jeito “correto”. Ali eu entrei dentro da pasta, escolhi os arquivos todos da instalação e mandei compactar. Isso não é essencial, mas eu acho que me facilita a vida na hora de descompactar o conteúdo no CPanel. Há controvérsias, eu sei… Mas, é o meu jeito de fazer.
Ok, agora que temos a pasta compactada, vamos criar uma exportação do banco de dados.
Passo 2: Exportando uma cópia do banco de dados
Acesse o phpmyadmin digitando no seu navegador: http://localhost/phpmyadmin. Você dará de cara com o gerenciador de banco de dados que é instalado em pacotes como o wampserver e outros. Geralmente, o usuário é root e a senha é vazia. Mas, se você trabalha com WordPress já deve estar careca de saber disso.
Do lado esquerdo, clique para abrir o banco de dados do seu WordPress. Em seguida, clique no menu “Exportar” e, sem fazer alteração alguma, clica em “Executar”. Você deve salvar o arquivo em formato SQL em algum local que você consiga achar fácil depois.
Dica! Muitas vezes eu tive problemas ao importar um banco de dados exportados pelo phpmyadmin. Depois de muito tempo batendo cabeça, descobri que o meu phpmyadmin estava com uma versão muito desatualizada. Atualizando o phpmyadmin, nunca mais tive problemas.
Passo 3: Importando os arquivos do localhost para o servidor de hospedagem
Antes de mover um site WorPress, sua primeira tarefa será contratar um bom servidor de hospedagem. Se ainda não o fez, eu indico a Hostgator. Até hoje não tenho o que reclamar dos serviços deles. Tenho uma revenda de hospedagem com eles e, felizmente, nunca me deixaram na mão. Se quiser testar, clique aqui para ganhar um belo de um desconto!
Entre no CPanel da sua hospedagem pelo endereço informado pela sua empresa. Em seguida, clique em “File Manager”.
Você entrará no gerenciador de arquivos da hospedagem e verá uma lista de diretórios à esquerda e, no centro, o conteúdo desses diretórios.
Encontre, no centro ou na lista, o item “public_html” ou “www”. Entrando em qualquer um dos dois, você verá o conteúdo do diretório. Se esta é a primeira vez que você está vendo isso, provavelmente haverá nesse diretório algumas pastas ou arquivos com nomes como “cgi-bin”, “index.html” etc. Eles não tem nada a ver com o que precisamos para mover um site WordPress. Então, vá em frente e os apague sem dó!
Feito isso, importaremos nosso arquivo compactado aí dentro. Na parte superior do gerenciador de arquivos, clique no botão “Upload” e, na tela seguinte, faça upload do arquivo zipado que você criou no seu computador lá no passo 1.
Feche a tela e volte ao gerenciador de arquivos do CPanel. Clique no botão “Reload”. Agora você verá o seu arquivo compactado dentro da pasta public_html. O que faremos??? Vamos descompactá-lo. Para isso, clique sobre ele com o botão direito e escolha “Extract”.
Apague o arquivo compactado e clique novamente em “Reload”. Agora você terá ali todos os arquivos que um dia estavam somente no seu computador. Falta agora o banco de dados!
Passo 4: Criando novo banco de dados
Para completarmos este passo, teremos que criar um banco de dados e um usuário de banco novos na hospedagem.
Volte na tela inicial do seu CPanel e encontre a opção “MySQL® Databases”. Em “Create New Database”, escolha um nome para seu novo banco de dados. Clique em “Create Database” e depois em “Go Back”.
Mais abaixo, em “Add New User”, escolhe um nome para o usuário de banco e uma senha. Mas, capriche! Não coloque usuários com nomes óbvios e senhas esdrúxulas. Para te ajudar, há o botão “Generate Password”, que gera uma senha forte. Clique em “Create User”, depois em “Go Back” novamente.
Agora, mais abaixo ainda, encontre “Add User To Database”. Você deverá escolher primeiro o nome de usuário que você criou e depois o nome do banco. Clique em “Add”.
Na tela seguinte, clique em “ALL PRIVILEGES” e “Make Changes”. Pronto! Agora anote o nome de usuário, nome do banco e a senha, pois você precisará mais tarde.
Passo 5: Importando as tabelas do seu banco de dados
Volte para a tela inicial do CPanel. Agora, encontre o botão “phpMyAdmin”. Aguarde um pouco até que ele carregue.
Encontre o banco de dados que você acaba de criar e abra. Ele estará vazio e pronto para importar as tabelas que vieram do seu banco de dados local.
Clique no botão “Importar”. Sem fazer nenhuma alteração, clique no botão para carregar seu arquivo e encontre o arquivo SQL que você gerou no passo 2.
Clique em “Executar” e aguarde a operação terminar. Pode ser que você encontre erros em vermelho nesta fase aqui. Como eu disse antes, eu costumava ter muitos desses erros e descobri que eles eram relacionados à versão do phpMyAdmin que eu usava no localhost, que estava defasada. Atualizando a versão, nunca mais tive erros.
Estando tudo ok, você verá que suas tabelas estão todas importadas e, ufa, estamos chegando no final!
Porém, eis um detalhe importante! Tanto os seus arquivos quanto o seu banco estavam configurados para trabalhar no localhost. Não basta só subir esses dados para o servidor para mover um site WordPress. Se você for tentar acessar seu site agora, vai se deparar com um erro de conexão com o banco, no mínimo.
Para resolver isso, vamos encontrar a tabela “wp_options” e abrir seus registros. Se você mudou o prefixo do seu banco de dados (o que eu SEMPRE RECOMENDO!), ela vai ter o nome de algumacoisa_options, como na próxima figura.
Encontre os valores “siteurl” e “home”. Geralmente eles estão logo no início da tabela, mas se não estiverem, você pode rodar um simples comando SQL para achá-los. Por exemplo:
SELECT * FROM wp_options WHERE option_value LIKE '%localhost%'
Você deverá informar o endereço do seu site no campo option_value desses dois valores. Informe o endereço completo (mas sem colocar barra no final). Ao clicar fora do campo, ele será atualizado no banco.
Pronto! Não há mais nada a fazer em termos de banco.
Passo 6: Mudando os valores do arquivo wp-config.php
Vamos voltar agora ao gerenciador de arquivos. Abra para edição o arquivo wp-config.php. Neste arquivo, você terá que mudar os seguintes valores:
// ** Configurações do MySQL - Você pode pegar essas informações com o serviço de hospedagem ** // /** O nome do banco de dados do WordPress */ define('DB_NAME', 'nome-do-banco-de-dados'); /** Usuário do banco de dados MySQL */ define('DB_USER', 'usuario-do-banco-de-dados'); /** Senha do banco de dados MySQL */ define('DB_PASSWORD', 'sua-senha');
Informe de acordo com que o você anotou no passo 4. Às vezes também é necessário alterar o nome do servidor, mas por padrão é localhost mesmo.
/** nome do host do MySQL */ define('DB_HOST', 'localhost');
Pronto!!! Estamos quase no fim!
A esta altura, se você tentar abrir o endereço do seu site, já verá ele no ar! Que emoção, não é???
Mas, espera aí… Estou clicando nos links de artigos e páginas e estou vendo páginas de erro. E agora?
Passo 7: Gerando um novo arquivo .htaccess
Nosso último passo para mover um site WordPress será corrigir o arquivo oculto .htaccess. Geralmente o gerenciador de arquivos do CPanel não mostrará este arquivo na raiz da nossa instalação. Caso você queira editá-lo manualmente, terá que clicar no ícone de engrenagem no topo à direita (Settings) e deixar marcado “Show Hidden Files (dotfiles)”.
Este arquivo é responsável, entre outras coisas, por reescrever as urls do seu site WordPress, para que ele fique num formato de leitura amigável para visitantes e mecanismos de busca.
Se você vê páginas de erro 404 ao abrir links internos do site, provavelmente se deve ao fato de que este arquivo está com alguma configuração feita no localhost, que não é válida para o site remoto.
A boa notícia é que para corrigi-lo não é preciso editá-lo manualmente. Basta você entrar no painel de controle do WordPress (lembra-se, colocando /wp-admin ao fim do endereço).
Uma vez na administração, vá em Configurações->Links permanentes, faça uma alteração qualquer na página e volte como estava antes. Em seguida, clique para salvar alterações. Pronto, você tem um arquivo .htaccess novo em folha e foram-se embora as páginas de erro!
Pequenas correções finais
Seguindo os passos acima, você já deve ser capaz de mover um site WordPress completamente. Porém, pode ser que haja a necessidade de corrigir alguns itens, como links de imagens quebradas.
Imagens são consideradas como tipos de posts pelo WordPress (sim, as páginas, os itens de menu e as revisões também são!). Logo, elas são armazenadas na tabela wp_posts. O problema se deve ao fato de que devemos trocar as referências de “localhost” nesta tabela para os do site remoto.
Vamos entrar novamente no phpMyAdmin, escolher o nosso banco de dados e rodar este pequeno e poderoso comando SQL:
UPDATE wp_posts SET post_content = REPLACE( post_content, 'localhost/nome-da-sua-pasta-local/', 'www.endereco-do-seu-site.com/');
Lembre-se de mudar o prefixo do seu banco de dados, caso exista. No exemplo abaixo, eu rodei o comando para mudar as referências da minha pasta local (localhost/wpcurso) para o site remoto:
UPDATE wpxxx_posts SET post_content = REPLACE( post_content, 'localhost/wpcurso/', 'www.marcelowebdesign.com/');
Confesso que esta é uma das partes mais chatas de mover um site WordPress manualmente, mas a gente acaba aprendendo bastante coisa ao fazer isso.
Dica: se esta é a primeira vez que você está migrando o site, talvez seja interessante também mudar os endereços do campo “guid”. Veja abaixo que está tudo como localhost ainda depois da migração. Este campo serve para que leitores de feed RSS saibam qual post já foi lido no seu site para ser entregue para algum destinatário. Por isso, ele NUNCA deve ser modificado, a não ser neste caso em que estamos migrando do local para o remoto. Se estiver migrando de um servidor remoto para outro, não mexa nesse campo.
Para mudá-lo, vamos rodar um comando parecido com o anterior:
UPDATE wp_posts SET guid = REPLACE( guid, 'localhost/nome-da-sua-pasta-local/', 'www.endereco-do-seu-site.com/');
E é isso! Ufa!
E aí, qual a experiência que andam tendo ao mover um site WordPress? Conta aqui pra gente!
Muito obrigado amigo. Deu muito certo!
Cesar, bom saber que o artigo foi útil 🙂
Muito bom esse post hein! eu tenho hoje no Hostgator um site que vai ser substituído pelo que eu vou migrar usando sua orientação. Como faço. Deleto o que está lá e faço a migração?
Luci, que bom que gostou do post.
Não sei o que te dizer no caso desse site na Hostgator. No meu caso, eu nunca deleto de cara os sites antigos. Eu crio uma pasta e movo o conteúdo antigo todo pra ela. Só depois eu faço a migração. Depois que a migração foi completa sem problemas, vou lá e deleto a pasta com o conteúdo que não serve mais.
Ajudou muito … obrigado!
Que ótimo que pude ajudar, Alexandre!