Dicas Gerais

Banco WordPress: limpe e otimize com segurança

Veja como medir, limpar e otimizar o banco do WordPress sem perder conteúdo, com backup, WP-CLI, autoload, transientes e revisão de tabelas.

Otimizar o banco de dados do WordPress com segurança significa medir antes de apagar. O ganho real vem de localizar tabelas grandes, revisões excessivas, opções carregadas automaticamente, transientes vencidos e resíduos de plugins, sempre com backup restaurável. Comandos genéricos de “limpeza total” podem remover dados ainda usados e raramente corrigem uma consulta lenta sem identificar sua origem.

Conteúdo revisado em 21/09/2026. Execute limpeza primeiro em staging e mantenha uma cópia do banco fora do servidor.

Quando o banco do WordPress precisa de atenção

O banco guarda posts, páginas, configurações, usuários, comentários e dados de plugins. Ele cresce naturalmente. Tamanho, sozinho, não é defeito: uma loja com pedidos pode ter gigabytes legítimos. O problema surge quando tabelas aumentam sem relação com o negócio, o painel demora, consultas ocupam CPU, backups ficam longos ou a tabela de opções carrega muitos dados em toda requisição.

Antes de limpar, confirme se a lentidão está no banco. Imagens pesadas, chamada externa, PHP antigo, falta de cache ou servidor saturado produzem sintomas parecidos.

Faça backup e teste a restauração

Exporte o banco com a ferramenta da hospedagem, phpMyAdmin, WP-CLI ou mysqldump. Guarde a cópia fora da conta. Para sites com muitas gravações, programe uma janela ou use um método consistente oferecido pelo provedor. Um arquivo SQL incompleto pode aparentar sucesso e falhar somente no momento da recuperação.

O manual de backups do WordPress diferencia os arquivos do banco: ambos são necessários para restaurar o site por completo. Faça uma restauração em staging e confirme login, páginas e dados críticos.

Crie uma linha de base

Registre tamanho total, maiores tabelas, número de opções, tempo de backup e páginas lentas. No WP-CLI:

wp db size --tables
wp db tables
wp option list --autoload=on --format=total_bytes

O último comando depende da versão do WP-CLI e do WordPress. Se não estiver disponível, consulte o banco com cuidado. O prefixo pode ser diferente de wp_:

SELECT table_name,
       ROUND((data_length + index_length) / 1024 / 1024, 2) AS tamanho_mb
FROM information_schema.tables
WHERE table_schema = DATABASE()
ORDER BY data_length + index_length DESC;

Não execute consultas de remoção copiadas da internet antes de entender o esquema. Plugins criam tabelas próprias e relacionamentos que não aparecem no núcleo.

O que costuma ocupar espaço

Origem Benefício da limpeza Risco
Revisões antigas Reduz linhas em posts e metadados Perde histórico de edição
Transientes vencidos Remove cache que deveria expirar Pico temporário ao recalcular
Spam e lixeira Diminui comentários e metadados Excluir item classificado errado
Logs e filas Pode liberar muito espaço Apagar auditoria ou tarefa pendente
Tabelas órfãs Remove resíduos de plugins Plugin ainda pode depender delas
Autoload excessivo Reduz dados em toda requisição Quebrar configuração essencial

Como tratar revisões de posts

Revisões ajudam a recuperar alterações e comparar edições. Em um site com páginas modificadas muitas vezes, elas podem crescer. Defina uma política antes de apagar: preservar as últimas revisões por conteúdo é mais útil que remover tudo.

Para limitar futuras revisões, adicione ao wp-config.php:

define( 'WP_POST_REVISIONS', 10 );

O limite não apaga revisões existentes imediatamente. Faça a limpeza com uma ferramenta que preserve as versões desejadas e teste páginas com construtores, pois alguns armazenam dados extensos em cada revisão.

Transientes vencidos e cache

Transientes são valores temporários. Plugins devem respeitar a expiração, mas resíduos podem permanecer. Com WP-CLI:

wp transient delete --expired
wp site transient delete --expired

Em multisite, confirme o escopo. Remover transientes válidos não costuma apagar conteúdo, mas força reconstrução de cache e pode aumentar carga. Faça fora do pico e acompanhe o site.

Por que autoload merece atenção

Opções marcadas para carregamento automático entram na memória em muitas requisições. Uma opção grande de plugin, cache persistido ou configuração abandonada pode prejudicar o tempo de resposta mesmo quando a tabela total é pequena.

Liste as maiores opções carregadas automaticamente, adaptando o prefixo:

SELECT option_name, LENGTH(option_value) AS bytes
FROM wp_options
WHERE autoload IN ('yes', 'on', 'auto-on', 'auto')
ORDER BY bytes DESC
LIMIT 30;

Os valores de autoload aceitos mudaram ao longo das versões do WordPress, por isso a consulta inclui formas diferentes. Não altere para “não” sem consultar o plugin ou testar: algumas opções precisam estar disponíveis cedo. Se o componente foi removido, procure o procedimento oficial de desinstalação antes de excluir manualmente.

Comentários, spam e lixeira

Revise a fila no painel e elimine spam confirmado e itens na lixeira. A exclusão também deve remover metadados relacionados por meio das APIs do WordPress. Evite um DELETE direto que deixa registros órfãos. Em sites atacados por spam, corrija a entrada com antispam, limitação e atualização; caso contrário, a tabela crescerá novamente.

Logs, sessões e filas de plugins

Plugins de segurança, estatística, formulário e comércio podem manter logs, sessões e filas. Verifique a política de retenção dentro do próprio plugin. Uma tabela de fila enorme pode conter tarefas pendentes, não lixo. Primeiro identifique estados, datas e recorrência; depois use a ferramenta de limpeza do componente.

Se uma tabela volta a crescer, descubra o produtor. Erro repetido, webhook falhando ou tarefa cron parada cria milhões de linhas novamente após uma limpeza bem-sucedida.

Como identificar tabelas órfãs

Compare prefixos e nomes com os plugins ativos, mu-plugins e histórico do site. Pesquise a documentação do fornecedor e confira se o plugin oferece opção para remover dados ao desinstalar. Faça backup isolado das tabelas candidatas, renomeie-as em staging e percorra as funções do site antes de excluí-las.

Não considere órfã uma tabela apenas porque o nome do plugin não é óbvio. Bibliotecas compartilhadas e integrações antigas podem usar nomes próprios.

Reparar e otimizar tabelas

O WordPress oferece uma tela de reparo quando você define temporariamente:

define( 'WP_ALLOW_REPAIR', true );

Acesse /wp-admin/maint/repair.php e remova a constante ao concluir. A documentação do wp-config.php alerta que a página não exige login enquanto a opção está ativa. Use-a apenas durante a manutenção.

Com WP-CLI, há também:

wp db check
wp db optimize

O comando de otimização executa operações do banco e pode bloquear tabelas ou exigir espaço temporário. Leia a referência do WP-CLI, programe janela e evite rodar como tarefa diária sem motivo.

Índices e consultas lentas

Quando a página continua lenta, use log de consultas lentas, APM ou uma ferramenta de diagnóstico para localizar a consulta. Tabelas de metadados são flexíveis, mas buscas por combinações complexas podem custar caro. Um índice adicional pode ajudar uma consulta específica e prejudicar gravações ou futuras atualizações.

Antes de criar índice, registre a consulta, execute EXPLAIN em staging, compare linhas examinadas e tempo e documente a alteração. Para plugins conhecidos, prefira índices recomendados pelo fornecedor.

Rotina mensal de manutenção

  1. Confirme backups automáticos e restauração recente.
  2. Registre tamanho das tabelas e crescimento desde o mês anterior.
  3. Revise spam, lixeira e retenção de logs.
  4. Elimine somente transientes vencidos.
  5. Inspecione opções autoload grandes.
  6. Verifique cron, filas e integrações com falha.
  7. Execute check do banco quando houver indício de corrupção.
  8. Compare desempenho antes e depois.

Perguntas frequentes

Plugin de limpeza deixa o site mais rápido?

Pode reduzir resíduos, mas desempenho depende da consulta e dos dados carregados. Meça antes e depois; diminuir megabytes não garante menor tempo de resposta.

Posso apagar todas as revisões?

Pode, mas perde o histórico. Normalmente é melhor preservar uma quantidade útil e limitar o crescimento futuro.

OPTIMIZE TABLE precisa ser executado sempre?

Não. O benefício depende da engine e das alterações. Pode consumir espaço e bloquear operações; use quando houver evidência e janela adequada.

Banco grande prejudica SEO?

Não diretamente. Consultas lentas podem aumentar o tempo de resposta, afetar experiência e rastreamento. O foco deve ser desempenho mensurável e estabilidade.

Conclusão

Uma otimização segura começa por inventário e backup. Limpe dados com significado conhecido, ajuste retenção e corrija o processo que causa crescimento. Preserve revisões úteis, trate autoload com cuidado e use as APIs do WordPress ou a ferramenta do plugin.

Depois compare tamanho, tempo de consulta, uso de recursos e jornada do usuário. Esse registro mostra se a manutenção trouxe resultado e cria uma linha de base para detectar anomalias antes que o banco volte a ser um problema.