🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir carrinho do WooCommerce que esvazia sozinho

Time Full Services Time Full Services
Tipo WooCommerce
Nome do erro Carrinho do WooCommerce que esvazia sozinho EN: WooCommerce cart empties by itself
Severidade Grave
Descrição O carrinho do WooCommerce que esvazia sozinho acontece quando os itens adicionados desaparecem antes do checkout, derrubando a conversão. A causa quase sempre é cache servindo a página do carrinho em vez de ignorá-la, ou a sessão/cookie do cliente sendo perdida entre as requisições.

O que é o carrinho do WooCommerce que esvazia sozinho?

O carrinho esvazia sozinho no WooCommerce quando os produtos que o cliente adicionou somem ao navegar entre páginas, ao atualizar ou ao chegar no checkout. O WooCommerce guarda o carrinho numa sessão atrelada a um cookie (woocommerce_cart_hash e wp_woocommerce_session_). Se essa sessão não é lida corretamente a cada visita, a loja trata cada acesso como um carrinho novo e vazio.

Como identificar

  • Os produtos adicionados somem ao trocar de página ou ao atualizar.
  • A mensagem “Seu carrinho está vazio no momento” aparece logo após adicionar um item.
  • O contador de itens do mini-carrinho volta a zero sozinho.
  • O problema só ocorre com cache/CDN ativo ou para visitantes não logados.
Antes de começar: Faça backup do banco antes de limpar a tabela wp_woocommerce_sessions: a limpeza descarta carrinhos ativos dos visitantes naquele momento. Prefira rodar fora do horário de pico de vendas.

Como prevenir

  • Configure as exclusões de cache (cart, checkout, my-account) já na instalação do plugin de cache
  • Mantenha a URL do site consistente (um único domínio canônico, sempre https)
  • Teste o fluxo de compra como visitante anônimo após cada mudança de cache ou CDN

Causa

  • Plugin de cache de página (ou CDN) servindo a página do carrinho/checkout em cache em vez de excluí-la.
  • Cookies do WooCommerce (wp_woocommerce_session_) sendo barrados pelo cache ou pelo proxy reverso.
  • Sessões do WooCommerce não persistindo porque a tabela wp_woocommerce_sessions está corrompida ou foi limpa por engano.
  • Domínio inconsistente (com e sem www, ou http e https misturados) fazendo o cookie do carrinho não casar.
  • Plugin de otimização agressiva descartando o cookie woocommerce_items_in_cart, que sinaliza ao cache para não armazenar a página.

Como resolver

  1. Exclua carrinho e checkout do cache: no seu plugin de cache, adicione cart, checkout e my-account às páginas nunca armazenadas em cache. WooCommerce já define essas exclusões, mas confirme que estão ativas.
  2. Preserve os cookies do WooCommerce: garanta que o cache não ignora os cookies wp_woocommerce_session_ e woocommerce_items_in_cart. Eles avisam o cache para entregar uma página dinâmica quando há itens no carrinho.
  3. Padronize o domínio: em Configurações > Geral, deixe a URL do WordPress e a URL do site idênticas (mesmo www e mesmo https). Cookie criado em www.seusite.com não vale em seusite.com.
  4. Limpe as sessões do WooCommerce: em WooCommerce > Status > Ferramentas, use "Limpar sessões de cliente" para recriar a tabela de sessões. Faça isso fora do horário de pico.
  5. Teste sem cache: desative o plugin de cache e adicione um produto ao carrinho. Se o carrinho passa a persistir, o problema é a configuração de cache; reative excluindo as páginas dinâmicas.
APACHE
# .htaccess - nunca armazenar em cache as paginas dinamicas do WooCommerce
<IfModule mod_headers.c>
  SetEnvIf Request_URI "/(cart|checkout|my-account)" NO_CACHE
  Header set Cache-Control "no-store, no-cache, must-revalidate" env=NO_CACHE
  # nao deixar o proxy descartar o cookie de sessao do carrinho
  Header append Vary "Cookie" env=NO_CACHE
</IfModule>

Perguntas frequentes

Por que o carrinho esvazia só para quem não está logado?
Porque visitantes anônimos dependem do cookie de sessão e da página em cache. Usuários logados têm a sessão atrelada à conta, então o cache atinge primeiro quem não fez login. Isso aponta o cache como causa.
Cache de página realmente esvazia o carrinho?
Sim, é a causa mais comum. Se a página do carrinho é servida em cache, todos veem a mesma versão estática (vazia). Excluir cart, checkout e my-account do cache resolve a maioria dos casos.
O que é a tabela wp_woocommerce_sessions?
É onde o WooCommerce guarda o conteúdo do carrinho de cada visitante, ligado a um cookie. Se a tabela é limpa ou corrompida, as sessões se perdem e os carrinhos somem ao recarregar.
Trocar de www para sem www quebra o carrinho?
Pode quebrar. O cookie do carrinho é criado para um domínio específico. Se o cliente alterna entre www.seusite.com e seusite.com, o cookie não casa e o carrinho aparece vazio. Padronize um único domínio.
Como saber se é o cache ou a sessão?
Desative o plugin de cache e teste. Se o carrinho passa a persistir, é cache. Se continua esvaziando mesmo sem cache, investigue a tabela de sessões e os cookies bloqueados pelo servidor ou CDN.
Um CDN pode causar esse problema?
Sim. CDNs como o Cloudflare podem cachear a página do carrinho se não houver regra de bypass. Crie uma regra para não armazenar /cart, /checkout e /my-account e respeitar o cookie de sessão.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes