O carrinho do Magento 2 esvazia sozinho ao atualizar a página, fazer login ou iniciar o checkout? O desaparecimento dos itens normalmente indica que o navegador perdeu a referência da sessão, que a cotação ativa deixou de ser recuperada ou que servidores diferentes não estão compartilhando os mesmos dados.
Antes de limpar caches, reiniciar o Redis ou alterar o tempo de vida dos carrinhos, reproduza o problema com um produto controlado. Registre URL, horário, navegador, dispositivo, visão de loja e etapa exata em que os itens desapareceram. Esse cuidado preserva as pistas necessárias para diferenciar uma falha visual de uma perda real da sessão.
Carrinho do Magento 2 esvazia sozinho: delimite o sintoma
Nem todo minicarrinho vazio significa que a cotação foi perdida. O contador pode ficar desatualizado enquanto os itens continuam disponíveis na página do carrinho. Também pode ocorrer o inverso: o frontend ainda mostra a quantidade anterior, mas o servidor já não encontra a cotação ativa.
Faça uma sequência curta e anote em qual ação o comportamento muda:
- adicione um produto e abra a página completa do carrinho;
- atualize a página sem trocar de domínio;
- navegue entre categoria, produto e carrinho;
- faça login ou logout;
- avance até entrega e pagamento;
- repita em janela anônima e em outro navegador;
- compare visitante e cliente autenticado.
Se os itens existem na página do carrinho, mas não aparecem no minicarrinho, investigue primeiro JavaScript, armazenamento local e dados privados do cliente. Se todo o carrinho desaparece, concentre o diagnóstico em cookies, sessão, Redis, balanceamento e ciclo de vida da cotação.
1. Verifique se o cookie de sessão muda inesperadamente
Abra as ferramentas de desenvolvimento do navegador e acompanhe os cookies enquanto reproduz o erro. Observe se o identificador de sessão deixa de existir ou é substituído ao navegar, entrar na conta ou avançar para outra URL.
Confira especialmente domínio, caminho, expiração, atributos de segurança e protocolo. Uma loja acessível por variações como domínio com e sem www, HTTP e HTTPS ou endereços diferentes no checkout pode criar cookies incompatíveis. O resultado é um novo contexto de sessão e, para o visitante, um carrinho aparentemente vazio.
Algumas configurações podem ser consultadas sem modificá-las:
php bin/magento config:show web/cookie/cookie_domain
php bin/magento config:show web/cookie/cookie_path
php bin/magento config:show web/cookie/cookie_lifetime
php bin/magento config:show web/secure/base_url
php bin/magento config:show web/unsecure/base_url
Não altere o domínio do cookie por tentativa. Uma configuração incorreta pode afetar carrinho, login do cliente e acesso ao painel. Problemas semelhantes de cookie e sessão também podem impedir a autenticação, como explicado no diagnóstico para quando o Magento 2 não entra no Admin.
2. Compare o domínio usado antes e depois do login
Redirecionamentos são uma causa frequente de perda aparente do carrinho. Verifique a URL em todas as etapas e procure mudanças de host, protocolo, porta ou código de loja. Isso merece atenção especial em operações com múltiplos sites, subdomínios, lojas por país ou checkout separado.
Use o painel de rede do navegador para identificar respostas 301 e 302. Se necessário, consulte apenas os cabeçalhos de uma URL controlada:
curl -I https://exemplo.com.br/checkout/cart/
Confirme ainda se proxy reverso, CDN ou balanceador informa corretamente que a conexão original utiliza HTTPS. Quando a aplicação interpreta o protocolo de forma errada, pode emitir redirecionamentos ou cookies que não permanecem válidos durante toda a jornada.
3. Descubra se o problema está no minicarrinho
Abra a página completa do carrinho imediatamente após o contador desaparecer. Se os itens ainda estiverem lá, a sessão e a cotação provavelmente continuam ativas. Nesse cenário, investigue a atualização das seções privadas do cliente, requisições assíncronas, erros JavaScript e personalizações do cabeçalho.
Procure falhas no console e respostas com erro nas solicitações relacionadas aos dados do cliente. Teste também com o tema padrão em homologação, quando possível. Uma extensão de analytics, personalização, consentimento ou checkout pode interromper a execução do JavaScript antes da atualização do minicarrinho.
Não use uma limpeza geral do Varnish como primeira resposta. O carrinho contém dados privados e seu desaparecimento pode ser apenas uma inconsistência de frontend. Para separar conteúdo público desatualizado de dados de sessão, consulte os testes de cache do Varnish no Magento 2.
4. Valide o armazenamento de sessões e a saúde do Redis
Quando o Magento utiliza Redis para sessões, indisponibilidade, pressão de memória, expiração inadequada ou conexão instável podem interromper a recuperação do carrinho. Primeiro, identifique no arquivo de configuração do ambiente qual mecanismo está ativo, sem copiar senhas ou outros segredos para chamados e mensagens.
Em uma sessão administrativa autorizada, a equipe de infraestrutura pode verificar conectividade e indicadores básicos:
redis-cli PING
redis-cli INFO memory
redis-cli INFO stats
redis-cli INFO clients
Em ambientes com autenticação, socket ou porta personalizada, adapte o comando sem registrar credenciais no histórico. Procure desconexões, recusas, reinicializações, memória no limite e aumento de chaves removidas. Correlacione os horários com os logs da aplicação e do serviço.
Evite executar FLUSHALL, FLUSHDB ou apagar chaves indiscriminadamente. Além de derrubar sessões legítimas, isso destrói evidências e pode ampliar o impacto sobre clientes que estão comprando.
5. Teste a consistência entre múltiplos servidores
Se a loja possui mais de um nó de aplicação, verifique se todos usam o mesmo armazenamento de sessões e configurações equivalentes. Um carrinho que desaparece apenas em parte das tentativas pode indicar que cada requisição chega a um servidor com dados diferentes.
Compare os arquivos de configuração implantados, versões do código, conectividade com Redis e variáveis de ambiente em todos os nós. Confirme também se o balanceador exige afinidade de sessão e se essa regra está funcionando. A afinidade, porém, não deve mascarar uma arquitetura que deveria compartilhar sessões corretamente.
Uma forma segura de investigar é adicionar temporariamente um identificador técnico do nó aos logs ou cabeçalhos internos, sem expor detalhes sensíveis ao público. Assim, a equipe consegue relacionar cada falha ao servidor que processou a requisição.
6. Confira expiração, limpeza e ciclo de vida da cotação
O Magento mantém uma cotação associada ao carrinho. Configurações de expiração, rotinas de limpeza ou módulos personalizados podem encerrar essa cotação antes do esperado. Compare o horário de criação, a última atualização e o estado do carrinho afetado, preferencialmente em uma cópia de homologação ou por consultas somente de leitura.
Se o problema acontece após um intervalo previsível, revise o tempo de vida dos cookies e as regras relacionadas a carrinhos persistentes. Verifique também se tarefas agendadas estão executando limpezas com parâmetros inadequados. Caso existam sinais de rotinas atrasadas ou repetidas, siga o diagnóstico de quando o cron do Magento 2 parou.
Não aumente tempos de retenção indefinidamente sem avaliar privacidade, volume de dados e comportamento esperado da operação. O objetivo é corrigir a perda prematura, não manter todas as sessões para sempre.
7. Isole extensões de checkout, login e carrinho persistente
Módulos de checkout, login social, cashback, personalização de preços, recuperação de carrinho e integrações de pagamento podem alterar a cotação ou a sessão. Liste as mudanças implantadas antes do início do problema e procure erros nos arquivos var/log/system.log, var/log/exception.log e nos registros do servidor e do PHP.
Faça a desativação somente em homologação ou em uma janela controlada, observando dependências. Desabilitar extensões diretamente em produção pode quebrar injeção de dependência, checkout e comandos de deploy. Compare primeiro o comportamento com tema, módulos e configurações equivalentes.
8. Homologue a correção com cenários que realmente geravam a falha
Depois de localizar a causa, repita a mesma sequência registrada no início. Teste visitante, cliente autenticado, login com carrinho existente, troca de dispositivo quando houver carrinho persistente, cupons, produtos simples e configuráveis, frete e pagamento.
Valide também dois navegadores, dispositivos móveis e o tempo de espera que anteriormente fazia os itens sumirem. Se o problema ocorre ao entrar no checkout, combine esta análise com os testes para quando o checkout do Magento 2 fica carregando.
Monitore logs, erros JavaScript, disponibilidade do Redis e taxa de abandono após a mudança. Uma compra aprovada isolada não comprova que sessões antigas, novos visitantes e clientes autenticados estão percorrendo o mesmo fluxo corretamente.
Conclusão
Quando o carrinho do Magento 2 esvazia sozinho, limpar cache pode até alterar temporariamente o sintoma, mas raramente explica a origem. O diagnóstico deve acompanhar o identificador de sessão, confirmar domínio e protocolo, separar falha visual de perda da cotação e verificar Redis, múltiplos servidores, cron e extensões.
Se a falha continua intermitente ou afeta vendas em produção, preserve horários, URLs, logs e passos de reprodução antes de intervir. A equipe do SuporteMagento.com.br pode ajudar a analisar essas evidências e planejar uma correção controlada, sem transformar o diagnóstico em uma sequência de tentativas arriscadas.
Perguntas frequentes
Por que o carrinho do Magento 2 fica vazio depois do login?
O login pode iniciar outra sessão, usar um domínio diferente ou falhar ao mesclar o carrinho do visitante com o carrinho do cliente. Cookies, redirecionamentos e extensões de autenticação devem ser verificados.
O Redis pode apagar o carrinho do Magento 2?
O Redis não apaga necessariamente o carrinho, mas falhas de conexão, expiração, reinicializações ou remoção de chaves sob pressão de memória podem impedir a recuperação da sessão associada a ele.
Limpar o cache resolve o carrinho vazio?
Somente quando o sintoma está ligado à apresentação desatualizada, como um minicarrinho incorreto. Se a sessão ou a cotação foi perdida, a limpeza não corrige a causa e ainda pode eliminar pistas.
Como saber se o carrinho ainda existe?
Abra a página completa do carrinho e compare-a com o minicarrinho. A equipe técnica também pode correlacionar o cookie de sessão e a cotação por meio de logs e consultas somente de leitura, sem expor dados pessoais.

