Como Limpar o Banco de Dados do WordPress

Aprenda a limpar o banco de dados do WordPress para melhorar a performance. Guia completo com SQL, plugins e automação.

O banco de dados é o coração do WordPress. Cada post, comentário, configuração de plugin e opção do tema fica armazenado lá. Com o tempo, dados desnecessários se acumulam e transformam o banco de dados em um depósito de lixo digital que deixa o site mais lento.

Um banco de dados inchado aumenta o tempo de resposta das queries, ocupa espaço desnecessário no servidor e dificulta backups e migrações. A boa notícia: limpar esse banco é mais simples do que parece.

Neste guia, você vai aprender a identificar o que pode ser removido, como limpar manualmente via phpMyAdmin, como usar plugins para automação e como configurar o WordPress para gerar menos lixo.


Por Que a Limpeza do Banco de Dados É Importante

Antes de sair deletando dados, entenda o impacto de um banco de dados sujo:

  • Queries mais lentas. O MySQL precisa percorrer mais registros para encontrar o que precisa. Tabelas grandes significam buscas mais demoradas.
  • Backups maiores. Um banco de dados de 500MB leva muito mais tempo para ser exportado do que um de 50MB.
  • Migrações mais difíceis. Ao migrar de hospedagem, bancos grandes dão timeout durante a importação.
  • Espaço desperdiçado. Em hospedagens com limite de armazenamento, o banco de dados pode consumir uma fatia significativa.

Como medir o tamanho atual

Acesse o phpMyAdmin da sua hospedagem e veja o tamanho total do banco na página inicial. Outra opção é usar o plugin WP-Optimize , que mostra o tamanho e o potencial de economia logo no painel.

Anote o tamanho antes da limpeza para comparar depois.


O Que Se Acumula no Banco de Dados

O WordPress gera vários tipos de dados que se acumulam ao longo do tempo:

1. Revisões de Posts

Cada vez que você salva um post, o WordPress cria uma revisão. Um artigo editado 30 vezes terá 30 revisões completas armazenadas. Multiplique isso por todos os posts do site e o número fica enorme.

2. Auto-Drafts (Rascunhos Automáticos)

O WordPress salva automaticamente rascunhos enquanto você escreve. Esses rascunhos ficam no banco mesmo depois de publicar o post.

3. Posts e Comentários na Lixeira

Itens na lixeira continuam ocupando espaço. O WordPress apaga automaticamente itens da lixeira após 30 dias, mas dependendo do volume, o acúmulo é significativo.

4. Comentários de Spam

Mesmo que você use o Akismet ou outro plugin anti-spam, os comentários marcados como spam ficam no banco até serem removidos manualmente.

5. Transients Expirados

Transients são dados temporários que plugins e temas armazenam na tabela wp_options . Quando expiram, muitos não são removidos automaticamente.

6. Metadados Órfãos

Quando você deleta um post, os metadados associados (na tabela wp_postmeta ) nem sempre são removidos junto. O mesmo acontece com metadados de comentários e usuários.

7. Tabelas de Plugins Desinstalados

Muitos plugins criam suas próprias tabelas no banco de dados. Quando você desinstala o plugin, essas tabelas frequentemente ficam para trás.


Método 1: Limpeza Manual via phpMyAdmin

Este método é para quem tem familiaridade com SQL e quer controle total sobre o que está sendo removido.

Importante: faça um backup completo do banco de dados antes de executar qualquer query SQL.

Acessando o phpMyAdmin

  1. Entre no painel da hospedagem (cPanel, Plesk ou similar)
  2. Encontre a opção phpMyAdmin
  3. Selecione o banco de dados do WordPress no painel lateral
  4. Clique na aba SQL para executar queries

Removendo Revisões de Posts

DELETE FROM wp_posts WHERE post_type = 'revision';

Para ver quantas revisões existem antes de apagar:

SELECT COUNT(*) FROM wp_posts WHERE post_type = 'revision';

Removendo Auto-Drafts

DELETE FROM wp_posts WHERE post_status = 'auto-draft';

Limpando Posts e Comentários na Lixeira

DELETE FROM wp_posts WHERE post_status = 'trash';
DELETE FROM wp_comments WHERE comment_approved = 'trash';

Removendo Comentários de Spam

DELETE FROM wp_comments WHERE comment_approved = 'spam';

Limpando Transients Expirados

DELETE FROM wp_options WHERE option_name LIKE '%_transient_%'
AND option_name NOT LIKE '%_transient_timeout_%';

Se quiser remover apenas os expirados:

DELETE a, b FROM wp_options a
INNER JOIN wp_options b ON b.option_name = CONCAT('_transient_timeout_', SUBSTRING(a.option_name, 12))
WHERE a.option_name LIKE '_transient_%'
AND a.option_name NOT LIKE '_transient_timeout_%'
AND b.option_value < UNIX_TIMESTAMP();

Removendo Metadados Órfãos de Posts

DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL;

Removendo Metadados Órfãos de Comentários

DELETE cm FROM wp_commentmeta cm
LEFT JOIN wp_comments wc ON wc.comment_ID = cm.comment_id
WHERE wc.comment_ID IS NULL;

Removendo Pingbacks e Trackbacks

DELETE FROM wp_comments WHERE comment_type = 'pingback';
DELETE FROM wp_comments WHERE comment_type = 'trackback';

Nota: se o prefixo das tabelas do seu WordPress for diferente de wp_ , ajuste os nomes das tabelas nas queries acima. Verifique o prefixo no arquivo wp-config.php , na linha $table_prefix .


Método 2: Limpeza com Plugins

Se você não tem experiência com SQL ou prefere uma abordagem mais segura, plugins de limpeza fazem o trabalho pesado.

WP-Optimize

O WP-Optimize é o plugin mais popular para limpeza de banco de dados. Gratuito e mantido pela mesma equipe do UpdraftPlus.

Recursos principais:

  • Remove revisões, auto-drafts, posts na lixeira, spam e transients
  • Otimiza tabelas do banco de dados
  • Agenda limpezas automáticas
  • Mostra o tamanho do banco e quanto espaço será recuperado

Como usar:

  1. Instale e ative o plugin pelo menu Plugins > Adicionar Novo
  2. Acesse WP-Optimize > Database
  3. Marque os itens que deseja limpar
  4. Clique em Run all selected optimizations

Para agendar a limpeza automática, vá em WP-Optimize > Settings e configure a frequência (semanal é uma boa escolha para a maioria dos sites).

Advanced Database Cleaner

Mais detalhado que o WP-Optimize, este plugin identifica tabelas órfãs de plugins desinstalados e tarefas agendadas (cron jobs) que não são mais necessárias.

Recursos principais:

  • Identifica tabelas criadas por plugins removidos
  • Detecta cron jobs órfãos
  • Limpeza de opções não utilizadas na tabela wp_options
  • Interface com filtros avançados

WP Sweep

Desenvolvido pela mesma equipe do WP-DBManager, o WP Sweep é leve e direto ao ponto.

Diferencial: usa funções nativas do WordPress para deletar dados em vez de queries SQL diretas, o que garante que hooks de plugins sejam respeitados durante a limpeza.


Otimizando Tabelas do Banco de Dados

Depois de remover dados, as tabelas ficam fragmentadas. Pense em um livro do qual você arrancou várias páginas, mas o índice continua referenciando as páginas removidas. A otimização reorganiza a tabela e recupera o espaço.

Via phpMyAdmin

  1. Acesse o phpMyAdmin
  2. Selecione o banco de dados do WordPress
  3. Marque todas as tabelas (ou as que deseja otimizar)
  4. No menu dropdown na parte inferior, selecione Optimize table

Via SQL

OPTIMIZE TABLE wp_posts, wp_postmeta, wp_comments, wp_commentmeta, wp_options;

Para otimizar todas as tabelas de uma vez:

-- Liste todas as tabelas
SHOW TABLES;

-- Ou otimize todas com um comando
-- (execute no terminal MySQL, não no phpMyAdmin)
mysqlcheck -o nome_do_banco -u usuario -p

Via WP-CLI

Se você tem acesso SSH ao servidor:

wp db optimize

Configurando o WordPress para Gerar Menos Lixo

Prevenir é melhor do que remediar. Ajuste o wp-config.php para limitar o acúmulo de dados desnecessários.

Limitar o número de revisões

Adicione ao wp-config.php , antes da linha /* That's all, stop editing! */ :

// Limita revisões a 5 por post
define('WP_POST_REVISIONS', 5);

Você pode ajustar o número conforme a necessidade. Para desativar revisões completamente (não recomendado):

define('WP_POST_REVISIONS', false);

Aumentar a frequência do auto-save

O intervalo padrão de auto-save é 60 segundos. Se quiser aumentar para gerar menos rascunhos:

// Auto-save a cada 300 segundos (5 minutos)
define('AUTOSAVE_INTERVAL', 300);

Esvaziar a lixeira mais rápido

O padrão é 30 dias. Para reduzir:

// Esvaziar lixeira após 7 dias
define('EMPTY_TRASH_DAYS', 7);

Desativar revisões apenas para tipos de post específicos

Se você quer manter revisões em posts, mas não em produtos WooCommerce, por exemplo, adicione ao functions.php do tema:

function hostwp_limitar_revisoes_produto($num, $post) {
    if ($post->post_type == 'product') {
        return 0; // Sem revisões para produtos
    }
    return $num;
}
add_filter('wp_revisions_to_keep', 'hostwp_limitar_revisoes_produto', 10, 2);

Medindo os Resultados

Depois da limpeza, compare os números:

Tamanho do banco de dados

Via phpMyAdmin, veja o tamanho total na página inicial do banco. Se usou o WP-Optimize, ele mostra a comparação antes e depois.

Velocidade das queries

Ative o log de queries lentas no MySQL para identificar se a limpeza melhorou o tempo de resposta:

# No arquivo my.cnf do MySQL
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-queries.log
long_query_time = 1

Performance geral do site

Use o GTmetrix ou o Google PageSpeed Insights para medir o tempo de carregamento antes e depois. O TTFB (Time to First Byte) é a métrica mais impactada pela limpeza do banco de dados.


Agenda de Manutenção Recomendada

A limpeza do banco de dados deve ser recorrente. Uma sugestão de cronograma:

Frequência Tarefa
Mensal Remover revisões antigas e auto-drafts
Trimestral Otimizar tabelas e verificar tabelas órfãs
Semestral Auditoria completa (opções não usadas, cron jobs)

Se o site tem muito tráfego ou muitos plugins, considere aumentar a frequência.


Cuidados Importantes

  • Sempre faça backup antes de qualquer limpeza. Um erro em uma query SQL pode apagar dados importantes.
  • Não delete tabelas que você não reconhece sem pesquisar antes. Pode ser de um plugin ativo.
  • Cuidado com a tabela wp _ options. Ela contém configurações críticas do WordPress. Não apague linhas sem saber o que fazem.
  • Teste o site depois da limpeza. Verifique se tudo continua funcionando, especialmente formulários, comentários e funcionalidades de plugins.

Não Quer Fazer Isso Sozinho?

Manutenção de banco de dados exige atenção e conhecimento técnico. Uma query errada pode derrubar o site inteiro. A equipe da HOSTWP cuida da manutenção completa do seu WordPress, incluindo limpeza e otimização periódica do banco de dados. Do servidor ao site, a gente resolve tudo.

Fale com a HOSTWP pelo WhatsApp e deixe a manutenção com quem entende.


Leia também:

Artigos relacionados