Comandos SQL para WordPress

Alguns comandos SQL que vão te ajudar muito na hora de migrar ou publicar no servidor, seu site WordPress.

Para quem faz uso um pouco mais avançado do WordPress, especialmente quem trabalha desenvolvendo sites com a plataforma, é bem comum aparecerem situações um tanto complexas. Para estas questões, seguem alguns fantásticos comandos SQL para WordPress!

Uma maneira prática de executar comandos SQL é através do phpMyAdmin.

Até a hospedagem mais básica dá acesso à ferramenta de banco de dados, então não há dificuldades nisso.

Uma vez no sistema, você deve selecionar o banco de dados na coluna da lateral esquerda, depois selecionar aba “SQL” e escrever/colar a instrução SQL que deseja executar.

Algumas informações importantes, antes disso:

  1. Os comandos SQL para WordPress a seguir são para o prefixo padrão do WordPress “wp_”. Caso o prefixo de suas tabelas seja diferente (o que é recomendado, por questões de segurança), faça os devidos complementos necessários às queries.
  2. Lembre-se: é sempre bom fazer um backup completo de seu banco de dados antes de executar queries SQL (principalmente se você não souber muito bem o que está fazendo)!

Alterar siteurl e homeurl

WordPress armazena o caminho absoluto da URL do site (“siteurl”) e URL da home (“homeurl”) no banco de dados. Portanto, se você transferir o seu site WordPress do localhost para o servidor, por exemplo, o site não vai carregar! Isso ocorre porque o caminho absoluto ainda está apontando para o seu localhost. Você vai precisar executar um comando para resolver isso.

UPDATE wp_options SET option_value = replace(option_value, ‘http://www.enderecoantigo.com’, ‘http://www.endereconovo.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;

Alterar GUID

Depois de migrar seu blog a partir de, por exemplo, localhost, para o servidor ou de um outro domínio para um novo domínio, você terá que corrigir as URLs para o campo GUID na tabela wp_posts. Isto é crucial, porque GUID é usado para montar o slug de seu post do caminho absoluto do artigo correto.

UPDATE wp_posts
SET guid = REPLACE (guid, ‘http://www.enderecoantigo.com’, ‘http://www.endereconovo.com’);

Alterar URL no conteúdo

O WordPress utiliza caminhos absolutos no URL ao invés de um caminho relativo quando vai armazená-los no banco de dados. Dentro do conteúdo de cada registro de artigo, ele armazena todas as URLs antigas referenciando as fontes antigas. Portanto, você precisará alterar todas essas URLs com o endereço do novo domínio.

UPDATE wp_posts SET post_content = REPLACE (post_content, ‘http://www.enderecoantigo.com’, ‘http://www.endereconovo.com’);

Alterar apenas o caminho das imagens

Caso seja preciso alterar o domínio das imagens inseridas nas páginas e artigos, esta solução vai ajudar você a fazer isso de forma simples.

UPDATE wp_posts SET post_content = REPLACE (post_content, ‘src=”https://www.enderecoantigo.com’, ‘src=”https://www.endereconovo.com’);

Também é preciso atualizar o GUID para o tipo “attachment” com a seguinte instrução SQL:

UPDATE wp_posts SET guid = REPLACE (guid, ‘http://www.enderecoantigo.com’, ‘http://www.endereconovo.com’) WHERE post_type = ‘attachment’;

Atualizar Post Meta

Atualizar Post Meta funciona quase da mesma maneira como atualizar a URL no conteúdo do post. Se você tiver dados extras para cada post, você pode usar a seguinte instrução para alterar todos eles.

UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, ‘http://www.enderecoantigo.com’,’http://www.endereconovo.com’);

Alterar o nome usuário padrão “admin”

Apesar de que na versão 3 do WordPress o usuário “admin” poderá ser alterado no momento da instalação, não custa deixar para a posteridade a dica de como alterar o nome do “admin”.

UPDATE wp_users SET user_login = ‘nomequevocequiser’ WHERE user_login = ‘Admin’;

Resetar password

Já quis resetar sua senha no WordPress mas, por algum motivo, não conseguiu usar a seção para resetar o password? Eis a solução:

UPDATE wp_users SET user_pass = MD5(‘senha’) WHERE user_login = ‘login’;

Transferir artigos para outro autor

Para transferir os artigos de um autor para outro, você gasta um tempo enorme se fizer isso manualmente. Com o comando SQL a seguir, é possível fazer isso facilmente. Para a dica, é preciso saber o ID dos autores.

UPDATE wp_posts SET post_author = ‘id_novo_autor’ WHERE post_author = ‘id_autor_antigo’;

Apagar revisões

Quando se está editando um artigo no WordPress, é comum cópias de segurança serem feitas para garantir o trabalho feito. São as chamadas “revisões”. Com o tempo, o número de registros de revisões fica grande e isso pode comprometer a performance do banco de dados. Para apagar todas as revisões de artigos, dê o seguinte comando SQL:

DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = ‘revision’

Apagar post meta

Instalar e remover plugins é algo corriqueiro quando se trabalha com WordPress. Alguns plugins precisam de criar alguns post meta para funcionarem corretamente e, para esses casos, não é raro o acontecimento de, mesmo depois de o plugin ser desinstalado, algum “garbage meta” ficar enchendo o BD desnecessariamente. Uma limpeza em algum valor de post meta, às vezes, se faz necessária.

DELETE FROM wp_postmeta WHERE meta_key = ‘nome-chave-meta’;

Exportar todos os e-mails de comentários

Quanto mais tempo seu blog/site fica no ar, é provável que mais comentários receba nos artigos publicados. Se, por algum motivo, for preciso uma listagem com e-mail de todas as pessoas que já comentaram até então, basta executar o seguinte comando abaixo:

SELECT DISTINCT comment_author_email FROM wp_comments;

Apagar todos pingbacks

A medida que o site/blog fica no ar – e se você tiver bom conteúdo a oferecer – o número de pingbacks começa a influenciar a qualidade do banco de dados. Para apagar todos pingbacks, proceda da seguinte maneira:

DELETE FROM wp_comments WHERE comment_type = ‘pingback’;

Apagar todos comentários de SPAM

Delete todos os comentários marcados como SPAM:

DELETE FROM wp_comments WHERE comment_approved = ‘spam’;

 Identificar tags não usadas

Num banco de dados WordPress, se você executar alguma query SQL para apagar posts, as tags relacionadas não serão apagadas e continuarão aparecendo na nuvem de sugestão de tags e listagem de tags. Para identificar esse tipo de tag, execute a seguinte instrução SQL:

SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy=’post_tag’ AND wtt.count=0;

Bom, por hoje é isso. Espero que assim como isso me ajuda pra caramba, possa te ajudar também a se dar melhor com seu banco de dados MySQL.

Posta nos comentários se isto te ajudou e não esqueça de nos seguir nas redes sociais e no YouTube especialmente, proque sempre posto vídeos interessantes sobre o universo de criação de site, WordPress, ferramentas úteis para o dia a dia e muito mais ainda (redundante, eu sei);

Grande abraço a todos, sucesso sempre!


Publicado

em

por

Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *