Vous avez installé un certificat SSL et votre site tourne en HTTPS, mais le navigateur affiche un avertissement indiquant que la connexion n'est « pas entièrement sécurisée ». Le cadenas est gris ou un triangle d'avertissement apparaît. Il s'agit d'une erreur de mixed content (contenu mixte) : votre page est chargée en HTTPS, mais elle contient des éléments qui sont encore récupérés en HTTP.

Qu'est-ce que le mixed content ?

Le mixed content apparaît lorsqu'une page HTTPS charge des ressources (images, scripts, feuilles de style, polices) via une connexion HTTP non chiffrée. Le navigateur considère cela comme un risque de sécurité et affiche un avertissement.

Il existe deux types de mixed content :

  • Mixed passive content: images, vidéos et fichiers audio chargés en HTTP. Le navigateur les charge quand même, mais affiche un avertissement.
  • Mixed active content: scripts, feuilles de style et iframes chargés en HTTP. Le navigateur les bloque par défaut, ce qui peut casser votre site.

Trouver le mixed content avec Chrome DevTools

Suivez ces étapes pour trouver le mixed content sur votre site :

1. Ouvrez Chrome DevTools

Ouvrez votre site dans Google Chrome et appuyez sur F12 (ou clic droit → Inspecter). Cliquez sur l'onglet « Console ».

2. Recherchez les avertissements

Les avertissements de mixed content sont surlignés en jaune ou en rouge et ressemblent à ceci :

Mixed Content: The page at 'https://example.nl/' was loaded over HTTPS, but requested an insecure image 'http://example.nl/images/logo.png'. This content should also be served over HTTPS.

Chaque avertissement vous indique précisément quel fichier est chargé en HTTP et sur quelle page.

3. Vérifiez plusieurs pages

Le mixed content peut varier d'une page à l'autre. Vérifiez au minimum votre page d'accueil, votre blog, vos pages produits et votre page de contact. Si besoin, utilisez un outil comme WhyNoPadlock.com pour une analyse complète.

Corriger le mixed content

1. Modifiez les URL HTTP codées en dur dans votre base de données

Avec WordPress, la plupart du mixed content vient d'URL enregistrées en http:// dans la base de données. Utilisez l'extension Better Search Replace:

  1. Installez et activez Better Search Replace
  2. Rechercher : http://example.nl
  3. Remplacer par : https://example.nl
  4. Sélectionnez toutes les tables
  5. Lancez d'abord un dry run (simulation) pour vérifier combien de remplacements seront effectués
  6. Lancez le remplacement réel

Attention : faites toujours une sauvegarde de la base de données avant de lancer un search-replace.

2. Utilisez l'extension Really Simple SSL

L'extension Really Simple SSL corrige automatiquement la plupart du mixed content :

  1. Installez et activez Really Simple SSL
  2. L'extension détecte automatiquement votre certificat SSL
  3. Cliquez sur « Activer SSL »
  4. L'extension réécrit les URL HTTP en HTTPS dans la sortie

C'est une solution rapide, mais il vaut mieux modifier les URL définitivement dans la base de données (méthode 1) afin de ne pas dépendre d'une extension.

3. Forcez le HTTPS via .htaccess

Assurez-vous que tout le trafic est redirigé vers HTTPS :

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Cela ne corrige pas directement le mixed content (la règle ne redirige que les requêtes de pages, pas les ressources intégrées), mais garantit que vos visiteurs arrivent toujours en HTTPS.

4. Modifiez les fichiers de thème et d'extension

Les fichiers de thème ou d'extension contiennent parfois des URL HTTP codées en dur. Recherchez dans vos fichiers de thème :

  • http:// dans les URL d'images
  • http:// dans les balises de script et de feuille de style
  • Les ressources externes disponibles uniquement en HTTP

Remplacez http:// par https:// ou utilisez des URL relatives au protocole (//example.nl/...).

5. Vérifiez les ressources externes

Si votre site charge des ressources provenant de services externes (polices, outils d'analyse, widgets), vérifiez qu'elles sont disponibles en HTTPS. La plupart des services modernes prennent en charge le HTTPS. Si une ressource externe n'est disponible qu'en HTTP, cherchez une alternative ou hébergez le fichier localement.

Éviter le mixed content

  • Installez le SSL dès la création de votre site: toutes les URL sont alors enregistrées directement en HTTPS
  • Utilisez des URL relatives: /images/logo.png au lieu de http://example.nl/images/logo.png
  • Configurez l'adresse du site WordPress en HTTPS: Réglages → Général → les deux URL en https://
  • Content Security Policy: ajoutez un en-tête CSP qui bloque le mixed content : Content-Security-Policy: upgrade-insecure-requests

Questions fréquentes sur le mixed content

Le mixed content est-il dangereux pour mes visiteurs ?

Le mixed passive content (images) représente un risque limité. Le mixed active content (scripts, feuilles de style) est un risque de sécurité sérieux, car un attaquant peut l'intercepter et le modifier. Les navigateurs modernes bloquent automatiquement le mixed active content, mais cela peut casser votre site.

Pourquoi vois-je du mixed content après avoir installé un certificat SSL ?

Parce que le contenu de votre site (pages, articles, widgets) renvoie encore à des ressources en http://. L'installation d'un certificat SSL chiffre la connexion, mais ne modifie pas automatiquement les URL dans votre base de données ou vos fichiers. Vous devez mettre à jour ces URL manuellement ou avec une extension.

Really Simple SSL corrige-t-il tout le mixed content ?

L'extension corrige la plupart du mixed content en réécrivant les URL dans la sortie HTML. Mais il s'agit d'une correction à l'exécution : la base de données contient toujours des URL en http://. Pour une solution définitive, mieux vaut lancer un search-replace. L'extension reste une bonne correction rapide si vous voulez régler le problème tout de suite.

Le mixed content peut-il nuire à mon référencement ?

Oui. Google privilégie les sites entièrement sécurisés en HTTPS. Les avertissements de mixed content peuvent signaler votre site comme « pas entièrement sécurisé », ce qui réduit la confiance des visiteurs et peut indirectement affecter votre positionnement. Corrigez toujours le mixed content après l'installation d'un certificat SSL.

Un SSL sans souci ? Consultez nos offres d'hébergement web avec SSL Let's Encrypt gratuit, redirection HTTPS automatique et un support expert pour les problèmes de mixed content.