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.
- Acesse o cPanel da sua hospedagem (o link de acesso e as credenciais ficam no seu painel do cliente).
- Procure a seção Backup e gere um backup completo da conta (ou, no mínimo, do banco de dados).
- Guarde o arquivo baixado em um local seguro no seu computador ou nuvem.
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).
- No painel do WordPress, vá em WooCommerce → Status.
- Clique na aba Ferramentas (ou "Tools", dependendo do idioma do seu painel).
- 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 📋).
- Vá em WooCommerce → Pedidos.
- Use os filtros de status e data para localizar os pedidos antigos que deseja remover.
- Selecione os pedidos desejados, escolha a ação em massa "Mover para lixeira" e aplique.
- 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)
- No cPanel, acesse a seção Bancos de Dados MySQL para localizar o nome do seu banco.
- 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.
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
- Faça backup completo antes de tudo;
- Limpe sessões/transients pelas ferramentas nativas do WooCommerce;
- Remova pedidos antigos em lotes pequenos (mova para lixeira e depois esvazie);
- Otimize as tabelas do banco depois da limpeza;
- 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! 🌿