SEO

HTTPS, mixed content e SEO: erros invisíveis que estragam tráfego

O cadeado verde dá uma sensação de "está tudo bem" — mas um site em HTTPS pode estar a carregar dezenas de recursos por HTTP sem ninguém notar. Não cai, não dá erro vermelho, e mesmo assim o browser bloqueia conteúdo, o Lighthouse desce de pontuação e o Google trata o site como menos confiável. É o problema mais subestimado de SEO técnico em 2026.

Este post explica o que é mixed content, como o detetar em 10 minutos, como o corrigir sem partir o site, e que efeito real tem no tráfego orgânico.

O que é mixed content

Mixed content acontece quando uma página servida em https:// pede recursos em http:// — imagens, scripts, folhas de estilo, iframes, fontes, vídeos. O canal principal está cifrado; os pedidos secundários não. Resultado: a página deixa de ser totalmente segura, mesmo que o cadeado continue lá.

Há dois tipos, com tratamento diferente pelo browser:

  1. Mixed content passivo — imagens, vídeo, áudio. O Chrome carrega mas marca a página como "Not fully secure".
  2. Mixed content ativo — scripts, CSS, iframes, fetch/XHR. O browser bloqueia em silêncio. O recurso simplesmente não carrega.

A parte traiçoeira: o site continua a parecer normal a quem o construiu, porque o cache local muitas vezes esconde o problema. Quem entra do exterior é que vê o site partido.

Porque é que isto destrói SEO

O Google confirma há anos que HTTPS é sinal de ranking. Em 2026, num site com mixed content, o impacto é por três vias:

  • Core Web Vitals piores. Scripts críticos bloqueados quebram o JavaScript da página: o LCP escorrega, o INP estoira, o CLS dispara. Se ainda não percebeste estas métricas, vê o post sobre LCP, INP e CLS.
  • Sinais de confiança baixos. O Chrome marca a página como "Not secure" ou "Not fully secure". O utilizador sai. O bounce rate sobe. O Google nota.
  • Indexação inconsistente. O Googlebot vê recursos bloqueados — imagens que não rastreia, JS que não executa, CSS que não interpreta. O conteúdo renderizado fica diferente do que devia.

Não é raro um site cair de tráfego orgânico depois de uma migração para HTTPS mal feita e ninguém perceber que a causa foi mixed content. Veja-se em conjunto com SEO técnico.

Causas mais frequentes em sites portugueses

O problema costuma vir de quatro sítios:

  1. Migração HTTP→HTTPS incompleta. Links absolutos em base de dados (http://meusite.pt/...) escritos antes da migração e nunca substituídos.
  2. Plugins WordPress antigos. Sliders, page builders e formulários que codificam URLs HTTP no shortcode.
  3. Recursos externos via HTTP. APIs ou CDNs antigas que não suportam HTTPS — fontes, mapas, contadores, badges.
  4. Embeds de terceiros. Vídeos, redes sociais, Google Maps, scripts de chat ou de tracking colados sem https://.

Em 9 de 10 casos a culpa é da migração mal-feita ou de plugins desatualizados. Se ainda não fizeste a migração e estás a planeá-la, lê o guia de migrar site sem perder SEO.

Como detetar em 10 minutos

Quatro ferramentas, qualquer uma chega:

  • DevTools do Chrome (F12) → Console — abre o site em janela anónima e procura Mixed Content: ou Blocked:. Cada linha é um recurso a corrigir.
  • DevTools → Security tab — diz se a página é "Secure" ou se há "non-secure origins".
  • PageSpeed Insights — sinaliza recursos não-HTTPS na secção de auditoria.
  • Why No Padlock? ou JitBit SSL Check — varrem o site inteiro e listam todos os recursos HTTP que encontrarem.

Para um site WordPress médio com 50–200 páginas, o varrimento demora 5–15 minutos.

Como corrigir, por ordem de impacto

A correção tem três níveis. Começa pelo mais simples.

1. Substituir URLs absolutos na base de dados

Em WordPress, o método mais limpo é o plugin Better Search Replace (ou WP-CLI):

  • Procura: http://meusite.pt
  • Substitui por: https://meusite.pt

Executa em todas as tabelas (especialmente wp_posts, wp_postmeta, wp_options). Faz backup primeiro — é uma operação irreversível. Vê o post de cópias de segurança.

2. Atualizar recursos externos

Para embeds e CDNs antigas:

  • Substituir <script src="http://..."> por https://... em todos os templates.
  • Trocar fontes Google antigas (http://fonts.googleapis.com) pelas atuais (https://).
  • Atualizar iframes do YouTube, Vimeo, Google Maps (todos suportam HTTPS desde 2014).
  • Se um recurso externo não tem versão HTTPS, troca de fornecedor. Em 2026 não há desculpa.

3. Forçar upgrade no servidor com CSP

Como rede de segurança, adiciona um cabeçalho HTTP que diz ao browser para promover automaticamente qualquer pedido HTTP a HTTPS:

Content-Security-Policy: upgrade-insecure-requests;

Em WordPress, adiciona ao .htaccess (Apache) ou ao bloco server (Nginx). Não substitui a limpeza dos URLs — funciona como rede para o que escape. A diretiva está documentada em web.dev — Fixing mixed content.

Bónus: HSTS para proteger no futuro

Depois de tudo limpo, adiciona HSTS (HTTP Strict Transport Security):

Strict-Transport-Security: max-age=31536000; includeSubDomains

Diz aos browsers que o teu site existe em HTTPS, durante um ano. Ataques de downgrade deixam de funcionar e o browser nunca tenta HTTP, nem na primeira visita. Vê também o post de SSL e HTTPS.

O que acontece depois de corrigir

Indicadores típicos em 2–6 semanas:

  • Lighthouse sobe 5–15 pontos em "Best Practices".
  • Erros no Search Console em "Page experience" caem para zero.
  • Pages com scripts críticos bloqueados voltam a indexar conteúdo completo.
  • Tráfego orgânico recupera entre 5% e 20% se o problema era generalizado.

Não esperes milagres se o site só tinha 1–2 imagens em HTTP. Espera resultados sérios se o problema tocava em scripts ou folhas de estilo.

Casos típicos em sites portugueses

Três cenários que vejo repetidos em auditorias a sites PT:

Site com 6+ anos migrado para HTTPS em 2018

Migrado com plugin "Really Simple SSL" sem limpar a base de dados. Funciona à superfície mas dezenas de imagens em posts antigos ainda apontam para http://. Mixed content passivo em massa. Lighthouse 70. Corrige-se com Better Search Replace em 30 minutos.

Loja WooCommerce com slider antigo

Revolution Slider importado de um tema premium em 2017. Hardcodes URLs http:// nas opções do slide. Resultado: scripts bloqueados, slider parte no Chrome. Loja perde 30% de conversão sem ninguém perceber porquê. Correção: atualizar plugin + reimportar slides.

Site institucional com mapa Google embebido

Iframe colado em 2015 com http://maps.google.com. Em browsers modernos o mapa nem carrega. Espaço em branco onde devia estar mapa. Sinal pésimo para o utilizador local. Correção: substituir embed por versão atual em 2 minutos.

A lição: 9 de 10 problemas de mixed content vêm de coisas escritas há anos que ninguém revisitou.

Quando vale a pena refazer o site em vez de corrigir

Se a auditoria encontra mais de 50 ocorrências, em vários plugins, com tema antigo e WordPress não atualizado, a conta pode pender para o lado de refazer o site. A análise:

  • Custo de correção: 4–10h técnicas.
  • Custo de refazer site moderno: 1.500€+.
  • Vantagem de refazer: resolve HTTPS, performance, SEO técnico e CMS em vez de só patchar.

Cada caso pesa-se. Não é sempre a mesma resposta.

Mixed content em WordPress: lista prática de plugins-problema

Em sites WordPress portugueses, os culpados habituais aparecem repetidos:

  • Sliders antigos — Revolution Slider, LayerSlider em versões pré-2020 codificam URLs absolutos.
  • Page builders — Elementor < 3.0, Visual Composer, Divi com importações antigas trazem assets http://.
  • Galerias de fotografia — NextGEN Gallery e Envira em versões antigas.
  • Plugins de chat — versões pré-HTTPS de Tawk.to, LiveChat, Crisp.
  • Mapas — embed manual de Google Maps com http://maps.googleapis.com.
  • Feeds de redes sociais — Smash Balloon Instagram Feed antigo.
  • Plugins de SEO antigos — Yoast < 14, All in One SEO < 4.

Atualizar todos para a versão atual resolve 60–70% dos casos sem mais nada.

Como confirmar que ficou tudo limpo

Depois da correção, valida em três sítios:

  1. Console do Chrome em janela anónima — varre 10–20 páginas representativas. Zero avisos Mixed Content:.
  2. PageSpeed Insights — secção "Best Practices" sem flag de HTTPS.
  3. Search Console → Page experience — sem erros HTTPS em 7 dias após o fix.

Se a tua Search Console ainda não está configurada, agora é boa altura.

Resumo: a regra simples

Um site em HTTPS com um único recurso ativo em HTTP é, na prática, um site partido. O cadeado mente. O Google nota. O utilizador sai.

A boa notícia: é dos problemas mais baratos de resolver em SEO técnico. Uma tarde de trabalho num site médio resolve 95% dos casos. Vê também porque o site está em baixo quando o sintoma é mais grave.


No sitesfixe.pt construímos sites em HTTPS limpos desde o primeiro carregamento — sem mixed content, com HSTS ligado e Lighthouse a 95+. Se o teu site perdeu tráfego depois de uma migração ou está com avisos de segurança no Chrome, pede um orçamento. Sites desde 1.500€. Manutenção desde 80€/mês.

Lê também:

Fontes

Precisas de um site ou loja online?

Agência digital portuguesa. Sites e lojas online rápidos, otimizados para o Google e feitos para resultado.

Pedir orçamento