Le « mixed content » est le fait d’avoir sur son site des ressources chargées via « http » et en « https ». L’idéal est de corriger cela pour que tout sois chargé en « https » pour des raisons de sécurité.
Pour corriger ce problème, nous allons devoir localiser les éléments problématiques et remplacer manuellement ou avec un plugin les liens http. Si ils proviennent d’un plugin et que cela n’est pas éditable, il faut contacter son développeur.
Comment identifier le contenu mixte ?
Il y a deux façons d’identifier tout le mixed content :
- Manuellement via l’outil « Inspecter » du navigateur. Faire un clic droit sur la page à analyser n’importe où, puis choisir « Inspecter ». Dans l’onglet « Console », il y aura des messages spécifiant les ressources chargées en « http ».
- Avec un outil en ligne, comme Why No Padlock? qui est gratuit et particulièrement efficace.
Corriger les mauvais liens que vous avez ajouté
Les liens en « http » les plus faciles à éditer seront ceux présents sur votre site, que vous aurez ajouté :
- Dans votre contenu
- Dans votre menu
- Le haut de votre site (header)
- Le bas (footer)
- Les widgets
- La sidebar
Il vous suffit pour cela de vous rendre à l’endroit où est le lien pour le remplacer et l’éditer.
Vous pouvez aussi faire cette manipulation automatiquement avec l’extension Better Search Replace qui va éditer votre base de données pour modifier tous les liens d’un coup.
Attention : pensez à sauvegarder votre site avant d’utiliser cette extension.
À savoir : il existe aussi une extension « SSL Insecure Content Fixer » mais que je déconseille. Elle modifie bien le « http » en « https » mais le fait à chaque chargement de vos contenus, ça ralenti donc le site.
Forcer le chargement en HTTPS
Pour forcer la main à certaines ressources quelque peu capricieuse, on peut ajouter ce bout de code à notre fichier .htaccess situé à la racine de notre site :
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Le CSP pour mesure supplémentaire
Dans l’en-tête de votre site, vous pouvez ajouter une mesure supplémentaire de protection de votre site pour empêcher les ressources http de se charger et de convertir les ressources http en https.
Pour cela, ajoutez ces deux bouts de code à votre fichier .htaccess situé à la racine de votre site :
Content-Security-Policy: upgrade-insecure-requests;
Content-Security-Policy: block-all-mixed-content;