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

Como corrigir o cálculo de frete errado no WooCommerce

Time Full Services Time Full Services
Tipo WooCommerce
Nome do erro Cálculo de frete errado no WooCommerce EN: WooCommerce wrong shipping calculation
Severidade Atenção
Descrição O cálculo de frete errado no WooCommerce acontece quando o valor da entrega no checkout vem maior, menor ou diferente do esperado, ou simplesmente não aparece. Quase sempre vem de zonas de entrega mal configuradas, de produtos sem peso e dimensões, ou de classes de frete e regras de frete grátis conflitando entre si.

O que é o cálculo de frete errado no WooCommerce?

No WooCommerce, o frete é calculado por zonas de entrega: você define regiões (por CEP, estado ou país) e, dentro de cada uma, métodos como valor fixo, frete grátis ou cálculo por transportadora. O ‘frete errado’ é qualquer divergência nesse cálculo: o valor sai inflado, some no checkout, ignora o peso do pedido, ou aplica frete grátis indevidamente. Quase sempre a causa é a combinação de zona, classe de frete e dados de produto não baterem.

Como identificar

  • O frete no checkout vem muito acima ou abaixo do valor real da transportadora.
  • A mensagem ‘Não há métodos de envio disponíveis para o seu endereço’ aparece para CEPs válidos.
  • O frete grátis aparece em pedidos que não atingiram o valor mínimo configurado.
  • O cálculo ignora o peso ou as dimensões e cobra sempre o mesmo valor, mesmo com o carrinho cheio.
Antes de começar: Faça backup das configurações de entrega antes de reorganizar zonas em uma loja no ar, pois mudar a ordem das zonas altera qual método o cliente vê. Teste em staging quando possível para não cobrar frete errado de pedidos reais.

Como prevenir

  • Cadastre peso e dimensões em todo produto novo antes de publicá-lo na loja
  • Mantenha as zonas de entrega sem sobreposição e revise a ordem delas após cada mudança de cobertura
  • Valide tokens e contratos dos plugins de cotação de transportadora periodicamente para não receber valores padrão errados

Causa

  • Zona de entrega sem o CEP/estado do cliente, ou com zonas sobrepostas onde a primeira que casa (geralmente errada) vence.
  • Produtos sem peso e dimensões cadastrados, fazendo o método por transportadora calcular com base zero ou recusar o cálculo.
  • Classe de frete atribuída ao produto mas sem custo configurado no método de envio da zona, gerando valor incorreto.
  • Regra de frete grátis com 'cupom' ou 'valor mínimo' mal configurada, liberando frete grátis fora da condição esperada.
  • Plugin de cotação de transportadora (Correios, Melhor Envio) com token ou contrato vencido devolvendo valor padrão errado.

Como resolver

  1. Revise as zonas de entrega: em WooCommerce > Configurações > Entrega, confirme que existe uma zona cobrindo o CEP/estado do cliente e que as zonas não se sobrepõem. O WooCommerce usa a primeira zona que casa, de cima para baixo.
  2. Cadastre peso e dimensões nos produtos: em cada produto, na aba Entrega, preencha peso e dimensões. Métodos por transportadora precisam desses dados para calcular; sem eles o frete sai errado ou nem aparece.
  3. Confira as classes de frete: em Configurações > Entrega > Classes de frete, verifique se cada classe usada tem custo definido dentro do método da zona. Classe sem custo configurado distorce o valor final.
  4. Cheque a regra de frete grátis: abra o método 'Frete grátis' da zona e confirme a condição (valor mínimo, cupom ou ambos). Uma condição mal marcada libera frete grátis indevido.
  5. Teste com endereços reais: faça pedidos de teste com CEPs de regiões diferentes e confira o valor contra a tabela da transportadora. Se usar plugin de cotação, valide o token e o contrato no painel do provedor.
PHP
// functions.php do tema filho — esconde 'Frete gratis' quando outros metodos
// existem na zona, evitando que apareca junto com frete pago e confunda o calculo
add_filter( 'woocommerce_package_rates', function ( $rates ) {
    $free = array();
    foreach ( $rates as $key => $rate ) {
        if ( 'free_shipping' === $rate->method_id ) {
            $free[ $key ] = $rate;
        }
    }
    return ! empty( $free ) ? $free : $rates;
}, 100 );

Perguntas frequentes

O frete não aparece no checkout para um CEP válido. Por quê?
Provavelmente nenhuma zona de entrega cobre aquele CEP ou estado. Em WooCommerce > Configurações > Entrega, confirme que existe uma zona com a região do cliente e ao menos um método de envio ativo dentro dela.
Por que o WooCommerce ignora o peso e cobra sempre o mesmo frete?
Porque os produtos estão sem peso e dimensões cadastrados, ou o método é de valor fixo em vez de cálculo por transportadora. Preencha peso e dimensões na aba Entrega de cada produto e use um método que calcule pela transportadora.
O frete grátis aparece em pedidos que não deveriam ter. Como corrigir?
Abra o método 'Frete grátis' na zona e revise a condição: valor mínimo, cupom ou ambos. Uma condição marcada errada libera o frete grátis fora do esperado. Ajuste a regra e teste com um pedido abaixo do mínimo.
Tenho duas zonas e o frete sai errado. O que acontece?
Se as zonas se sobrepõem, o WooCommerce aplica a primeira que casa de cima para baixo, que pode ser a errada. Reorganize a ordem das zonas e evite que duas cubram o mesmo CEP, deixando a mais específica acima.
O plugin dos Correios devolve um valor estranho. O que verificar?
Confira se o token, o contrato ou as credenciais do plugin de cotação estão válidos no painel do provedor. Token vencido ou contrato expirado faz o plugin cair para um valor padrão, que aparece como frete errado no checkout.
Classe de frete pode causar valor errado?
Sim. Se um produto tem uma classe de frete atribuída mas o método da zona não define custo para essa classe, o cálculo fica inconsistente. Garanta que toda classe usada tenha um custo configurado dentro do método de envio.

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