O que é mixed content e por que ele aparece
Se você está vendo avisos de segurança no navegador ou recursos que não carregam, o motivo pode ser mixed content wordpress. Isso acontece quando sua página é carregada via HTTPS, mas algum recurso dentro dela — imagem, script, iframe, fonte — ainda é chamado por HTTP. O navegador entende que a página principal é segura, mas o recurso não é, e isso gera um aviso de segurança.
Na prática, você vê o cadeado da URL aberto ou com um alerta, e em alguns casos o recurso nem carrega. Em sites com WooCommerce, isso costuma aparecer como “conteúdo não seguro” no checkout, o que assusta o cliente e derruba a conversão.
O problema fica mais comum depois de instalar um certificado SSL ou migrar o site de HTTP para HTTPS. O WordPress até tenta atualizar as URLs, mas muitas vezes ficam pedaços antigos no banco de dados, no código do tema, em widgets ou em plugins.
Sintomas típicos de mixed content no WordPress
- O navegador mostra o cadeado com um triângulo amarelo ou “Não seguro” na barra de endereço.
- Imagens quebradas ou que não carregam em páginas internas.
- Plugins de cache ou de segurança exibem alertas de conteúdo misto.
- No console do navegador (F12), aparece o erro: “Mixed Content: The page at ‘https://…’ was loaded over HTTPS, but requested an insecure resource ‘http://…'”.
- Em alguns casos, o recurso é bloqueado completamente (mixed content ativo), como scripts e iframes.
Como diagnosticar mixed content: encontre o recurso inseguro
Antes de sair corrigindo, você precisa saber exatamente o que está sendo carregado por HTTP. O caminho mais rápido é o console do navegador.
Passo 1: Abra o console do navegador
- Acesse a página que está com o problema.
- Pressione F12 (ou Ctrl+Shift+I no Windows, Cmd+Option+I no Mac).
- Vá até a aba Console.
- Procure por mensagens que contenham “Mixed Content” ou “insecure resource”. Cada mensagem mostra a URL exata do recurso problemático.
Anote todas as URLs que aparecerem. Se a lista for grande, você pode usar a aba Network e filtrar por Mixed Content ou por http:.
Passo 2: Identifique a origem do recurso
Depois de ter as URLs, descubra de onde elas vêm: é uma imagem de um post antigo, um script de um plugin, um iframe de um vídeo do YouTube? Isso define a melhor solução.
Se a URL estiver no banco de dados (posts, páginas, widgets), a correção pode ser feita com uma busca global. Se estiver no código do tema ou de um plugin, a correção é manual.
Soluções para corrigir mixed content no WordPress
Existem três níveis de correção. A escolha depende da quantidade de ocorrências e da sua familiaridade com o código. Em todos os casos, antes de qualquer alteração, faça um backup completo — veja o que deve estar na cópia em backup do WordPress.
Nível 1: Ajuste no banco de dados (para URLs armazenadas em posts e widgets)
Se as URLs antigas estão no conteúdo, a forma mais direta é substituir http:// por https:// no banco de dados. Mas atenção: nunca faça isso sem backup — um erro pode corromper o site.
- Faça um backup completo do banco de dados.
- Use um plugin de busca e substituição, como Better Search Replace, ou acesso via phpMyAdmin.
- No plugin, informe a URL antiga (ex.:
http://seusite.com) e a nova (ex.:https://seusite.com). - Selecione todas as tabelas e execute a substituição.
Esse método resolve a maioria dos casos, mas não altera URLs que estão dentro de códigos PHP ou JavaScript.
Nível 2: Uso de plugin (para quem prefere praticidade)
Plugins como Really Simple SSL ou SSL Insecure Content Fixer automatizam a correção. Eles detectam recursos inseguros e aplicam regras de reescrita.
O Really Simple SSL é popular porque, além de corrigir mixed content wordpress, ativa o HTTPS no site todo. Porém, ele adiciona uma camada de processamento, o que pode impactar a performance se não for configurado com cache.
Já o SSL Insecure Content Fixer é mais leve e focado só no problema. Ele permite definir o nível de correção: simples (apenas URLs do próprio domínio), ou avançado (inclui recursos de terceiros, como CDNs).
Esses plugins são úteis quando você não quer mexer no banco de dados ou no código. Porém, eles podem mascarar o problema em vez de corrigir a causa raiz — o recurso continua sendo chamado por HTTP, mas é reescrito na hora de exibir.
Nível 3: Correção manual no código (para temas e plugins)
Se o recurso está sendo chamado por um script ou por um template do tema, você precisa editar o código. Por exemplo, se um plugin carrega um script com http:// fixo, você pode usar um filtro no functions.php do tema filho.
add_filter('script_loader_src', 'corrigir_mixed_content_scripts', 10, 2);
function corrigir_mixed_content_scripts($src, $handle) {
if (strpos($src, 'http://') === 0) {
$src = str_replace('http://', 'https://', $src);
}
return $src;
}
Outra abordagem é usar o Content Security Policy (CSP) para forçar o navegador a atualizar as requisições automaticamente, mas isso exige configuração no servidor. Consulte a documentação oficial do WordPress para entender como os filtros de scripts funcionam.
Essa solução é para quem tem conhecimento técnico e quer resolver na raiz. Se você não se sente confortável editando código, prefira as anteriores.
Quando NÃO usar cada solução
| Situação | Solução recomendada | Por que não a outra |
|---|---|---|
| Erro em poucas imagens de posts antigos | Busca e substituição no banco | Plugin adiciona peso desnecessário |
| Site com muitos recursos externos (CDN, fontes) | Plugin como SSL Insecure Content Fixer | Substituição manual seria interminável |
| Recurso vindo de código de tema/plugin | Correção manual no código | Banco de dados não resolve, plugin pode mascarar |
| Site em produção, sem tempo para testar | Plugin (rápido), mas com backup | Edição manual exige teste cuidadoso |
Erros comuns ao corrigir mixed content no WordPress
- Substituir todas as ocorrências de http por https no banco: isso pode quebrar links externos que ainda não possuem SSL. Por isso, use busca específica do domínio.
- Esquecer de limpar o cache: depois de corrigir, o cache do navegador, do plugin de cache e do CDN pode manter a versão antiga. Limpe todos.
- Ativar HTTPS sem atualizar o endereço do site no painel: em Ajustes > Gerais, as URLs precisam estar com https://, senão o WordPress continua gerando links http.
- Ignorar recursos de terceiros: scripts de Google Fonts, YouTube, etc., podem ser chamados por http. Verifique se o serviço oferece versão https.
Prevenção: como evitar mixed content no futuro
A melhor prevenção é padronizar tudo para HTTPS desde o início.
- Ao migrar um site para HTTPS, faça a busca e substituição no banco imediatamente.
- Use URLs relativas ou protocolo-relative (
//) em temas e plugins que você desenvolve. - Configure um redirecionamento 301 de HTTP para HTTPS no servidor.
- Mantenha plugins e temas atualizados — versões novas costumam corrigir chamadas inseguras.
- Teste o site com uma ferramenta online, como o Lighthouse do Google, que aponta mixed content.
Quando chamar um profissional
Se depois de seguir todos os passos o problema persistir, ou se você não tem acesso ao banco de dados ou ao código, é hora de buscar ajuda. Um erro de substituição em massa pode derrubar o site. Se você administra vários sites, o problema se multiplica — corrigir manualmente cada um pode levar horas.
Nesses casos, considere usar um painel de gerenciamento como o 100% WP, que centraliza atualizações e backups, facilitando a manutenção de múltiplos sites. Além disso, se a migração para HTTPS foi recente, vale revisar se o processo seguiu as boas práticas — veja nosso guia sobre migrar site WordPress sem perder posição no Google.
Se o mixed content estiver travando o checkout do WooCommerce, confira também nosso artigo sobre checkout do WooCommerce travando.
E lembre-se: antes de qualquer alteração no banco, tenha um backup recente — veja o que deve estar na cópia em backup do WordPress.
Conclusão
Corrigir mixed content no WordPress é um processo que exige diagnóstico cuidadoso e a escolha da solução certa para cada caso. Comece identificando os recursos inseguros no console, depois decida entre ajuste no banco, plugin ou correção manual. Não se esqueça de limpar o cache e testar o site em várias páginas. Com as práticas de prevenção, você evita que o problema volte.


