WordPress 40 visualizações

Como reduzir o tamanho do banco de dados do WooCommerce removendo pedidos antigos

Ver no WHMCS

Arrumando a "gaveta" do seu WooCommerce: como reduzir o banco de dados removendo pedidos antigos

Olá! Aqui é a Sensei da GeHost 🌱 Se você tem uma loja WooCommerce rodando há um tempo, é bem provável que o banco de dados dela esteja guardando muito mais coisa do que parece — pedidos antigos, tentativas de pagamento que falharam, carrinhos abandonados, logs, sessões expiradas... Tudo isso vai se acumulando como aquela gaveta de casa que a gente nunca organiza.

Um banco de dados inchado deixa o painel do WooCommerce mais lento, os relatórios demoram mais para carregar e, em casos extremos, pode até afetar o desempenho geral do site. A boa notícia é que dá para fazer uma "faxina" com segurança, seguindo alguns passos simples. Vamos juntos?

Antes de tudo: excluir pedidos é uma ação que mexe diretamente nos dados da sua loja (histórico de vendas, informações fiscais, etc.). Por isso, todo cuidado é pouco — vamos garantir um backup antes de qualquer exclusão.

Passo 1 — Faça um backup antes de mexer em qualquer coisa

Essa é a regra de ouro: nunca remova pedidos sem ter um backup recente do site e do banco de dados. Assim, se algo sair diferente do esperado, dá para restaurar tudo tranquilamente.

  1. Acesse o cPanel da sua hospedagem (o link de acesso e as credenciais ficam no seu painel do cliente).
  2. Procure a seção Backup e gere um backup completo da conta (ou, no mínimo, do banco de dados).
  3. Guarde o arquivo baixado em um local seguro no seu computador ou nuvem.
Tela de Backup do cPanel mostrando as opções de Backup Completo e backups parciais

Se tiver qualquer dúvida em como gerar esse backup, é só chamar o suporte pelo painel — eles te ajudam com prazer. 😊

Passo 2 — Use as ferramentas nativas do WooCommerce para limpar "lixo" automático

Antes de mexer nos pedidos em si, vale limpar o que o WooCommerce já sabe que é descartável: ações agendadas antigas, sessões expiradas e dados temporários (transients).

  1. No painel do WordPress, vá em WooCommerce → Status.
  2. Clique na aba Ferramentas (ou "Tools", dependendo do idioma do seu painel).
  3. Você verá botões como "Limpar sessões de clientes expiradas", "Limpar transients expirados" e opções relacionadas à fila de ações agendadas (Scheduled Actions). Execute as que fizerem sentido para o seu caso.

Essa etapa sozinha já costuma aliviar bastante o banco, sem tocar em nenhum pedido de verdade.

Passo 3 — Identifique e remova pedidos antigos e "sujeira" de checkout

Agora vamos à parte principal: os pedidos que realmente não precisam mais ficar armazenados. Normalmente, os melhores candidatos são:

  • Pedidos com status "Falhou" ou "Cancelado" muito antigos, sem valor fiscal ou histórico relevante;
  • Pedidos "Pendentes" antigos que nunca foram pagos (carrinhos abandonados que geraram um rascunho de pedido);
  • Pedidos concluídos há muitos anos, caso sua política interna e as obrigações fiscais/legais já permitam a remoção (aqui vale conferir com seu contador antes de apagar qualquer pedido concluído — a Sensei cuida do técnico, mas essa parte fiscal é com o profissional de confiança de vocês 📋).
  1. Vá em WooCommerce → Pedidos.
  2. Use os filtros de status e data para localizar os pedidos antigos que deseja remover.
  3. Selecione os pedidos desejados, escolha a ação em massa "Mover para lixeira" e aplique.
  4. Depois, acesse a aba Lixeira e use "Esvaziar lixeira" — é só nesse momento que os dados são realmente removidos do banco.
Dica da Sensei: faça isso aos poucos! Em vez de tentar apagar milhares de pedidos de uma vez, remova em lotes menores (por período, por exemplo). Isso evita travamentos e deixa o processo bem mais tranquilo para o servidor.

Passo 4 — Otimize as tabelas do banco de dados

Depois de excluir os pedidos, o espaço não é liberado automaticamente — é preciso "compactar" as tabelas. Você tem duas formas de fazer isso:

Opção A — Por um plugin de otimização

Plugins como o WP-Optimize (ou similares) permitem otimizar as tabelas do banco direto pelo painel do WordPress, de forma simples e visual.

Opção B — Direto pelo phpMyAdmin (cPanel)

  1. No cPanel, acesse a seção Bancos de Dados MySQL para localizar o nome do seu banco.
  2. Abra o phpMyAdmin, selecione o banco da sua loja, marque as tabelas relacionadas a pedidos (geralmente começam com wp_wc_orders, wp_posts, wp_postmeta) e use a opção Otimizar tabela.
Tela Bancos de Dados MySQL do cPanel

Se não se sentir confortável mexendo direto no banco de dados, sem problema nenhum — chame o suporte pelo painel e a gente te orienta.

Passo 5 — Evite o acúmulo no futuro

  • Configure a limpeza automática de pedidos "Pendentes" antigos: em WooCommerce → Configurações → Produtos → Estoque, existe uma opção para manter estoque reservado por tempo limitado em pedidos pendentes, o que ajuda a evitar acúmulo de "lixo" de checkout.
  • Revise periodicamente (a cada 3 ou 6 meses, por exemplo) os pedidos cancelados/falhos, em vez de deixar acumular anos de uma vez.
  • Se sua loja tem grande volume de vendas, converse com seu desenvolvedor sobre o HPOS (armazenamento de pedidos de alta performance), um recurso mais recente do WooCommerce que organiza os pedidos de forma mais eficiente no banco.

Resumo rápido

  1. Faça backup completo antes de tudo;
  2. Limpe sessões/transients pelas ferramentas nativas do WooCommerce;
  3. Remova pedidos antigos em lotes pequenos (mova para lixeira e depois esvazie);
  4. Otimize as tabelas do banco depois da limpeza;
  5. Crie o hábito de revisar periodicamente para não acumular de novo.

Pronto! Com esses passos, seu banco de dados fica mais leve, sua loja mais ágil, e você ainda mantém tudo sob controle. Qualquer dúvida durante o processo, o suporte da GeHost está por aqui para te ajudar. Um abraço da Sensei! 🌿

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.