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

Como corrigir checkout do WooCommerce que não funciona

Time Full Services Time Full Services
Tipo WooCommerce
Nome do erro Checkout do WooCommerce que não funciona EN: WooCommerce checkout not working
Severidade Crítico
Descrição O checkout do WooCommerce não funcionar significa que o cliente chega à página de finalizar compra mas não consegue concluir: o botão de finalizar pedido não responde, a página recarrega sem avançar ou retorna erro. Quase sempre vem de conflito de plugin/tema, de requisições AJAX bloqueadas ou da página de checkout configurada errada.

O que é o checkout do WooCommerce que não funciona?

O checkout do WooCommerce é a página onde o cliente informa dados de entrega e pagamento e finaliza o pedido. Quando ele ‘não funciona’, o fluxo de compra trava nesse ponto: o botão ‘Finalizar compra’ não dispara, os campos não validam, ou a página não carrega o formulário. É o erro mais caro de uma loja, porque acontece exatamente no momento da conversão e derruba o faturamento.

Como identificar

  • O botão ‘Finalizar compra’ / ‘Place order’ não responde ao clique e a página apenas recarrega.
  • A página de checkout abre em branco ou sem o formulário de cobrança e entrega.
  • Mensagem genérica no topo do formulário sem dizer o campo, ou o console do navegador mostra erro ‘admin-ajax.php 403/500’.
  • O carrinho está cheio, mas o checkout diz ‘Seu carrinho está vazio’ ou redireciona de volta ao carrinho.
Antes de começar: Faça backup e teste em ambiente de staging antes de atualizar WooCommerce ou trocar o tema em uma loja no ar. Nunca desative o nonce do checkout para ‘resolver’ AJAX: isso abre brecha de CSRF.

Como prevenir

  • Mantenha carrinho, checkout e minha conta sempre fora do cache e da minificação de JS
  • Atualize WooCommerce, tema e gateways em staging antes de aplicar na loja ao vivo
  • Monitore o console do navegador e os logs (WooCommerce > Status > Logs) para pegar erros de AJAX cedo

Causa

  • Conflito de plugin (gateway, cache ou otimização de JS) quebrando o JavaScript do checkout do WooCommerce.
  • Requisições AJAX para admin-ajax.php ou para a Store API bloqueadas por firewall/WAF ou retornando 403/500.
  • Página de Checkout sem o shortcode [woocommerce_checkout] ou sem o bloco de Checkout, ou apontada para a página errada nas configurações.
  • Tema desatualizado ou com template de checkout customizado incompatível com a versão atual do WooCommerce.
  • Cache de página inteira cacheando o checkout (deveria ser sempre dinâmico), servindo um nonce ou fragmento expirado.

Como resolver

  1. Confirme a página de checkout: em WooCommerce > Configurações > Avançado, verifique se 'Página de finalização da compra' aponta para a página correta, e que ela contém o bloco Checkout ou o shortcode [woocommerce_checkout].
  2. Teste com tema padrão e plugins desativados: ative temporariamente um tema padrão (Storefront/Twenty Twenty-Four) e desative os plugins exceto o WooCommerce. Se o checkout voltar, reative um a um para achar o conflito.
  3. Exclua o checkout do cache: no plugin de cache, marque carrinho, checkout e minha conta como páginas que nunca devem ser cacheadas, e exclua o JS do WooCommerce da minificação/combinação.
  4. Verifique o AJAX no console: abra o checkout, pressione F12 > aba Rede, tente finalizar e veja se admin-ajax.php ou a Store API retorna 403/500. Se sim, peça ao host/WAF para liberar essas rotas.
  5. Atualize WooCommerce e o tema: atualize o WooCommerce e o tema para as versões mais recentes e cheque em WooCommerce > Status se há templates desatualizados (em vermelho) que precisam ser regerados.
PHP
// functions.php — impede o cache de cachear paginas dinamicas do WooCommerce
// (carrinho, checkout e minha conta devem ser SEMPRE dinamicos)
add_action( 'template_redirect', function () {
    if ( function_exists( 'is_checkout' ) && ( is_checkout() || is_cart() || is_account_page() ) ) {
        if ( ! defined( 'DONOTCACHEPAGE' ) ) {
            define( 'DONOTCACHEPAGE', true );
        }
        nocache_headers();
    }
}, 0 );

Perguntas frequentes

O botão de finalizar compra não responde. Por onde começo?
Comece pelo console do navegador (F12). Erros de JavaScript ou requisições admin-ajax.php retornando 403/500 indicam conflito de plugin/tema ou bloqueio de AJAX. Teste com tema padrão e plugins desativados para isolar a causa.
Por que o checkout diz que o carrinho está vazio?
Geralmente é cache servindo o checkout com a sessão errada, ou os cookies do WooCommerce não estão sendo gravados. Exclua carrinho e checkout do cache e confirme que o domínio (com e sem www) está consistente nas configurações.
Um plugin de cache pode quebrar o checkout?
Sim, e é uma das causas mais comuns. O checkout precisa ser dinâmico; se for cacheado, o nonce de segurança expira e o botão de finalizar para de funcionar. Marque carrinho, checkout e minha conta como não-cacheáveis.
A página de checkout abre em branco. O que fazer?
Confirme em WooCommerce > Configurações > Avançado se a página de checkout está atribuída e contém o bloco Checkout ou o shortcode [woocommerce_checkout]. Página em branco também pode ser erro fatal de PHP: ative o WP_DEBUG e veja o log.
Atualizei o WooCommerce e o checkout parou. Como reverter?
Em WooCommerce > Status, verifique templates desatualizados marcados em vermelho: o tema pode ter uma cópia antiga do template de checkout. Atualize o tema ou remova o override; se precisar, use um plugin de rollback para voltar a versão estável.
O checkout funciona no meu computador mas não no do cliente. Por quê?
Costuma ser cache no lado do cliente ou da CDN servindo uma versão antiga, ou uma extensão/navegador bloqueando o JavaScript. Limpe o cache da CDN, teste em aba anônima e confira se algum gateway exige configuração específica de domínio.

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