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