Categorias: WordPress

Otimizando o banco de dados do seu WordPress

Existem alguns plugins para WordPress que faz isso pra você, não cheguei a testar nenhum porque sou a favor do “faça manualmente se puder”. Mas se você não está afim de ter trabalho, dê uma olhada no WP-Otimize, dizem que é bom.

Primeiro, antes de seguir com esse tutorial (ou usar o plugin citado acima), faça um backup do banco de dados. Só depois de ter um backup, faça a otimização.

Pra fazer essa otimização do banco de dados manualmente, você precisa:


Após isso, entre no “phpMyAdmin“, clique no nome do banco de dados que quer otimizar, e depois clique na aba “SQL“.
No espaço em branco você digita a consulta, depois clica em “executar” e é isso.

otimize-db-01

otimize-db-02

Importante

Se seu WordPress foi instalado com o prefixo das tabelas diferente do padrão, você precisa alterar isso nas consultas antes de executar elas.

Por padrão o WordPress tem os nomes das tabelas iniciado com wp_ mas por questão de segurança, alguns podem ser instalados com outro nome. Depende da hospedagem e de quem instalou o WordPress. Verifique antes e altere nas consultas o wp_ para a inicial que está nas tabelas do seu banco de dados.

Tabelas padrão no WordPress, com o prefixo padrão:

otimize-db-03

As consultas

Utilize as consultas abaixo para otimizar o banco de dados. Um de cada vez.

Deletar posts revisions

Aqueles posts que o WordPress vai salvando toda vez que você resolve fazer uma alteração, vai acumulando no banco de dados.
Com essa consulta você pode deletar os posts revisions com data menor que “2013-12-31” (ano-mês-dia).

Executar esse primeiro:

DELETE FROM wp_posts WHERE post_type = “revision” AND post_date < '2013-12-31';

Executar esse em seguida:

DELETE FROM <strong>wp_postmeta</strong> WHERE post_id NOT IN (SELECT ID FROM <strong>wp_posts</strong>);

Por último, executar esse:

DELETE FROM <strong>wp_term_relationships</strong> WHERE object_id NOT IN (SELECT ID FROM <strong>wp_posts</strong>);

Deletar categorias e tags que não estão sendo usadas

Tem 1001 categorias e tags no blog e não sabe se usa todas? Você pode fazer uma limpa nelas, eliminando o que não está sendo usado.

Executar primeiro:

DELETE FROM <strong>wp_terms</strong> WHERE term_id IN (SELECT term_id FROM <strong>wp_term_taxonomy</strong> WHERE count = 0 );

Executar em seguida:

DELETE FROM <strong>wp_term_taxonomy</strong> WHERE term_id not IN (SELECT term_id FROM <strong>wp_terms</strong>);

Executar por último:

DELETE FROM <strong>wp_term_relationships</strong> WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM <strong>wp_term_taxonomy</strong>);

Deletar comentários spam

Tem vários comentários spam e não está com paciência pra deletar manualmente é só usar essa consulta abaixo. E depois ative o plugin Akismet para eliminar os spams pra você.

Executar primeiro:

DELETE FROM <strong>wp_commentmeta</strong> WHERE comment_id NOT IN (SELECT comment_id FROM <strong>wp_comments</strong>);

Executar em seguida:

DELETE FROM <strong>wp_commentmeta</strong> WHERE meta_key LIKE '%akismet%';

Deletar pingbacks

Para eliminar aqueles comentários pingbacks de uma vez, basta usar a consulta abaixo:

DELETE FROM <strong>wp_comments</strong> WHERE comment_type = 'pingback';

Otimizando todas as tabelas

Depois de executar todas as consultas, selecione todas as tabelas do banco de dados e selecione “otimizar tabela” no menu dropdown.

otimize-db-04

Dica

Muitos plugins inserem várias coisas no banco de dados quando são ativados no painel do WordPress. Se você decidiu que não vai mais usar um plugin e quer desinstalar ele, antes de fazer isso, verifique nas configurações dele se não existe uma opção de remover conteúdo e funções do plugin do banco de dados quando for desativado. Se existir essa opção, marque ela, pois assim quando desativar o plugin ele já remove tudo que ele inseriu no banco de dados, não deixando coisas inúteis pesando nele.
E mesmo assim, faça um backup do banco de dados antes!