Qu'est-ce que le contenu mixte ?
Le contenu mixte (ou "mixed content") se produit lorsqu'une page chargée en HTTPS tente d'afficher des ressources (images, scripts, feuilles de style, vidéos) via HTTP non sécurisé. Le navigateur bloque partiellement ou totalement ces ressources pour protéger les visiteurs.
Il existe deux types de contenu mixte :
- Contenu mixte passif : images, vidéos et audio chargés en HTTP. Le cadenas peut afficher un avertissement ou disparaître.
- Contenu mixte actif : scripts JavaScript, CSS et iframes chargés en HTTP. Les navigateurs modernes bloquent systématiquement ces ressources, ce qui peut casser l'affichage ou les fonctionnalités de votre site.
Impact sur le SEO et la confiance
Un site affichant une erreur de contenu mixte perd son cadenas HTTPS. Les visiteurs voient un avertissement "Non sécurisé" qui nuit à la confiance et peut augmenter le taux de rebond.
Détecter le contenu mixte
Utiliser la console du navigateur
Ouvrez votre site dans Chrome ou Firefox. Appuyez sur F12 pour ouvrir les outils de développement, puis cliquez sur l'onglet Console. Les erreurs de contenu mixte apparaissent en rouge ou en orange avec le message
Mixed Content: ...suivi de l'URL de la ressource problématique.Utiliser l'onglet Réseau
Dans les outils de développement (F12), allez dans l'onglet Réseau (Network). Rechargez la page. Filtrez par http:// dans la barre de recherche pour identifier les ressources chargées en HTTP non sécurisé.
Utiliser un outil en ligne
Des outils comme Why No Padlock (whynopadlock.com) analysent votre URL et listent toutes les ressources non sécurisées, sans avoir à inspecter le code source manuellement.
Corriger le contenu mixte sur WordPress
WordPress est la source la plus courante de contenu mixte lors d'un passage en HTTPS.
Mettre à jour les URLs dans les réglages
Dans le tableau de bord WordPress, allez dans Réglages → Général. Remplacez
http://parhttps://dans les champs Adresse web de WordPress et Adresse web du site. Enregistrez.Installer Better Search Replace
Allez dans Extensions → Ajouter une extension et installez Better Search Replace. Cet outil remplace toutes les occurrences d'une URL dans la base de données WordPress.
Remplacer les URLs dans la base de données
Dans Outils → Better Search Replace, configurez la recherche :
- Rechercher :
http://votredomaine.fr - Remplacer par :
https://votredomaine.fr - Sélectionnez toutes les tables WordPress
- Décochez Effectuer une simulation pour appliquer les modifications
Cliquez sur Lancer la recherche/remplacement.
Effectuez d'abord une simulation
Avant d'appliquer les modifications, cochez Effectuer une simulation pour voir combien d'occurrences seront remplacées. Cela vous permet de vérifier que le remplacement est correct avant de le valider.
- Rechercher :
Vider les caches
Videz le cache de votre extension de cache (WP Rocket, LiteSpeed Cache, W3 Total Cache) et le cache de votre CDN si vous en utilisez un. Rechargez votre site pour vérifier que le cadenas HTTPS est bien présent.
Corriger le contenu mixte sur un site HTML/PHP
Pour un site codé manuellement, la correction est plus directe.
Rechercher les URLs HTTP dans les fichiers
Dans le Gestionnaire de fichiers cPanel, utilisez la fonction de recherche pour trouver toutes les occurrences de
http://dans vos fichiers HTML, PHP et CSS. Remplacez les liens absolus par des URLs HTTPS ou, encore mieux, par des URLs relatives au protocole (commençant par//).Utiliser des URLs relatives au protocole
Remplacez par exemple :
<!-- Avant --> <img src="http://votredomaine.fr/images/logo.png"> <!-- Après (URL relative au protocole) --> <img src="//votredomaine.fr/images/logo.png"> <!-- Ou URL relative --> <img src="/images/logo.png">Les URLs relatives au protocole utilisent automatiquement le même protocole que la page courante (HTTP ou HTTPS).
Ajouter un en-tête CSP pour les contenus tiers
Si certaines ressources en HTTP proviennent de services tiers que vous ne contrôlez pas, vous pouvez ajouter un en-tête HTTP pour demander au navigateur d'effectuer une mise à niveau automatique vers HTTPS.
Ajoutez cette ligne dans votre fichier .htaccess :
Header always set Content-Security-Policy "upgrade-insecure-requests"
Cet en-tête demande au navigateur de remplacer automatiquement http:// par https:// pour toutes les ressources. Attention : cela ne fonctionnera que si la ressource est bien disponible en HTTPS chez le fournisseur tiers.
Ressources tierces non disponibles en HTTPS
Si une ressource tierce n'est disponible qu'en HTTP, vous devez soit la télécharger et l'héberger vous-même sur votre serveur en HTTPS, soit trouver une alternative. C'est notamment le cas pour certains scripts analytiques ou widgets anciens.
Étapes suivantes
Une fois le contenu mixte résolu :
- Testez votre site sur SSL Labs pour une analyse complète
- Vérifiez vos scores Core Web Vitals dans Google Search Console
- Soumettez votre sitemap XML mis à jour à Google Search Console