Quase todos os sites do WordPress® que eu vi têm bancos de dados inchados. Isso é bastante normal. Ninguém nasceu especialista na construção de sites super eficientes e otimizados.
Quando comecei a usar o WordPress®, mudei de tema mensalmente e testei diversos plugins. Eu costumava ler aqueles artigos “Os 21 principais plug-ins obrigatórios” e instalei todos eles. Algumas semanas depois, eu os desinstalei.
É assim que você aprende: você tenta, testa e descobre o que precisa e o que funciona para você.
Mas, anos depois, você fica com um banco de dados WordPress® cheio de coisas antigas e inúteis. Isso ocorre porque o banco de dados do seu site não contém apenas o seu conteúdo, mas todos os temas e configurações de plugins.
Por que é essencial ter um banco de dados limpo?
Um cliente, um blog de culinária com aproximadamente 10.000 visitas/dia, estava enfrentando tempos de carregamento lentos de 13 a 15 segundos. A solução oferecida pela empresa de hospedagem foi atualizar para um plano de hospedagem mais caro.
Nossa solução foi diferente – realizamos uma auditoria no site após migrar para nossa plataforma de hospedagem.
A auditoria do site é gratuita se você pagar anualmente por qualquer plano de hospedagem da Simplenet ; você também pode se beneficiar com isso.
Descobrimos mais de 25.000 entradas de banco de dados na tabela WP_Options com automaticamente definido como sim. “Autoload: Sim” significa que, quando o WordPress® inicializa, ele lê essas opções do banco de dados, que leva cerca de 11 segundos.
Excluímos essas opções antigas e inúteis e agora o WordPress® carrega em 2 a 3 segundos. Também otimizamos imagens, substituímos alguns plug-ins ruins por outros melhores e fizemos outros pequenos ajustes.
Ela não precisava de um plano mais caro; ela permaneceu no mesmo plano por mais 8 a 9 meses até que seu tráfego atingiu cerca de 60.000 visitas/dia, quando era realmente hora de fazer upgrade.
A vantagem de ter um banco de dados WordPress® limpo foi que isso a ajudou a economizar dinheiro em hospedagem na web, ter um site mais rápido e escalar para obter muito mais tráfego sem esforço.
Então, vamos ver o que você pode fazer para otimizar seu banco de dados WordPress® e obter os mesmos benefícios.
Sempre faça backup primeiro
Antes de realizar qualquer limpeza de banco de dados, você deve criar um backup completo do site, incluindo o banco de dados e os arquivos – ou pelo menos o banco de dados – já que é onde faremos as alterações. Essa proteção permite que você restaure rapidamente seu site ao estado anterior se algo der errado, economizando tempo, estresse e possíveis perdas.
Sem um backup, você não pode recuperar postagens, páginas, contas de usuário ou configurações excluídas acidentalmente. Erros durante a limpeza do banco de dados – como exclusão de tabelas vitais ou corrupção de dados – também podem danificar seu site, tornando-o inacessível aos visitantes.
Você pode exportar seu banco de dados do phpMyAdmin. Seu provedor de hospedagem deve fornecer acesso a esta ferramenta de gerenciamento de banco de dados (ou similar).
Oferecemos acesso ao phpMyAdmin, bem como uma ferramenta de backup integrada que você pode usar para fazer backups manuais sempre que desejar. Além disso, oferecemos sites de teste. Isso significa que você pode clonar seu site ativo em um site de teste e realizar quaisquer alterações nele antes de fazer isso em um site ativo.
Você também pode usar um plugin de backup do WordPress® como:
- BackupWordPress
- Atualização Plus
- BackupWPUp
- VaultPress
- BlogVault
- Cápsula do Tempo WP
- Gerenciar backups WP
Ao usar um plugin de backup, certifique-se de que o arquivo de backup possa ser usado fora do WordPress®. Se o site quebrar, você precisará restaurar sem acesso wp-admin.
Limpeza básica do WordPress®
A maneira mais fácil de limpar seu banco de dados WordPress®, especialmente para pessoas não técnicas, é usar um plugin WordPress®.
Os plug-ins de otimização de banco de dados mais populares são:
- Varredura WP
- Otimizador de opções AAA
- Limpador de banco de dados avançado
- Limpador de banco de dados
- Limpador WPS
Existem também plug-ins de cache e otimização que também possuem opções de limpeza de banco de dados integradas, como:
Recomendamos o WP-Sweep porque ele usa funções de exclusão adequadas do WordPress® tanto quanto possível, em vez de executar consultas MySQL de exclusão direta.
Instale e ative o plugin WP Sweep e vá em Ferramentas > Varredura. Você verá diferentes seções com um botão Varrer próximo a elas, clique no botão para limpar a desordem.
Este plugin irá ajudá-lo a excluir:
- Revisões
- Rascunhos automáticos
- Comentários excluídos, não aprovados e com spam
- Post meta órfão e duplicado
- Meta de comentários órfãos e duplicados
- Meta de usuário órfão e duplicado
- Relacionamentos órfãos
- Termos não utilizados
- Opções transitórias
O plugin também pode otimizar tabelas, e é mais fácil do que fazer isso via phpMyAdmin.
Outro plugin que recomendamos é o LiteSpeed Cache . Ele pode limpar o banco de dados WordPress® e converter as tabelas do banco de dados de MyISAM para InnoDB.
Você também pode ver a lista de entradas de carregamento automático, seu número e tamanho usando LiteSpeed Cache.
Como bônus, recomendo o plugin Scalability Pro para WooCommerce; resolve alguns problemas de desempenho nativo.
Limpeza avançada do WordPress®
Depois de limpar com o método fácil, você também deve verificar manualmente, mais bem, se ainda houver coisas que podem ser otimizadas no banco de dados.
Muitas otimizações podem ser feitas no banco de dados WordPress®, mas há alguns problemas significativos que, uma vez resolvidos, nosso banco de dados deve funcionar bem o suficiente. Portanto, vamos nos concentrar em resolver esses problemas com o benefício mais significativo.
Estes são:
- limpando meta-chaves do wp_postmeta
- limpando as entradas de carregamento automático da tabela wp_options
- restaurando a chave primária perdida da tabela wp_options
Limpando meta-chaves da tabela wp_postmeta
Mesmo depois de limpar o banco de dados com um plugin como o WP Sweep, ainda podem existir entradas desnecessárias na tabela wp_postmeta porque nem tudo foi limpo.
Acesse o banco de dados com phpMyAdmin ou qualquer ferramenta de gerenciamento de banco de dados, vá até a tabela wp_postmeta e veja quais são as entradas.
Vejamos este exemplo.

Você pode ver que existem muitas entradas com o prefixo EG_. Você pode perguntar ChatGPT : Qual plug -in do WordPress colocou entradas com o prefixo EG_ na minha tabela WP_POSTMETA?
ChatGTP me disse que é o plugin Essential Grid. Se você não estiver mais usando este plug-in, poderá excluir todas essas entradas manualmente ou executando uma consulta para excluí-las em massa.
DELETE FROM wp_postmeta WHERE meta_key LIKE 'eg_%';
Esta consulta exclui todas as meta-chaves que começam com eg_. Não se esqueça de fazer backup do seu banco de dados ou pelo menos da tabela wp_postmeta antes de começar a executar consultas para limpar a tabela.
Repita o processo com quaisquer outras meta-chaves que você achar que estão em grande número e não reconhece o que são e para que são usadas.
Limpando as entradas de carregamento automático da tabela wp_options
Este é o problema que discutimos na introdução deste artigo: a tabela wp_options ficou inchada com entradas com o valor Autoload definido como Sim.
Essas entradas são lidas sempre que o WordPress é inicializado.
A maneira mais fácil de ver essas entradas é usar o plugin LiteSpeed Cache e ir para a seção Banco de dados. Role até Resumo do banco de dados e veja a lista de entradas de carregamento automático, seu número e tamanho.

No exemplo acima, não há problemas; É um banco de dados limpo, mas se você vir no seu site algumas entradas enormes, poderá perguntar ao bate -papo GPT : que plugin colocou a entrada X na tabela WP_Options do meu banco de dados do WordPress?
Você pode assim identificar o plugin que adicionou esses dados e, caso não o utilize mais, pode excluir a respectiva entrada.
DELETE FROM wp_options WHERE nome_opção LIKE 'nome-sua-opção';
A consulta SQL acima exclui a entrada, apenas substitua seu nome de opção pelo nome real da entrada.
Não se esqueça de fazer backup do banco de dados ou pelo menos da tabela wp_options antes de iniciar a limpeza.
Restaurando a chave primária perdida da tabela wp_options
Outro problema que encontrei está relacionado com a tabela wp_options, nomeadamente há casos em que esta tabela perde a sua chave primária.
O campo option_id é configurado por padrão para ser a chave primária.
A chave primária garante a exclusividade de cada linha da tabela e permite a indexação das linhas para acesso rápido. Se tivermos valores duplicados e a chave primária for perdida, as operações nesta tabela serão mais lentas porque não será mais possível acessar rapidamente uma linha específica. É realizada uma varredura completa da tabela – ou seja, cada linha da tabela é lida para encontrar os dados necessários, o que leva mais tempo.
Em algumas situações, como migrações manuais com mysqldump de um servidor para outro, a tabela pode perder sua chave primária quando as versões do MySQL forem diferentes entre os servidores.
opção_id | nome_opção |
---|---|
1 | opção1 |
2 | opção2 |
3 | opção3 |
0 | opção 4 |
0 | opção 5 |
0 | opção 6 |
Para resolver esta situação, precisamos tornar a coluna option_id a chave primária novamente. Porém, não podemos fazer isso se houver valores duplicados, aqueles com 0, então eles terão que ser deletados ou renumerados.
Excluí -los redefine as configurações de tema ou plug -in, mas podemos renumi -las. Execute essas consultas na tabela WP_Options.
Definir @New_Option_Id: = 4; Atualizar wp_options Definir option_id = (@New_Option_Id: = @New_Option_Id + 1) onde option_id in (selecione Option_Id de (selecione Option_Id de wp_options onde option_id = 0 grupo por option_id tendo contagem (*)> 1) como duplicatas); Exclua de wp_options onde option_id = 0; ALTER TABELA WP_OPTIONS ADICIONAR PARTIMAIS (Option_Id);
As consultas que você vê na tela fazem o seguinte:
- Define um ponto de partida para option_id. Por exemplo, a numeração parou em 3 no exemplo acima, então definimos 4 como o novo ponto inicial.
- Identifica duplicatas de option_id com valor 0 e as atualiza com novos valores a partir do valor definido
- Remove todas as linhas restantes onde option_id é 0
- Adiciona a chave primária em option_id
Certifique -se de alterar o prefixo padrão (WP_) para o que seu banco de dados está usando e defina o número de acordo (o código usa 4 como exemplo).
Depois disso, execute as consultas a seguir.
ALTER TABLE WP_OPTIONS AUTO_INCRENT = 7; ALTER TABLE WP_OPTIONS MODIFICE OPTION_ID BIGINT (20) UNSIGADO NÃO NULL AUTO_INCREMENT; Verifique a tabela wp_options; Tabela de reparo wp_options;
As consultas fazem o seguinte:
- Define um novo valor inicial para AUTO_INCREMENT para o último número – em nosso exemplo, eles pararam em 6, então definimos 7 como o novo ponto inicial
- Ativamos o auto_increment para a coluna option_id
- Estamos fazendo uma tabela de verificação
- E uma mesa de reparo
Novamente, altere o prefixo padrão (WP_) para o que seu banco de dados está usando. E defina o número de acordo (o código usa 7 como exemplo).
Antes de iniciar esta operação, não se esqueça de fazer backup do seu banco de dados ou da tabela WP_Options.
Você pode executar essas consultas no phpMyAdmin (uma ferramenta acessível no painel de controle de sua hospedagem) ou com uma ferramenta de gerenciamento de banco de dados como Sequel Ace (Mac) ou MySQL Workbench (Windows, Linux, Mac).
Eu uso o Sequel Ace e prefiro o phpMyAdmin porque é mais rápido e estável. Às vezes, o PhpMyAdmin pode travar devido a limitações do PHP, especialmente em hospedagem compartilhada.
Melhores práticas para manter seu banco de dados WordPress® limpo
A maioria dos plug-ins e temas não se limpam sozinhos, então você precisa realizar uma limpeza ocasionalmente para garantir que tudo esteja em perfeitas condições.
Os plug-ins de otimização têm o recurso de agendar a limpeza automática e reduzir o inchaço do banco de dados:
- FlyingPress
- Foguete WP
- Desempenho é importante

Você pode configurá-lo para semanal, mensal ou qualquer programação que desejar.
Também recomendo excluir plug-ins e temas não utilizados. Isso também ajuda do ponto de vista da segurança. Eu recomendo que você não mantenha scripts PHP (plugins, temas, outros arquivos PHP) em seu servidor, exceto aqueles que você usa ativamente.
Para remover plugins não utilizados, faça login em wp-admin e vá para Plugins > Plugins instalados. Clique em Inativo para visualizar plug-ins inativos e excluí-los.
Para remover temas não utilizados, vá para Aparência > Temas. Clique em cada tema que deseja excluir e clique em Excluir no canto inferior direito.
Recomendo que você mantenha apenas seu tema ativo e um tema padrão (se precisar testar incompatibilidades).
Você também pode evitar que as revisões se acumulem limitando o número de revisões armazenadas no banco de dados, 30, por exemplo. Adicione o seguinte código ao arquivo wp-config.php.
define('WP_POST_REVISÕES', 30);
Não deixe comentários não aprovados – aprove-os, envie-os para spam ou jogue-os no lixo.
Cuidado com plug-ins que armazenam muitos dados:
- plug-ins de estatísticas
- plug-ins de segurança
- plug-ins anti-spam
- plug-ins de postagens relacionadas
- plug-ins de rastreamento de links
Não estou dizendo que você não deve usar nenhum dos plugins acima, mas use plugins que ofereçam essas funcionalidades e salvem dados externamente, não em seu banco de dados WordPress®.
Se possível, evite usar plug-ins que aumentem o volume. Mantenha o banco de dados WordPress® o mais leve possível. É melhor prevenir do que tratar o inchaço.
A otimização eficaz do banco de dados garante sites rápidos, confiáveis e escalonáveis. A implementação das melhores práticas pode melhorar significativamente o desempenho do banco de dados e, ao mesmo tempo, reduzir os custos operacionais. Lembre-se de que a otimização do banco de dados não é uma tarefa única, mas um processo contínuo que evolui de acordo com as necessidades e o crescimento do seu sistema.
Obrigado por ler este artigo sobre otimização de banco de dados. Espero que tenha fornecido informações valiosas e dicas práticas para melhorar o desempenho dos seus bancos de dados WordPress®.
Se você tiver alguma dúvida, feedback ou técnicas adicionais que gostaria de compartilhar, fique à vontade para deixar um comentário ou entrar em contato. Juntos, podemos construir sites melhores, mais rápidos e mais eficientes!
Deixe uma resposta