CHECKCYBER

Contenu mixte (mixed content) : réparer le cadenas barré

Votre page s'ouvre bien en https://, mais le cadenas est barré, ou le navigateur affiche « contenu non sécurisé » ? C'est presque toujours du contenu mixte : la page elle-même est chiffrée, mais elle charge au moins une ressource (image, script, feuille de style, police, iframe) via http:// non chiffré. Le navigateur considère alors la page entière comme partiellement compromise.

C'est l'un des problèmes les plus frustrants après une migration vers HTTPS, car le certificat est correct et la page « marche »… mais le cadenas refuse de s'afficher. La cause est presque toujours une poignée d'URL codées en dur en http:// quelque part dans le contenu ou le thème. Voici comment les traquer et les corriger pour de bon.

Pourquoi le contenu mixte est un problème

Une ressource chargée en HTTP sur une page HTTPS voyage en clair et peut être interceptée ou modifiée en transit par un tiers sur le réseau. Tout l'intérêt du HTTPS — confidentialité et intégrité — est alors partiellement annulé : un attaquant pourrait remplacer une image, ou pire, injecter du code via un script chargé en clair.

C'est aussi pénalisant pour votre image de marque et votre référencement : le cadenas brisé signale aux visiteurs et à Google une mise en place HTTPS incomplète, ce qui érode la confiance et peut peser sur le classement.

Contenu mixte actif et passif : la différence

Le navigateur traite deux catégories différemment. Le contenu mixte « passif » (images, vidéos, fichiers audio en http://) est généralement affiché mais déclenche l'avertissement du cadenas : le risque est limité car ces ressources ne peuvent pas modifier la page.

Le contenu mixte « actif » (scripts, feuilles de style CSS, iframes, requêtes AJAX en http://) est bien plus dangereux, car ces ressources peuvent prendre le contrôle de la page. Les navigateurs modernes le bloquent purement et simplement : résultat, votre mise en page casse ou une fonctionnalité cesse de marcher. C'est souvent ce blocage, et non l'avertissement, qui vous alerte.

Trouver et corriger les ressources fautives

Ouvrez la console de votre navigateur (touche F12) : les avertissements « Mixed Content » listent précisément les URL en cause, une par une. C'est votre liste de travail. La correction de fond consiste à remplacer chaque http:// par https:// (ou par une URL relative au protocole) dans votre code, votre thème et votre base de données.

Sur un CMS comme WordPress, le coupable est souvent dans la base de données (anciennes URL d'images insérées en http://) : une extension de recherche-remplacement d'URL, ou l'outil en ligne de commande wp search-replace, corrige tout en une passe. Pensez à faire une sauvegarde avant. Pour rattraper automatiquement les ressources oubliées, ajoutez en complément la directive CSP upgrade-insecure-requests, qui demande au navigateur de réécrire à la volée les requêtes http:// en https://.

Apache — .htaccess (forcer la mise à niveau des requêtes)
<IfModule mod_headers.c>
  Header always set Content-Security-Policy "upgrade-insecure-requests"
</IfModule>
nginx
add_header Content-Security-Policy "upgrade-insecure-requests" always;
WordPress — WP-CLI (corriger les URL en base)
# Sauvegardez d’abord la base, puis :
wp search-replace 'http://exemple.com' 'https://exemple.com' --all-tables --precise

Vérifier la correction

Rechargez la page et vérifiez que le cadenas est revenu, console toujours ouverte : il ne doit plus y avoir aucun avertissement « Mixed Content ». Testez plusieurs types de pages (accueil, article avec images, page de contact), car une ressource fautive peut n'apparaître que sur certaines d'entre elles. Relancez enfin un audit CheckCyber pour confirmer l'absence de contenu mixte sur l'ensemble du site.

[ FAQ // QUESTIONS FRÉQUENTES ]

upgrade-insecure-requests remplace-t-il la correction des URL ?

Non, c'est un filet de sécurité, pas une solution de fond. Corrigez les URL à la source (code, thème, base de données) ; la directive ne couvre pas tous les cas (par exemple les liens vers des domaines externes qui n'existent qu'en HTTP) et n'agit que dans les navigateurs qui la respectent.

Comment trouver quelle ressource pose problème ?

Ouvrez les outils de développement (F12), onglet Console : chaque ressource en HTTP est signalée par un message « Mixed Content » accompagné de son URL exacte. L'onglet Réseau, filtré sur les requêtes non sécurisées, donne aussi la liste complète.

Pourquoi une de mes ressources est bloquée et pas une autre ?

Parce que le navigateur bloque le contenu mixte actif (scripts, CSS, iframes), qui peut compromettre la page, mais se contente d'afficher un avertissement pour le contenu mixte passif (images, vidéos). Dans les deux cas, il faut corriger l'URL pour retrouver un cadenas intact.

[ PASSEZ À L’ACTION ]

Votre site est-il concerné ?

Lancez un audit de surface gratuit et obtenez en quelques secondes la liste exacte de vos failles, avec le correctif pour chacune. Anonyme, sans inscription.

▶ Auditer mon site

[ À LIRE AUSSI ]

[ CheckCyber // MIS À JOUR LE 2026-06-29 ]