O plugin Akismet é uma maravilha, funciona muito bem para pegar os malditos SPAMs de comentários que insistem em aparecer aos montes em meus sites. Porém, descobri que um grande problema dele, é entupir o banco de dados do WordPress com dados (inúteis) na tabela wp_commentmeta. Ele adiciona as seguintes chaves para os comentários:
- akismet_result
- akismet_history
- akismet_as_submitted
Estes dados o Akismet usa para fins estatísticos e de histórico. Quando você entra em Admin > Jetpack > Estatísticas do Akismet, estes são os dados usados para fazer os gráficos e tabelas. Se já não há muito valor prático em saber este tipo de informação, o problema fica mesmo gritante quando você vai ver o tanto de espaço que isso ocupa em seu banco de dados.
Veja um exemplo real. Um de meus sites possui cerca de 30 mil comentários. Veja como estava o tamanho das tabelas do WordPress que guardam os comentários:
- wp_comments — 15 MB
- wp_commentmeta — 20 MB
Os meta dados dos comentários estavam ocupando mais espaço que os próprios comentários! Adivinha de quem era a culpa? Akismet. Depois de remover todos os seus dados, o tamanho da tabela caiu de 20 MB para somente 2 MB.
Importante: Faça um becape de sua base de dados antes de executar estes comandos!
Para ver (sem remover) todos os meta dados do Akismet em sua tabela, execute este comando SQL:
SELECT * FROM wp_commentmeta WHERE meta_key LIKE 'akismet%'
Para remover de uma vez todos estes dados, basta trocar o início do comando:
DELETE FROM wp_commentmeta WHERE meta_key LIKE 'akismet%'
Pronto, todos os meta dados do Akismet foram removidos. Porém, o espaço ocupado por eles na base de dados só vai ser liberado de fato quando você “esvaziar a lixeira”, ou seja, otimizar a tabela:
OPTIMIZE TABLE wp_commentmeta
E aí, economizou muito espaço? Conte pra gente nos comentários!
Nota: Ainda estou procurando uma maneira limpa de impedir que o Akismet grave estes dados na tabela. Quando eu achar, atualizarei este post.



Pingback: Wilson Blogue » Blog Archive » wp_commentmeta – apagar
Há poucos dias somente que percebi que era por causa do askimet que me banco de dados estava enorme! ai começei a pesquisar e encontrei o seu post, e era exatamente o que eu procurava! Reduziu muuuuito o meu banco de dados, o meu banco que era de aproximadamente 75mb foi reduzido para 8.5mb, acredite se quiser!! Ótimo post !
Acredito sim, obrigado pelo depoimento! :)
Opa! estava procurando exatamente isso, mas o motivo da minha procura não foi nem o espaço ocupado, nem tinha me tocado com isso. Mas escaneando meu blog com uma ferramenta online (pior que não consigo mais achar o site) estava acusando um link de spam, então procurai esse link por toda parte, inclusive nos comentários e nada.
Então tive uma ideia, baixei o banco de dados em formato SQL, abri no meu editor e mandei procurar o link. E lá estava ele, mas não conseguia entender porque não aparecia em lugar nenhum, só depois percebi que estava entre os dados que o Akismet deixa gravado no DB.
Bom, agora acho que vou matar dois coelhos com uma só cajadada.
Valeu pela dica.