WordPress: Remover dados do Akismet da tabela wp_commentmeta

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.

Voltar para a área Dicas de WordPress

4 respostas a WordPress: Remover dados do Akismet da tabela wp_commentmeta

  1. Pingback: Wilson Blogue » Blog Archive » wp_commentmeta – apagar

  2. Juninho disse:

    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 !

  3. 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.

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>