🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir o erro de Conteúdo Misto (Mixed Content)

Time Full Services Time Full Services
Tipo Erro HTTP
Nome do erro Conteúdo Misto (Mixed Content) EN: Mixed Content
Severidade Grave
Descrição O erro de Conteúdo Misto (Mixed Content) acontece quando uma página servida em HTTPS carrega recursos (imagens, scripts, CSS) ainda em HTTP. No WordPress, costuma vir de URLs antigas gravadas no banco após migrar para HTTPS ou de plugins e temas com links fixos em http.

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.
Antes de começar: Faça backup do banco de dados antes de rodar o search-replace. Rode primeiro com –dry-run para conferir quantas linhas serão alteradas e nunca substitua a coluna guid, que deve permanecer inalterada.

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

  1. 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.
  2. 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.
  3. 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
  4. 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().
  5. 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.
BASH
# 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

Perguntas frequentes

O que é conteúdo misto (Mixed Content) no WordPress?
É quando uma página servida por HTTPS carrega algum recurso (imagem, script, CSS) ainda por HTTP inseguro. O navegador marca a página como parcialmente insegura, bloqueia recursos ativos e quebra o cadeado, mesmo com o SSL instalado.
Por que o cadeado quebrou depois que instalei o SSL?
Porque o certificado deixou o site disponível em HTTPS, mas as URLs antigas no banco e no conteúdo continuam em http. Cada recurso chamado por http dispara o aviso de Mixed Content. É preciso trocar essas URLs para https no banco.
Como descubro qual recurso está em http?
Abra o site em HTTPS, pressione F12 e veja a aba Console do navegador. Cada alerta de Mixed Content mostra a URL http exata do recurso inseguro, indicando se ele vem do banco, do tema ou de um plugin.
Posso só trocar http por https com um UPDATE no SQL?
Não é seguro. Muitos dados do WordPress são serializados e um UPDATE direto quebra a contagem de caracteres, corrompendo widgets e opções. Use o wp search-replace do WP-CLI, que ajusta os dados serializados corretamente.
Um plugin força HTTPS resolve o Mixed Content de verdade?
Plugins que reescrevem URLs na saída resolvem o sintoma visual, mas as URLs http continuam no banco. O ideal é corrigir na origem com search-replace; o plugin serve como camada extra ou solução temporária enquanto você ajusta o banco.
Corrigi as URLs e o aviso continua. O que falta?
Verifique recursos externos (CDN, Google Fonts) ainda chamados por http e links fixos no código do tema ou de plugins. Depois limpe o cache do site e do Cloudflare e revalide no console em aba anônima.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes