Passer WordPress en HTTPS sans laisser de contenu mixte
Installer un certificat SSL ne suffit pas à rendre un site WordPress entièrement fonctionnel en HTTPS. Les URL en http:// codées en dur dans le contenu et enregistrées dans les options du site continuent de charger des ressources non sécurisées, ce que le navigateur signale ou bloque sous le nom de contenu mixte.
Ce que le certificat seul ne corrige pas
Le certificat chiffre la connexion entre le navigateur et le serveur, mais il ne modifie rien dans la base de données. Deux réglages centraux, siteurl et home dans la table wp_options, définissent l’adresse de référence du site : s’ils restent en http://, WordPress continue de générer une partie de ses liens sans le protocole sécurisé. À cela s’ajoutent les URL http:// codées en dur dans le contenu des articles (images insérées avec leur adresse complète, liens internes) et celles enregistrées dans les données sérialisées de réglages de thème ou de widgets, qui suivent le même mécanisme de sérialisation qu’un changement d’hébergeur ou de domaine — je détaille ce mécanisme en profondeur sur la page dédiée à la migration d’hébergeur, la logique est identique ici.
Le contenu mixte (mixed content) survient précisément quand une page servie en https:// tente de charger une ressource encore en http:// (une image, un script, une feuille de style) : le navigateur bloque la ressource ou affiche un avertissement dans la barre d’adresse, ce qui casse visuellement la page ou déclenche une alerte de sécurité pour le visiteur.
Sur une boutique WooCommerce, le passage en HTTPS n’est pas qu’une question de confiance visuelle : certaines passerelles de paiement exigent une connexion chiffrée pour fonctionner et bloquent purement et simplement le tunnel de commande tant que le certificat n’est pas actif, ce qui rend ce chantier prioritaire sur une boutique active plutôt que sur un simple site vitrine. Une fois le contenu mixte corrigé, j’ajoute l’en-tête HSTS (Strict-Transport-Security) pour indiquer aux navigateurs de toujours privilégier la connexion chiffrée sur ce domaine, ce qui réduit le risque d’un retour accidentel en HTTP.
Comment je passe un site en HTTPS proprement
-
Installation du certificat
Je mets en place le certificat SSL/TLS chez l’hébergeur ou via un service comme Let’s Encrypt, et je vérifie qu’il couvre bien tous les sous-domaines utilisés.
-
Redirection forcée http vers https
Je configure la redirection au niveau du serveur (fichier .htaccess sur Apache, bloc server sur Nginx) pour qu’aucune page ne reste accessible en http://, y compris les pages d’API et de webhook utilisées par les extensions de paiement.
-
Mise à jour de siteurl et home, et du contenu
Je corrige ces deux options ainsi que toutes les URL http:// enregistrées dans le contenu et les données sérialisées avec l’outil adapté, le même que pour un changement d’hébergeur ou de domaine.
-
Recherche du contenu mixte restant
J’ouvre la console du navigateur sur les pages principales pour repérer les ressources encore appelées en http:// (souvent des images externes ou un script tiers oublié) et je les corrige une par une.
-
Mise à jour de Search Console
J’ajoute la propriété https:// dans Search Console, qui est traitée comme une adresse distincte de la version http://, pour continuer à suivre l’indexation correctement.
Pour aller plus loin
-
Guide généraliste : passer un site en HTTPS
La méthode générale, valable pour tout CMS, avec moins de détail spécifique à WordPress.
-
Migrer d’hébergeur sans interruption
Le détail complet du mécanisme de sérialisation évoqué sur cette page.
-
Changer de nom de domaine sans perdre son référencement
Un autre changement d’URL qui suit la même logique de correction et de vérification.
-
Comprendre la sérialisation PHP
La définition complète du mécanisme qui rend un simple remplacement SQL dangereux.
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.