Os melhores comandos SQL para WordPress

0
9

Confira essa coleção de comandos SQL para usar em sua instalação do WordPress. Tem um pouco de tudo: remanejo de URLs, controle de comentários, otimizações de banco de dados e muito mais.

Como usar?

Siga ao painel do seu site usando cPanel e procure pela opção "MyPHPAdmin".

Selecione o banco de dados do seu site no menu à esquerda da tela, e depois no link SQL. Na caixa de texto que será aberta você pode entrar os comandos, confirmando-os em OK.

Muito importante

  • Jamais use esses comandos se não sabe o que está fazendo.
  • Crie um backup do banco de dados antes de usar qualquer comando. Se algo der errado no procedimento, ele pode se tornar corrompido de forma irreversível.

 

Fechar ping and trackback geral

Fecha o ping e trackback em todos os posts. Num passado remoto eles eram úteis, mas perderam muito da relevância de outrora.

UPDATE wp_posts SET ping_status='closed' WHERE post_status = 'publish' AND post_type = 'review';
UPDATE wp_posts SET ping_status='closed' WHERE post_status = 'publish' AND post_type = 'page';
UPDATE wp_posts SET ping_status='closed' WHERE post_status = 'publish' AND post_type = 'post';

Com isso, você pode escolher os tipos de post, mesmo posts personalizados como "review", ou só nas páginas. Mas se quer passar a tesoura em todos:

UPDATE wp_posts SET ping_status = 'closed';

Excluir trackback e pingback

E depois, deletando os já inseridos no banco de dados:

DELETE FROM wp_comments WHERE comment_type="trackback";
DELETE FROM wp_comments WHERE comment_type="pingback";

Remover shortcodes

Remova shortcodes que não funcionam mais. Por exemplo, removendo shorcodes simples que não exigem fechamento:

UPDATE wp_posts SET post_content = replace(post_content, '[seu_shortcode]', '' );

Se tiver abertura e fechamento, revomendo ambos:

UPDATE wp_posts SET post_content = replace(post_content, '[seu_shortcode]', '' );
UPDATE wp_posts SET post_content = replace(post_content, '[/seu_shortcode]', '' );

Excluir comentários não lidos

Anda recebendo toneladas de spam e está com preguiça de avaliar. Quer passar a tesoura em todos de uma vez? Use:

DELETE from wp_comments WHERE comment_approved = '0';

Excluir comentários recusados

Exclua todos os comentários que foram marcados como "Rejeitar":

DELETE FROM wp_comments WHERE comment_approved = 0;

Excluir todo o spam

Você pode fazer isso pelo painel, mas também pode pelo MySql:

DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';

Excluir comentário com certo url

Spammers podem comentar indicando lugares específicos. Se seu site está recebendo muitos assim, você pode excluir só eles com o comando:

DELETE from wp_comments WHERE comment_author_url LIKE "%www.spammer.com%" ;

Os sinais % devem ser mantidos. Todos os comentários contendo o caminho entre eles será excluído (substitua o www.spammer.com apropriadamente).

Excluir revisões de post

Exclua todas as revisões de posts, diminuindo bastante o tamanho do banco de dados. ATENÇÃO: fazendo isso, não será possível recuperar um artigo a estados anteriores da edição. Use sabendo exatamente do que falei aqui.

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';

Substituir termos nos artigos

Digamos que você fez inúmeras referências a uma palavra, frase ou link nos artigos, e precisa alterá-las. Exemplo: "Loja do João" virou "Loja do Zé". Como faz? Note que é basicamente o mesmo comando para substituir links, shortcodes, etc — qualquer coisa no corpo do artigo.

UPDATE wp_post SET post_content = replace(post_content, 'Loja do João', 'Loja do Zé' ) ;

Listar e-mail dos comentaristas

ATENÇÃO: não use este comando para fazer spam. Todo mundo odeia spam. Só envie mensagens se seus leitores concordaram em recebê-las.

Para obter uma lista com os e-mails de todos (sem os duplicados) que fizeram comentários no site, use:

SELECT DISTINCT comment_author_email FROM wp_comments;

Mudar autoria dos posts

Essa é para quem precisa trocar o autor de todos os artigos. Para usar, você precisa do ID dos autores antigo e novo. No exemplo, o autor 002 passará a ser autor de todos os artigos do autor 001. Substitua os códigos de acordo com a necessidade.

UPDATE wp_posts SET post_author = '002' WHERE post_author = '001';

Trocar senha do usuário

Para trocar rapidamente a senha de qualquer usuário. Em "USUARIO", substitua pelo nome de usuário (aquele que ele/ela usa para fazer login):

UPDATE wp_users SET user_pass = MD5( 'NOVA_SENHA' ) WHERE user_login = 'USUARIO';

Remover transients

Transients (transitório) são uma abordagem usada na construção de temas e plugins no WordPress, que otimizam o funcionamento à custa de armazenar dados no banco de dados. Eles são gravados lá com uma data de expiração, mas normalmente não são excluídos enquanto não forem reacessados. Se dados expirados não forem acessados, ficam lá aumentando o tamanho do banco. PAra limpar esses dados, use:

DELETE FROM `wp_options` WHERE `option_name` LIKE ('%\_transient\_%');

Remover cache do feed

O cache do feed também é armazenada no db. Para limpar:

DELETE FROM `wp_options` WHERE `option_name` LIKE ('_transient%_feed_%');

Alterar domínio

Após trocar seu site de domínio, todas as referências internas estarão apontando para o antigo, gerando erros. Digamos que seu site antigo era "http://www.meusite.com.br" e o novo é "https://www.meunovosite.com.br". Use:

UPDATE wp_options SET option_value = replace(option_value, 'http://www.meusite.com.br', 'https://www.meunovosite.com.br') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.meusite.com.br','https://www.meunovosite.com.br');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.meusite.com.br', 'https://www.meunovosite.com.br');

Alterar caminho das imagens

Ao trocar de servidor, ou alterando o servidor de imagens, você pode usar este comando para corrigir só o URL das que foram incluídas nos artigos:

UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://www.urlantigo.com', 'src="http://www.urlnovo.com');
UPDATE wp_posts SET guid = replace(guid, 'http://www.urlantigo.com','https://www.urlnovo.com');

Ativar ou desativar comentários

O WordPress usa uma coluna no banco de dados chamada "comment_status", cujo valor define se os comentários estão abertos, fechados, ou limitados a usuários registrados. O valor da coluna, então, pode ser: open, closed, registered_only.

Com isso em mente, use o seguinte comando de acordo com a necessidade:

UPDATE wp_posts SET comment_status = 'open';

Esse abre o comentário, e etc.

Fechar comentários em posts antigos

Mas digamos que você quer fechar comentários apenas em posts antigos. Com esse comando, você pode fazer isso determinando uma data limite; posts anteriores ficam fechados para novos comentários.

UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2012-01-01' AND post_status = 'publish';

Esse comando fecharia comentários em posts anteriores a 01/01/2012. O formato é "ano-mês-dia". Se tiver plano de usar, é recomendável repetir o comando de tempos em tempos, ajustando a data conforme a necessidade.

Remover caracteres estranhos

Às vezes, durante mudanças de servidor, o banco de dados acaba sendo importado com erros de formato e caracteres como aspas inglesas e traços viram coisas estranhas como . Se notar a presença de caracteres estranhos no site, tente rodar esse comando para consertar vários formatos possíveis:

UPDATE wp_posts SET post_content = REPLACE(post_content, '“', '“');
UPDATE wp_posts SET post_content = REPLACE(post_content, '”', '”');
UPDATE wp_posts SET post_content = REPLACE(post_content, '’', '’');
UPDATE wp_posts SET post_content = REPLACE(post_content, '‘', '‘');
UPDATE wp_posts SET post_content = REPLACE(post_content, '—', '–');
UPDATE wp_posts SET post_content = REPLACE(post_content, '–', '—');
UPDATE wp_posts SET post_content = REPLACE(post_content, '•', '-');
UPDATE wp_posts SET post_content = REPLACE(post_content, '…', '…');

UPDATE wp_comments SET comment_content = REPLACE(comment_content, '“', '“');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '”', '”');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '’', '’');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '‘', '‘');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '—', '–');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '–', '—');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '•', '-');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '…', '…');

Fonte: Digging into WordPress

Remover tags não usadas

Tags têm sua utilidade, mas é comum abusar delas e depois de remover alguns artigos, ficar com várias que não são usadas em lugar algum. Para removê-las, use:

DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0 );
DELETE FROM wp_term_taxonomy WHERE term_id not IN (SELECT term_id FROM wp_terms);
DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);

Remover posts antigos

Seu site pode ser baseado em eventos ou promoções, e depois de um tempo não são mais necessários. Para remover posts mais antigos que certa data:

DELETE FROM `wp_posts`
WHERE `post_type` = 'post'
AND DATEDIFF(NOW(), `post_date`) > 600

Com isso, todos os artigos publicados há mais de 600 dias serão excluídos.

Remove agent dos comentários

O User-agent guarda uma série de informações adicionais do usuário como navegador, sistema operacional, etc. Para a maioria dos sites, não tem utilidade alguma, e a não ser que pretenda exibir ou usar tais dados, pode removê-los e reduzir o banco de dados.

UPDATE wp_comments set comment_agent ='' ;
- Publicidade -

Receba atualizações do Tutoriart

É grátis, e você pode escolher entre receber só sugestões sobre arte, design gráfico, Photoshop, etc, ou só sobre WordPress, blogging, design web, snippets, etc. Ou tudo, se preferir!

Quero assinar...
Ao assinar, você concorda com os Termos de Privacidade.

DEIXE UMA RESPOSTA

Por favor, digite seu comentário!
Por favor, digite seu nome aqui