Como corrigir o erro de Conteúdo Misto (Mixed Content)
O que é o erro de Conteúdo Misto (Mixed Content) no WordPress?
O Mixed Content, ou conteúdo misto, ocorre quando uma página carregada por HTTPS inclui recursos pelo protocolo HTTP inseguro. O navegador considera a página parcialmente insegura: bloqueia os recursos ativos (scripts, iframes) e exibe um aviso, quebrando o cadeado verde da barra de endereços. No WordPress, a causa quase sempre é a migração para HTTPS sem atualizar as URLs antigas guardadas no banco de dados, ou plugins e temas que escrevem links http fixos no código.
Como identificar
- O navegador mostra “Não seguro” ou um cadeado com aviso, mesmo o site tendo SSL ativo.
- No console do navegador (F12) aparece “Mixed Content: The page at ‘https://…’ was loaded over HTTPS, but requested an insecure resource ‘http://…'”.
- Imagens, fontes ou estilos somem ou ficam quebrados após migrar o site para HTTPS.
- O erro começou logo depois de instalar o certificado SSL e trocar a URL do site para https.
Como prevenir
- Insira imagens e links no conteúdo com URLs relativas ou via Biblioteca de Mídia, não com http fixo
- Após qualquer migração de domínio ou protocolo, rode o search-replace e revalide no console
- Use recursos externos (CDN, fontes) sempre por https ou com URL relativa a protocolo
Causa
- URLs http antigas gravadas no banco de dados (em posts, páginas e na tabela wp_options) após a migração para HTTPS.
- Tema ou plugin com links fixos em http no código, em vez de URLs relativas ou dinâmicas.
- Imagens e mídias inseridas manualmente com o endereço completo em http no conteúdo dos posts.
- Scripts e fontes externas (CDN, Google Fonts) chamados via http em vez de https.
- siteurl e home em Configurações > Geral ainda apontando para http.
Como resolver
- Confirme siteurl e home em https: em Configurações > Geral, garanta que Endereço do WordPress (siteurl) e Endereço do site (home) começam com https. Esse é o ponto de partida para o site se reconhecer como seguro.
- Identifique o recurso inseguro no console: abra o site em HTTPS, pressione F12 e veja a aba Console. Cada linha de Mixed Content aponta a URL http exata que precisa virar https, separando o que é do banco do que é de plugin.
- Atualize as URLs do banco com search-replace: troque todas as ocorrências de http://seusite por https://seusite no banco. Use o WP-CLI, que lida com dados serializados sem corromper, ou um plugin de busca e substituição confiável.
wp search-replace 'http://seusite.com.br' 'https://seusite.com.br' --skip-columns=guid --all-tables --dry-run wp search-replace 'http://seusite.com.br' 'https://seusite.com.br' --skip-columns=guid --all-tables - Corrija links fixos em temas e plugins: se um recurso vem do tema ou de um plugin, procure no código por http:// fixo. Prefira URLs relativas a protocolo (iniciando com //) ou funções do WordPress que respeitam o esquema, como site_url().
- Limpe o cache e revalide: limpe o cache do plugin de cache e do Cloudflare e recarregue a página em aba anônima. O cadeado deve voltar inteiro; reabra o console para confirmar zero alertas de Mixed Content.
# WP-CLI - troca http por https no banco sem corromper dados serializados
# 1) Simula a troca e mostra quantas linhas seriam alteradas
wp search-replace 'http://seusite.com.br' 'https://seusite.com.br'
--skip-columns=guid --all-tables --dry-run
# 2) Aplica de fato apos conferir o dry-run
wp search-replace 'http://seusite.com.br' 'https://seusite.com.br'
--skip-columns=guid --all-tables
# 3) Limpa o cache de objetos para refletir as novas URLs
wp cache flush














