Como funciona esta verificação
O Scanaris lê o HTML da tua página servida por HTTPS e procura referências a recursos que comecem por http://: scripts, folhas de estilo, iframes, imagens, vídeos, áudio e fontes. Separa-os em dois grupos. O conteúdo misto ativo (scripts, estilos, iframes) abre um achado de severidade média, porque esses recursos podem executar código ou alterar a página. O conteúdo misto passivo (imagens, vídeo, áudio) abre um de severidade baixa: não executa nada, mas viaja sem cifragem e quebra o cadeado. Só se reveem as referências que aparecem no HTML inicial; os recursos que o JavaScript acrescenta depois não se veem por esta via.
Porque importa
Um script carregado por HTTP dentro de uma página HTTPS é o pior dos casos: quem controlar a rede pode substituí-lo por outro e executar o que quiser na tua página, com a sessão do utilizador. Por isso os navegadores modernos bloqueiam-no diretamente, e o teu site parte-se em silêncio nessa parte. Para as imagens, o navegador carrega-as mas retira o cadeado ou mostra um aviso de "não seguro", que é o que o utilizador vê. Em ambos os casos a mensagem é a mesma: a página diz ser segura e não o é de todo.
De onde vem
Quase sempre de código antigo: URLs copiados de um tutorial ou de um template de há anos, uma biblioteca ligada a partir de uma CDN que na altura não tinha HTTPS, imagens de um blog migrado, ou um campo da base de dados com o URL completo de uma imagem carregada quando o site ainda ia por HTTP. No WordPress é típico depois de mudar de HTTP para HTTPS sem atualizar os URLs guardados.
Como corrigir
- Muda as referências para https:// ou para caminhos relativos (
/imagens/foto.jpg), que herdam o protocolo da página. É a solução correta e definitiva. - Se um recurso externo não tem HTTPS, descarrega-o e serve-o a partir do teu domínio, ou procura outra fonte. Em 2026 quase nada legítimo continua só em HTTP.
- No WordPress, atualiza os URLs guardados na base de dados com uma ferramenta de procurar e substituir que respeite a serialização, e revê os URLs do site nas definições gerais.
- Como rede de segurança, a diretiva de CSP
upgrade-insecure-requestsdiz ao navegador para converter automaticamente os pedidoshttp://da tua página emhttps://. Serve enquanto limpas o código, mas não substitui a limpeza: o recurso tem de existir em HTTPS para funcionar.
Content-Security-Policy: upgrade-insecure-requests
Confirma que está corrigido
curl -s https://oteudominio.com | grep -oE '(src|href)="http://[^"]+"' | sort -u
Não deve sair nada. Depois abre a página com a consola do navegador: qualquer recurso misto que o JavaScript carregue aparece lá como aviso ou bloqueio.
Perguntas frequentes
A minha página carrega bem e tem cadeado. Porque me marca isto?
Porque o navegador pode estar a bloquear o recurso em silêncio ou a subi-lo para HTTPS por conta própria. A referência no teu HTML continua a ser http:// e outros clientes (bots, navegadores antigos, emails) não fazem essa correção.
Os URLs que começam por // são conteúdo misto?
Não. Os URLs relativos ao protocolo herdam o da página e em HTTPS carregam por HTTPS. Ainda assim, hoje recomenda-se escrever https:// diretamente.
Um link <a href="http://…"> conta?
Não. Um link não carrega nada na tua página; só leva o utilizador a outro sítio. O conteúdo misto é o que a página incorpora.