Este site não é seguro: há duas versões deste aviso.
Uma é o site inteiro em HTTP e resolve-se com um certificado. A outra é um cadeado partido num site que já tem HTTPS — e essa costuma ser uma imagem, escondida numa página que ninguém visita.
// de quem é o problema É do site, e é uma correcção de quem o gere. Este aviso não depende da rede nem do computador de quem visita. Se o browser diz que o site não é seguro, é porque alguma coisa está a ser servida sem cifra — e isso é uma característica do site, igual para toda a gente.
Os browsers modernos partem do princípio de que HTTPS é o normal e HTTP é a excepção que precisa de aviso. Um site inteiramente em HTTP é marcado como "Não seguro" na barra de endereço, sem ecrã vermelho, mas com um rótulo permanente que qualquer visitante vê.
A segunda versão é mais subtil e apanha sites que já fizeram tudo bem: o HTML vem por HTTPS, mas uma imagem, um script ou uma folha de estilo estão a ser pedidos por HTTP. Chama-se conteúdo misto. O browser ou bloqueia esses ficheiros — e a página aparece partida — ou mantém o aviso, conforme o tipo de recurso.
A distinção interessa porque as correcções são opostas. No primeiro caso falta um certificado; no segundo o certificado está impecável e o que falta é corrigir endereços dentro do conteúdo. Tentar resolver o segundo emitindo certificados é trabalho perdido.
// causas prováveis
Por onde é que isto costuma vir.
Por ordem de frequência. A primeira explica mais casos do que todas as outras juntas.
-
O site não tem certificado nenhum
Sites antigos que nunca migraram, ou subdomínios que ficaram esquecidos numa migração. Hoje não há razão para isto: o SSL gratuito está incluído em praticamente todos os alojamentos.
-
Imagens com endereço absoluto em HTTP
A causa número um do conteúdo misto em WordPress. Conteúdo escrito antes da migração para HTTPS ficou com `http://` colado nos endereços das imagens, e continua lá anos depois.
-
Scripts ou folhas de estilo de terceiros em HTTP
Um widget antigo, uma fonte, um contador de visitas de 2014. São os piores porque o browser bloqueia-os por completo — e o resultado não é um aviso, é uma página que aparece desalinhada.
-
O site não redirecciona HTTP para HTTPS
O certificado existe e funciona, mas quem escreve o domínio sem `https://` entra pela porta insegura e vê o aviso. Falta uma regra de redireccionamento, não falta um certificado.
-
Endereços do site guardados em HTTP na base de dados
No WordPress, as opções `siteurl` e `home` em `Definições > Geral`. Se ficaram em `http://`, metade das ligações geradas pelo próprio sistema saem inseguras.
// o que fazer
Passo a passo, e o primeiro é confirmar.
Antes de mexer no servidor, vale a pena saber o que ele está mesmo a apresentar. É o que a ferramenta aqui em baixo responde.
- 01
Vê se o site abre em https:// à mão
Escreve o endereço com `https://` à frente. Se abrir com cadeado, há certificado e o teu problema é redireccionamento ou conteúdo misto. Se der erro, não há certificado — e o caminho é a página de renovação.
- 02
Confirma o certificado de fora
Antes de procurar conteúdo misto, elimina a hipótese mais simples. O verificador diz-te se o certificado existe, se está válido e se cobre o domínio que estás a testar.
- 03
Abre a consola do browser e procura "mixed content"
É onde o problema se vê à primeira. O browser lista cada recurso inseguro com o endereço completo — e essa lista é a tua lista de trabalho, sem adivinhação nenhuma.
- 04
Corrige os endereços na base de dados
Uma substituição de `http://exemplo.pt` por `https://exemplo.pt` em toda a base de dados. Usa uma ferramenta que trate de dados serializados — uma substituição em SQL puro parte campos serializados do WordPress e o estrago é pior do que o problema.
- 05
Força o redireccionamento de HTTP para HTTPS
No servidor, e não por plugin, se puderes. Deixa `/.well-known/acme-challenge/` de fora da regra — é o caminho por onde o certificado se renova, e fechá-lo é como se prepara a próxima avaria.
- 06
Verifica página a página, não só a inicial
O conteúdo misto esconde-se em páginas antigas. A inicial costuma estar limpa porque foi refeita; a notícia de 2019 com quatro fotografias é que tem o problema.
Cola o domínio e abrimos a ligação TLS a partir de um servidor em Portugal: validade, cadeia, nomes cobertos e quem emitiu. Sem conta, sem custo, e não guardamos o que verificares.
// que não volte
Como não voltar a esta página daqui a 90 dias.
-
Usa endereços relativos no conteúdo
Uma imagem inserida com caminho relativo nunca fica presa a um protocolo. Metade dos problemas de conteúdo misto nascem de endereços absolutos escritos à mão.
-
Verifica o site depois de migrar para HTTPS
A migração é sempre declarada concluída quando a página inicial abre com cadeado. As outras trezentas páginas raramente são vistas, e é lá que o problema fica.
-
Não deixes subdomínios esquecidos
O `staging.`, o `antigo.`, o `loja.` de um projecto que morreu. Continuam públicos, continuam em HTTP, e continuam a ser encontrados.
-
Vigia o certificado depois de o pôr a funcionar
Resolver o aviso hoje não impede que ele volte daqui a noventa dias, quando a renovação falhar. É o mesmo trabalho outra vez, com menos paciência.
// limites
Onde é que esta página encalha.
- Não rastreamos o site à procura de conteúdo misto. A nossa leitura é do certificado que o servidor apresenta — para encontrar recursos inseguros, a consola do browser é a ferramenta certa e é gratuita.
- Não vemos o que está dentro das páginas. Uma verificação de estado responde sobre o servidor, não sobre o HTML que ele devolve.
- Se o aviso vem de um antivírus ou de uma extensão e não do browser, isto não se aplica. Nesse caso o texto é de outro produto e a lógica dele é dele.
- Não tratamos de sites marcados como perigosos pelo Navegação Segura da Google. Esse é um aviso completamente diferente, com ecrã vermelho, e significa suspeita de malware — não é um problema de certificado.
// perguntas
O que nos perguntam a seguir.
Tenho certificado e o Chrome continua a dizer que o site não é seguro. Porquê?
Quase de certeza conteúdo misto: o HTML vem por HTTPS e alguma coisa dentro dele vem por HTTP. A consola do browser diz-te exactamente o quê e onde, e a correcção é nos endereços e não no certificado.
O aviso "não seguro" prejudica as visitas?
Prejudica, sobretudo em formulários e pagamentos, onde o Chrome escreve o aviso ao lado do campo. É difícil pôr um número honesto nisto, mas a direcção não é discutível — e como resolver é gratuito, a discussão não chega a fazer-se.
Basta instalar um plugin de HTTPS?
Um plugin reescreve os endereços na saída e resolve o sintoma imediatamente, o que é útil quando é preciso resolver hoje. Mas os endereços continuam errados na base de dados, e no dia em que o plugin sair ou falhar, o problema volta inteiro. A correcção a sério é na base de dados.
// avisos vizinhos
Se afinal não era este.
Os avisos de certificado parecem-se todos, e metade do trabalho é perceber qual deles apanhaste.
-
"A ligação não é privada"
O aviso vermelho do Chrome. Meia dúzia de causas diferentes, e o código por baixo diz qual é.
-
Certificado SSL expirado
Data ultrapassada, aviso vermelho em ecrã inteiro. A falha com data marcada que continua a apanhar toda a gente.
-
Renovar certificado SSL
Como renovar em cada tipo de alojamento, e porque é que a automatização falha calada.
Vigiar aquele domínio, em vez de te lembrares dele.
Depois de arrumado, o aviso volta sozinho no dia em que o certificado expirar — e a maior parte das vezes é isso que acontece, dois ou três meses depois de alguém ter tido este mesmo trabalho. A De Olho vai vigiar a validade e avisar-te com trinta dias de antecedência, para o trabalho não se repetir com o cliente ao telefone. Enquanto não abre, a leitura manual está aqui.
A De Olho abre em 2026 e ainda não dá para usar. Quem estiver na lista de espera fica a saber primeiro e mantém o preço de lançamento enquanto a subscrição durar.