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
- Entre no painel da hospedagem (cPanel, Plesk ou similar)
- Encontre a opção phpMyAdmin
- Selecione o banco de dados do WordPress no painel lateral
- 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:
- Instale e ative o plugin pelo menu Plugins > Adicionar Novo
- Acesse WP-Optimize > Database
- Marque os itens que deseja limpar
- 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
- Acesse o phpMyAdmin
- Selecione o banco de dados do WordPress
- Marque todas as tabelas (ou as que deseja otimizar)
- 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: