Sites
Corrigindo Avisos de Conteúdo Misto Após Ativar HTTPS
When SSL is active but the browser padlock is missing, broken or showing a warning, the cause is almost always mixed content: the page itself is encrypted but something on it is still being fetched…
Quando SSL está ativo mas o cadeado do navegador está faltando, quebrado ou mostrando um aviso, a causa é quase sempre conteúdo misto: a página em si está criptografada mas algo nela ainda está sendo recuperado via HTTP simples. Este guia explica por que isso acontece, como encontrar cada recurso problemático e como corrigi-lo adequadamente em vez de apenas contornar o problema.
O Que É Conteúdo Misto
Um navegador trata uma página como segura apenas se a página e tudo que ela carrega chegaram via HTTPS. Se uma página HTTPS puxa uma imagem, script, stylesheet, fonte ou iframe de um endereço http://, o navegador a sinaliza.
Os navegadores dividem isso em duas categorias, e se comportam de formas muito diferentes:
- Conteúdo misto ativo: scripts, stylesheets, iframes e XHR. Os navegadores bloqueiam estes completamente. Layouts desabam, sliders param, formulários param de enviar. Este é o tipo destrutivo.
- Conteúdo misto passivo: imagens, áudio e vídeo. Estes geralmente ainda carregam, mas o cadeado é rebaixado ou removido.
Um site pode, portanto, parecer completamente normal e mesmo assim estar perdendo seu cadeado, ou parecer quebrado sem nenhum erro óbvio na página em si.
Por Que Acontece Após Ativar SSL
Ativar SSL muda como seu site é servido. Não muda o que está armazenado dentro dele.
WordPress escreve URLs absolutos no banco de dados, então um site que rodou em HTTP por qualquer período de tempo tem endereços http:// salvos em:
- Conteúdo de posts e páginas, incluindo cada imagem inserida através do editor.
- Registros de anexos de mídia.
- Configurações do personalizador de tema e opções de tema.
- Conteúdo de widgets e configurações de blocos.
- Configurações de plugins, particularmente construtores de página e plugins de slider.
- As opções
siteurlehome.
Nada disso se atualiza por si só. Ativar SSL e depois se perguntar por que o cadeado está quebrado é uma das perguntas de suporte mais comuns, e esta é a razão.
Passo 1: Forçar HTTPS no Servidor
Antes de tocar no banco de dados, certifique-se de que cada visitante está acessando HTTPS em primeiro lugar.
- Acesse KPanel e clique em Websites na barra lateral esquerda.
- Clique em seu site.
- Abra Settings.
- Em Behavior, ative Force HTTPS.
- Clique em Save Changes.

Cada requisição HTTP agora é redirecionada para HTTPS no servidor, antes de seu site ser executado.
Force HTTPS trata requisições que chegam. Não reescreve URLs já armazenadas dentro de seu banco de dados, então por si só não limpará um aviso de conteúdo misto causado por uma imagem http:// codificada. Você precisa deste e do Passo 2.
Se SSL ainda não está ativo ou o certificado parece errado, comece com SSL Certificates.
Passo 2: Reescrever as URLs Armazenadas
Este é o conserto que realmente resolve o conteúdo misto.
- Abra o site, depois a aba WordPress, depois a seção Quick Actions.
- Encontre o card Search & Replace e clique em Configure.
- Em Find (old value) entre com
http://yourdomain.co.nz. - Em Replace with entre com
https://yourdomain.co.nz. - Deixe Dry run (preview only, no changes) marcado e clique em Preview.
- Revise a contagem e o detalhamento por tabela.
- Desmarque Dry run, clique em Run e confirme.
Um backup completo é feito automaticamente antes da substituição, e cada tabela é coberta, incluindo aquelas criadas por plugins. Configurações serializadas de plugins são tratadas corretamente.
Não faça isso com uma query SQL no phpMyAdmin. WordPress armazena configurações de plugins e temas como strings serializadas que registram o comprimento de cada valor, então uma REPLACE() bruta as quebra e as configurações silenciosamente se reset para vazio. Não há reparo exceto restaurar um backup. A explicação completa está em Running a Search and Replace.
Se seu plano inclui o console, o comando equivalente é:
search-replace 'http://yourdomain.co.nz' 'https://yourdomain.co.nz' --all-tables --dry-run
Solte --dry-run para aplicá-lo e faça um backup você mesmo primeiro: o console não faz.
Passo 3: Limpar Cada Cache
Uma cópia em cache de uma página continuará servindo as antigas URLs HTTP muito tempo depois que o banco de dados for corrigido, razão pela qual as pessoas frequentemente pensam que a substituição não funcionou.
- WordPress, depois Quick Actions, depois Flush Cache.
- WordPress, depois Caching, depois Purge cache, se o cache de página completa está ligado.
- Performance, depois Kapsule CDN, depois Purge, se a CDN está ligada. Veja Purging the CDN Cache.
- Qualquer plugin de caching, em sua própria tela de configurações.
- Seu próprio navegador. Teste em uma janela privada para não ser enganado pelo seu próprio cache.
Passo 4: Encontrar o Que Resta
A maioria dos sites fica limpa após o Passo 2. Quando um aviso sobrevive, encontre o recurso exato em vez de adivinhar.
Console do navegador. Abra as ferramentas de desenvolvedor com F12, vá à aba Console e recarregue. Conteúdo misto aparece como um aviso explícito nomeando a URL completa do recurso problemático. Aquela URL diz qual plugin ou tema é responsável.
Aba Network. Filtre por http:// para listar cada requisição insegura que a página fez.
Fonte da página. Carregue a página, veja a fonte e procure por http://. Ignore qualquer coisa dentro de atributos xmlns e declarações de schema: esses são identificadores, não requisições.
Sobreviventes comuns e o que fazer sobre cada um:
| O Que Você Encontra | Conserto |
|---|---|
| Uma imagem ou logo em uma configuração do personalizador de tema | Re-carregar ou re-selecionar no personalizador |
Um módulo do construtor de página com uma URL de imagem http:// digitada | Editar aquele módulo e corrigir a URL |
| Tabela de configurações próprias de um plugin slider | Re-salvar o slider, ou executar a busca e substituição com --all-tables |
| Uma fonte ou script de um domínio terceirizado | Verificar se o provedor oferece HTTPS. A maioria oferece agora. Trocar a URL |
| Um pixel de rastreamento ou embed de um fornecedor antigo | Se o fornecedor não tem HTTPS, remova. É uma dependência quebrada, não um problema Kapsule |
http:// codificado em um arquivo de template de tema | Editar o template, ou melhor, usar https ou uma referência relativa ao protocolo |
Se exatamente uma página é afetada e o resto do site está limpo, o culpado é conteúdo naquela página, não uma configuração de site inteiro. Abra-a no editor e procure pela mídia que ela incorpora.
Confirmando Que Está Corrigido
- Carregue o site em uma janela privada.
- O cadeado deve estar sólido, sem triângulo de aviso e sem indicação cruzada.
- Clique no cadeado. O navegador relata a conexão como segura sem nenhum aviso de conteúdo misto.
- Abra o console e recarregue mais uma vez. Zero avisos de conteúdo misto.
- Verifique uma página profunda, não apenas a página inicial: uma página interna, um post de blog com imagens e o checkout em uma loja.
Prevenindo Que Volte
- Deixe Force HTTPS ligado. É uma configuração de uma linha que remove uma classe inteira de problemas.
- Nunca digite uma URL completa
http://em conteúdo. Use a biblioteca de mídia, que agora armazena endereços HTTPS. - Verifique configurações de plugin após instalar qualquer coisa que peça uma URL.
- Observe um aviso retornando após uma atualização de plugin. Alguns plugins reset suas próprias URLs armazenadas.
- Re-execute a busca e substituição após qualquer migração, pois um banco de dados importado traz as URLs do host antigo com ele: Migrating a Website From cPanel.
Resolução de Problemas
O cadeado está bom para mim, quebrado para um colega. Página em cache. Peça a eles para recarregar em uma janela privada.
O site quebrou completamente após a substituição. Restaure o backup automático anterior: Restoring From a Backup.
O console mostra um aviso de conteúdo misto em um domínio que não é o meu. Um recurso de terceiros. Você não pode corrigir seu servidor: ou eles suportam HTTPS e você troca a URL, ou você descarta o recurso.
Tudo é HTTPS mas o site não carrega nada. Isso não é conteúdo misto. Comece com Website Not Loading e verifique o certificado em SSL Certificates.
Se você trabalhou através de tudo isto e o aviso persiste, envie um email para support@kapsulehost.com com a URL afetada e o texto exato do aviso do console do navegador.