Se você trabalha com o WordPress, já deve ter passado por isso.
Eu odeio o WordPress mas infelizmente tenho que usar no meu trabalho fixo. Nos meus freelas, eu recuso qualquer trabalho que me pedem em WordPress.
Dito isso, vamos ao problema. Transferir um site WordPress para outro domínio.
Isso mesmo, lá na agência, por várias vezes tive que criar um ambiente demo de sites WordPress para que o cliente pudesse ver o projeto pronto antes dele ser publicado. Até ai nenhum problema, exceto que o WordPress grava o domínio, na verdade, o URL do site no banco de dados, então quando mudamos o site para o ambiente definitivo, nada funciona. Por que isso acontece? Um dos motivos, é que WordPress usa o endereço do site gravado no banco de dados para abrir alguns arquivos com os CSSs por exemplo. Com isso, logo de cara, o site perde toda a configuração de layout.
A solução
Corrigir as tabelas onde o URLs do site foi salvo. Para isso, criei uma stored procedure para corrigir o URL nas tabelas do banco de dados. A stored procedure pode ser baixada no link abaixo.
Como funciona
A procedure substitui o URL antigo pelo URL novo nas tabelas de options, posts e postmeta, onde o URL do site é gravado, usando um replace.
Para rodar forneça os parâmetros obrigatórios da procedure. São eles:
- texto com 0 nome do banco de dados;
- texto com o prefixo das tabelas do WordPress (sem o caracter underscore);
- texto com a URL a ser substituída;
- texto com a nova URL.
Exemplo:
call SP_corrige_host_wordpress('teste', 'wp', 'http://meusite.com/demos/clientex','http://clientex.com.br');
Se eu não tiver acesso ao banco de dados?
- Acesse o Gerenciador de Arquivos do cPanel ou conecte-se via FTP.
- Navegue para o diretório do WordPress.
- Edite o arquivo
wp-config.php
. - Atualize (ou adicione) as seguintes linhas ao código:
define(“WP_SITEURL”,”endereço desejado”);
define(“WP_HOME”,”endereço desejado”); - Salve as mudanças
É isso ai. Para mim, essa procedure tem funcionado bem. Se alguém tiver dificuldades ou uma ideia para melhorar a procedure, basta comentar aqui em baixo.