Pular para o conteúdo

Checklist SSL WooCommerce: checkout sem erro HTTPS

Por Equipe Técnica AviraHost · 16 min de leitura · Atualizado em · ssl, woocommerce, wordpress, checkout, https, cPanel, AviraHost · 0

checklist SSL WooCommerce é uma sequência de validações para garantir que domínio, WordPress, checkout, carrinho e gateway de pagamento usem HTTPS de forma consistente. Para configurar SSL para loja WooCommerce sem erro no checkout, siga estes passos:

  1. Confirme se o certificado SSL é válido para o domínio exato da loja, com ou sem www.
  2. Ajuste as URLs do WordPress para HTTPS antes de testar carrinho e checkout.
  3. Verifique conteúdo misto no checkout WooCommerce, incluindo imagens, scripts, CSS e plugins de pagamento.
  4. Valide redirecionamento HTTP para HTTPS sem regras duplicadas ou loop.
  5. Teste callbacks, retorno do gateway e finalização de compra em janela anônima.
  6. Revise logs do WordPress, WooCommerce e servidor se o erro aparecer somente no pagamento.

Pré-requisitos

  • Acesso administrativo ao painel do WordPress e permissão para alterar configurações de WooCommerce.
  • Certificado SSL ativo no domínio principal da loja, cobrindo exatamente a versão usada no checkout, como seudominio.com.br ou www.seudominio.com.br.
  • Acesso ao gerenciador de arquivos, FTP, painel de hospedagem ou SSH para conferir wp-config.php, logs e regras de redirecionamento.
  • Ambiente com PHP 8.4+ quando disponível na hospedagem e plugins de pagamento atualizados pelo painel do WordPress.
  • Uma janela anônima do navegador para testes sem cache de sessão, cookies antigos ou login administrativo.
  • URL pública de produção definida, pois o checklist deve ser feito no domínio real da loja e não em endereço temporário.

checklist SSL WooCommerce para validar domínio e certificado

Certificado SSL no WooCommerce precisa ser validado antes de qualquer ajuste dentro da loja, porque um checkout em HTTPS depende do certificado correto, da cadeia confiável e do domínio exato. Se o certificado foi emitido para seudominio.com.br, mas a loja força www.seudominio.com.br, o navegador pode bloquear recursos seguros ou exibir aviso de conexão não confiável. O mesmo vale para lojas que usam subdomínio no checkout, URLs antigas no gateway ou redirecionamento parcial entre HTTP e HTTPS.

  1. Abra a loja no navegador e confirme se o cadeado aparece sem alerta na página inicial, no carrinho e no checkout.
  2. Confira se a URL exibida no navegador é sempre HTTPS e se não alterna entre com www e sem www.
  3. Teste a cadeia do certificado via terminal para confirmar o domínio apresentado.
  4. Verifique se o DNS do domínio aponta para a hospedagem correta antes de investigar WooCommerce.
openssl s_client -connect seudominio.com.br:443 -servername seudominio.com.br
Output esperado:
CONNECTED
Certificate chain
subject=CN=seudominio.com.br
issuer=autoridade certificadora
Verify return code: 0

Ao rodar este comando, você verá se o servidor entrega um certificado reconhecido para o nome informado em -servername. Se aparecer outro domínio no campo subject ou erro de verificação, corrija o certificado antes de mexer em plugins. Também vale conferir a resolução do domínio, principalmente após migração de hospedagem ou troca de DNS.

resolvectl query seudominio.com.br
Output esperado:
seudominio.com.br: 203.0.113.10
-- Information acquired via protocol DNS in 1.0ms.

Se o IP retornado não for o servidor onde o WooCommerce está hospedado, o erro no checkout pode estar vindo de uma instalação antiga, cache externo ou zona DNS inconsistente. Para revisar conceitos de zona e registros, use como apoio o artigo Guia de zona DNS: registros A, MX, CNAME e TXT do zero.

Ajustar URLs do WordPress para forçar HTTPS sem loop

Forçar HTTPS no WordPress e WooCommerce deve ser feito com consistência: as URLs internas precisam apontar para HTTPS, e o redirecionamento HTTP para HTTPS deve existir uma vez, não em várias camadas conflitantes. Quando painel, plugin, .htaccess, CDN e servidor tentam redirecionar ao mesmo tempo, o checkout pode cair em loop, perder sessão do carrinho ou retornar erro depois de clicar em finalizar compra.

  1. No painel do WordPress, acesse Configurações gerais e confirme que Endereço do WordPress e Endereço do site começam com https.
  2. Em WooCommerce, confira se carrinho, finalização de compra e minha conta estão configurados para páginas corretas.
  3. Se usar WP-CLI, valide os valores de home e siteurl.
  4. Teste redirecionamento com curl para garantir apenas um salto de HTTP para HTTPS.
wp option get home
wp option get siteurl
Output esperado:
https://seudominio.com.br
https://seudominio.com.br

Se algum valor ainda estiver em HTTP, ajuste pelo painel sempre que possível. Em hospedagens com WP-CLI habilitado, o ajuste também pode ser feito por comando.

Atenção: antes de alterar URLs diretamente, faça backup do banco de dados. Mudanças incorretas em home e siteurl podem dificultar o acesso ao painel administrativo.

wp option update home https://seudominio.com.br
wp option update siteurl https://seudominio.com.br
Output esperado:
Success: Updated 'home' option.
Success: Updated 'siteurl' option.

Depois, teste o redirecionamento. O comportamento esperado é que HTTP responda com redirecionamento para HTTPS e que a URL final carregue uma única versão canônica do domínio.

curl -I http://seudominio.com.br/checkout/
Output esperado:
HTTP/1.1 301 Moved Permanently
Location: https://seudominio.com.br/checkout/

Se você precisa revisar o redirecionamento básico da hospedagem, veja também Como redirecionar um site http para https?. O ponto crítico no WooCommerce é evitar duplicidade: uma regra bem aplicada costuma ser melhor do que várias regras concorrentes em plugin, painel e servidor.

Eliminar conteúdo misto no checkout WooCommerce

Conteúdo misto no checkout WooCommerce acontece quando a página segura em HTTPS tenta carregar algum recurso por HTTP, como imagem de selo, JavaScript de gateway, folha de estilo, fonte, pixel, iframe ou arquivo antigo do tema. Em loja virtual, isso é mais sensível porque o checkout depende de scripts de cálculo de frete, atualização de pedido, campos de pagamento e validação do cliente. Um único script bloqueado pelo navegador pode impedir o botão de compra, travar o método de pagamento ou gerar erro HTTPS WooCommerce checkout.

  1. Abra o checkout em janela anônima e adicione um produto real ao carrinho antes do teste.
  2. No navegador, abra as ferramentas de desenvolvedor e verifique o console.
  3. Procure mensagens com mixed content, blocked ou http.
  4. Revise URLs configuradas em tema, widgets, construtores visuais e plugins de pagamento.
  5. Use busca no banco apenas após backup, porque substituições globais podem alterar dados serializados ou configurações sensíveis.
curl -L https://seudominio.com.br/checkout/ | grep -i "http://"
Output esperado:
Nenhuma linha retornada

Se o comando retornar URLs em HTTP, você terá pistas sobre arquivos ou integrações que ainda precisam ser corrigidos. Para casos simples, a troca pode estar em configurações do tema, logotipo, banners, links de CSS personalizado ou URL do plugin de pagamento. Para casos persistentes, faça inventário antes de substituir.

Atenção: substituição direta no banco pode afetar pedidos, configurações de gateway e dados serializados. Faça backup e teste em horário de menor movimento.

wp search-replace "http://seudominio.com.br" "https://seudominio.com.br" --dry-run
Output esperado:
Success: 25 replacements to be made.

O parâmetro --dry-run simula a troca sem gravar. Só execute sem ele quando souber exatamente o que será alterado e tiver backup. Após corrigir, limpe cache de plugin, cache da hospedagem e cache do navegador para evitar falso positivo. Se a loja usa construtor visual, revise também URLs salvas em layouts, cabeçalhos, rodapés e blocos reutilizáveis.

Testar carrinho, checkout e gateway de pagamento em HTTPS

Gateway de pagamento com HTTPS no WooCommerce exige que a loja, a página de retorno e eventuais callbacks estejam alinhados com a URL segura. Mesmo quando o checkout abre com cadeado, a venda pode falhar se o gateway ainda aponta para URL antiga em HTTP, se o domínio com www não corresponde ao configurado ou se a página de obrigado volta para endereço diferente. O teste precisa simular o caminho do cliente, não apenas carregar a página de checkout.

  1. Entre em janela anônima, adicione um produto ao carrinho e prossiga para finalização.
  2. Preencha os dados mínimos necessários para o método de entrega e pagamento.
  3. Observe se o carrinho mantém sessão ao alternar páginas.
  4. Confirme se todos os métodos de pagamento aparecem sem erro de script.
  5. Após finalizar um pedido de teste, valide a página de pedido recebido e o status no WooCommerce.
curl -I https://seudominio.com.br/checkout/
Output esperado:
HTTP/2 200
content-type: text/html

O status 200 indica que a página responde diretamente em HTTPS. Se aparecer 301 ou 302 nessa URL final, investigue se há redirecionamento entre www e sem www, slug duplicado, regra antiga ou plugin interferindo. Para testar a página de conta, que também lida com sessão e dados do cliente, use o mesmo raciocínio.

curl -I https://seudominio.com.br/minha-conta/
Output esperado:
HTTP/2 200
content-type: text/html

No painel do gateway, revise URLs de notificação, retorno e integração sempre que existirem. Elas devem usar HTTPS e o mesmo domínio canônico da loja. Se o provedor de pagamento exige configuração externa, atualize lá também. Não considere o SSL validado apenas porque a home abre; em WooCommerce, o caminho completo inclui produto, carrinho, checkout, pagamento, retorno e e-mail de confirmação.

Conferir logs e cache quando o erro só aparece no pagamento

Erro HTTPS no pagamento WooCommerce pode não aparecer para administradores logados, pois cache, cookies e permissões alteram o comportamento da página. Por isso, quando o cliente relata falha no checkout, o diagnóstico deve cruzar navegador, logs do WooCommerce, logs do servidor e plugins de cache. O objetivo é identificar se o problema vem de SSL inválido, conteúdo misto, sessão perdida, redirecionamento duplicado ou comunicação do gateway.

  1. No WooCommerce, acesse Status e logs para procurar mensagens do plugin de pagamento no horário da tentativa.
  2. Confira logs de erro da hospedagem quando houver acesso pelo painel ou SSH.
  3. Desative temporariamente otimizações que minificam JavaScript se o checkout parar de responder.
  4. Exclua carrinho, checkout e minha conta de qualquer cache de página.
  5. Repita o teste em janela anônima e em outro navegador.
grep -i "checkout" wp-content/debug.log
Output esperado:
Nenhum erro fatal relacionado ao checkout

Se o arquivo não existir, o debug pode não estar ativo, ou os erros podem estar registrados pelo painel da hospedagem. Em produção, ative logs com cuidado para não expor mensagens ao visitante. O ideal é registrar em arquivo e manter exibição pública desativada. Também verifique se plugins de cache não estão armazenando versão antiga em HTTP. Carrinho e checkout são páginas dinâmicas e normalmente devem ficar fora do cache de página para preservar sessão, totais e métodos de pagamento.

Problemas comuns e como resolver

Sintoma: checkout abre, mas o navegador mostra aviso de página não segura

Causa: a página está em HTTPS, mas algum recurso interno ou externo ainda carrega por HTTP. Isso pode vir de imagem do tema, selo de segurança, script de rastreamento, CSS customizado ou plugin de pagamento. Solução: abra o console do navegador, identifique as URLs marcadas como mixed content e troque cada referência para HTTPS. Depois limpe cache e rode novamente o teste no checkout em janela anônima.

Sintoma: carrinho esvazia ou o checkout redireciona sem parar

Causa: geralmente existe conflito entre URL com www e sem www, ou múltiplas regras forçando HTTPS em camadas diferentes. O WooCommerce depende de sessão, e redirecionamentos inconsistentes podem quebrar cookies. Solução: escolha uma URL canônica, ajuste home e siteurl, revise regras de redirecionamento e teste com curl. Mantenha apenas o redirecionamento necessário para HTTP ir a HTTPS e para a variação não canônica ir à variação correta.

Sintoma: pagamento não finaliza mesmo com cadeado ativo

Causa: o certificado pode estar correto, mas o gateway usa callback, webhook ou URL de retorno antiga em HTTP. Também pode haver bloqueio de JavaScript por otimização agressiva. Solução: revise as URLs no painel do gateway e no plugin de pagamento, confirme que todas usam HTTPS e desative temporariamente minificação ou combinação de scripts no checkout. Faça um pedido de teste completo até a página de obrigado.

Sintoma: SSL funciona na home, mas falha em checkout com www

Causa: o certificado pode não cobrir a variação do domínio usada no checkout, ou o DNS de uma variação aponta para outro servidor. Solução: valide o certificado com openssl usando o domínio exato, confira DNS com resolvectl e padronize a URL da loja. Se a loja usa www, o certificado precisa cobrir www.seudominio.com.br; se usa sem www, todo o fluxo deve seguir sem www.

Perguntas frequentes sobre checklist SSL WooCommerce

Como configurar SSL no WooCommerce sem erro no checkout?

Configure um certificado SSL válido para o domínio, ajuste as URLs do WordPress para HTTPS e garanta que a página de checkout carregue todos os recursos por HTTPS. Depois, teste carrinho, finalização de compra e retorno do gateway em uma janela anônima antes de liberar a loja.

Por que o checkout do WooCommerce dá erro depois de ativar SSL?

O erro costuma ocorrer quando a loja ainda carrega scripts, imagens ou callbacks em HTTP, quando há redirecionamento duplicado ou quando o gateway de pagamento está configurado com URLs antigas. Também pode acontecer se o certificado não cobre o domínio exato usado no checkout, como com ou sem www.

Preciso forçar HTTPS no WordPress e no WooCommerce?

Sim, a loja deve operar de forma consistente em HTTPS, especialmente no carrinho, checkout, conta do cliente e páginas de pagamento. O ideal é ajustar a URL do site no WordPress, validar redirecionamento HTTP para HTTPS e evitar regras duplicadas que causem loop.

Como saber se existe conteúdo misto no checkout WooCommerce?

Abra a página de checkout no navegador, use as ferramentas de desenvolvedor e verifique mensagens de mixed content no console. Também revise URLs de imagens, scripts, folhas de estilo, plugins de pagamento e integrações externas para confirmar se todos usam HTTPS.

SSL inválido pode impedir pagamento no WooCommerce?

Sim, um certificado inválido, expirado ou emitido para outro domínio pode bloquear o carregamento seguro do checkout e prejudicar a comunicação com gateways de pagamento. Antes de vender, confirme que o cadeado aparece no navegador e que o domínio do certificado corresponde exatamente ao domínio da loja.

Conclusão

  • Valide primeiro o certificado e o domínio exato, porque WooCommerce não corrige SSL inválido por configuração interna.
  • Padronize URLs em HTTPS no WordPress, remova conteúdo misto e evite regras duplicadas de redirecionamento.
  • Teste o fluxo completo: produto, carrinho, checkout, gateway, retorno e página de pedido recebido.

Leia também

Precisa de ajuda com SSL para loja WooCommerce sem erro no checkout?

Uma hospedagem bem configurada reduz falhas de SSL, redirecionamento e cache em páginas críticas do WooCommerce. Se sua loja precisa operar com checkout seguro, conte com uma estrutura preparada para WordPress, HTTPS e suporte técnico.

Conheça a hospedagem de sites da AviraHost


Esta resposta foi útil?