Como corrigir o erro de checkout do WooCommerce causado pelo cache do WP Rocket
Perguntas frequentes
Por que o botão de finalizar compra não responde depois que ativei o WP Rocket?
Quase sempre é o Delay JavaScript Execution segurando o script do checkout ou do gateway até a primeira interação. Como o botão de finalizar pedido depende desse JavaScript, ele não dispara. Exclua o wc-checkout e o script do seu gateway da lista de Delay JavaScript para resolver.
O checkout do WooCommerce não pode ser cacheado pelo WP Rocket?
Não. O WP Rocket exclui automaticamente as páginas de carrinho, checkout e minha conta do cache, mas só as que estão atribuídas nas configurações do WooCommerce. Se a atribuição estiver errada, a página de checkout é cacheada e servida estática, o nonce expira e o pedido não fecha.
Apareceu 'O link que você seguiu expirou' no checkout, o que é?
É o nonce de segurança expirado, sinal de que o checkout foi cacheado e entregue estático para todos. Confirme a atribuição das páginas no WooCommerce, limpe o cache do WP Rocket e garanta que nenhuma outra camada de cache, como host ou Cloudflare, está cacheando a rota do checkout.
Preciso desativar todo o WP Rocket para o checkout voltar?
Não. Na maioria dos casos basta corrigir a atribuição das páginas do WooCommerce e excluir o script do checkout e do gateway do Delay JavaScript Execution e da combinação de JavaScript. Assim você mantém o ganho de velocidade no resto da loja sem quebrar a conversão.
O cálculo de frete e o total não atualizam no checkout, qual a causa?
Costuma ser o cart fragments AJAX (get_refreshed_fragments) cacheado junto com a página, servindo um estado antigo do carrinho. Garanta que o checkout está fora do cache e verifique no console (F12, aba Rede) se a chamada wc-ajax retorna resposta válida ao trocar o endereço.
Como sei se o problema é o WP Rocket ou outro plugin?
Em WP Rocket -> Dashboard clique em Limpar e pré-carregar cache. Se o checkout funciona logo após limpar e quebra minutos depois, é o cache ou a otimização de JavaScript do WP Rocket. Se nem com cache limpo funciona, teste com tema padrão e demais plugins desativados para isolar a causa.
Excluí os scripts e o checkout continua quebrado, e agora?
Limpe o cache com Limpar e pré-carregar cache para regenerar a página e desative Combine JavaScript files e Remove Unused CSS um de cada vez, recarregando o checkout em janela anônima a cada teste, até identificar qual otimização remove o script ou o CSS do formulário.
O checkout funciona no meu computador mas não no do cliente, por quê?
Geralmente é a CDN ou o cache do navegador do cliente servindo uma versão antiga e estática do checkout. Limpe o cache da CDN ou do Cloudflare, confirme que a rota de checkout está fora dessas camadas e peça ao cliente para testar em uma aba anônima.














