Comando MySQL para blogs Wordpress

Aqui 13 dicas SQL para limpar seu banco de dados do WordPress e deixar o blog mais rápido e mais limpo.

Removendo caracteres “estranhos”

Problemas de codificação de caracteres são um tanto comuns e muito chatos de serem resolvidos. Eu, ainda bem, não me deparei ainda com isso, mas você pode ter esse problema. Então vai um trecho de código para resolver esse problema:

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, ‘…’, ‘…’);

Desabilitando trackbacks e pingbacks no WordPress_

_

Para alguns sites WordPress a existência de pingbacks e trackbacks são totalmente dispensáveis. Usando o trecho de código abaixo, você não precisa desativá-los manualmente a cada novo post em seu blog.

 

UPDATE wp_posts SET ping_status = ‘closed’;

Removendo shortcodes inativos

Já sabemos que os shortcodes são muito importantes para facilitar a publicação no WordPress.

Existem momento onde você pode ter deixado de utilizar algum por qualquer motivo, para que não tenha que entrar em cada post e remover o shortcode, no exemplo, está sendo removido o shortcode tweet.

UPDATE wp_post SET post_content = replace(post_content, ‘[tweet]’, ‘’ ) ;

Removendo custom fields dos posts

_Você utilizava um determinado campo customizado, porém agora seu uso não será mais necessário, mas você tem mais de 20 _posts que utilizam esse custom field. Execute o código abaixo e se livre dele em todos os posts.

DELETE FROM wp_postmeta WHERE meta_key = ‘SeuCampoPersonalizado’;

Remova tags (marcadores) não utilizados

Quando você é iniciante em blogs, é muito comum que você exagere nas tags e com o passar do tempo você vê que esses marcadores devem ser utilizados apenas com informações relevantes, sem duplicação ou sem relação direta com o conteúdo. Essa é a hora de remover algumas tags.

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

Limpar o cache dos feeds do WordPress

No WordPress, o cache dos feeds fica armazenado em banco de dados. Só faz necessária a limpeza desse cache caso algum post publicado não esteja aparecendo no feed.

DELETE FROM wp_options WHERE option_name LIKE (‘transient%_feed%’)

Remover todas as revisões dos posts

__Llimpar revisões antigas e que provavelmente não serão utilizadas, pois seu banco de dados pode crescer muito com essa funcionalidade.

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

Remover posts antigos do WordPress

Mas atenção, o número 600 refere-se a dias passados, ou seja, para remover um post de 1 ano atrás, basta substituir o 600 por 365.

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

Remover estatística de navegadores

A cada comentário feito em seu site ou blog, o WordPress armazena qual foi o navegador utilizado, mas muita gente não utiliza essa informação que acaba apenas servindo como mais um pouco de kbytes em seu banco de dados. O comando SQL abaixo substituir qualquer informação por vazio.

update wp_comments set comment_agent =’’ ;

Desabilitar todos os plugins do WordPress

O código abaixo agiliza a desativação dos plugins, pois se você tiver muitos plugins instalados, é um bem chata a tarefa de desativar um a um manualmente.

UPDATE wp_options SET option_value = ‘’ WHERE option_name = ‘active_plugins’;

Trocando o autor dos posts no WordPress

Sendo assim, seria interessante você criar esse novo autor, descobrir o identificador (ID) de cada usuário, como mostro no primeiro código:

SELECT ID, display_name FROM wp_users;

Agora você poderá substituir um autor por outro. Troque id_novo_autor e id_antigo_auto pelos identificadores listados com o comando acima.

UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

Removendo todos os comentários spam

Na verdade o comando SQL abaixo não removerá apenas spams. Na verdade o comando irá remover todos os comentários não aprovados, o que em muitos casos, são justamente os comentários indesejados, ou seja, spam.

DELETE from wp_comments WHERE comment_approved = ’0′;

Para remover apenas os spams:

DELETE FROM wp_comments WHERE wp_comments.comment_approved = ‘spam’;

Remover todos os pingbacks do WordPress

Na segunda dica eu mostrei como desabilitar, mas e como apagar os pingbacks que já existem no site? O comando SQL abaixo dá conta da tarefa.

DELETE FROM wp_comments WHERE comment_type = 'pingback';