Procédure pour le passage d’un site en HTTPS

Une fois le certificat SSL installé sur votre serveur dédié, il faudra effectuer un certain de paramétrages sur votre site.

Voici une procédure-type pour un site réalisé sous WordPress 4.x.

Dans un premier temps, il faudra forcer le site à n’autoriser que certains utilisateurs à accéder au site dans sa version HTTPS. Pour cela, il faut ouvrir le fichier wp-config et ajouter votre IP publique grâce à ce script :

if($_SERVER["REMOTE_ADDR"]=="xxx.xxx.xxx.xxx") {
define('WP_HOME','https://www.mondomaine.com');
define('WP_SITEURL','https://www.mondomaine.com');
}

Pour connaitre votre IP publique, il vous suffit de suivre ce lien : https://www.icodia.com/fr/solutions/outils/information/connexion-internet.html

Dans le back-office du site (http://mondomaine.com/wp-admin), aller dans « Réglages > Général », puis ajouter un « s » après HTTP (sans espace) à « Adresse web de WordPress » et « Adresse web du site ».
Si vous n’avez pas apporté de modification particulière à votre site, cette modification devrait suffire à passer votre site en en HTTPS.

Il convient tout de même de procéder à des vérifications de toutes les pages.
Pour cela, il faut vérifier dans différents navigateurs que le cadenas vert s’affiche systématiquement.
La suite de la procédure s’appuie sur l’outil Firefox Developer, téléchargeable à l’adresse : https://www.mozilla.org/fr/firefox/developer/
Entrez l’URL de votre site web et sélectionnez l’onglet « Outils de développement – Réseau » à droite de la barre d’adresse, ou « CTRL + MAJ + E ». La colonne « Domaine » doit afficher des cadenas vert sur toutes les lignes.
Si vous ne voyez aucune information apparaître, il peut être nécessaire de recharger votre page en appuyant sur la touche F5.

Idéalement, il faudra passer sur toutes les pages du site avec cet outil pour vérifier qu’il n’y ait pas du contenu HTTP chargé.

Une fois les problèmes repérés sur une page, il faudra réécrire en HTTPS les liens générés dans le code HTML, les feuilles de styles et les scripts.
De même avec les liens stockés en HTTP dans la base de donnée qui sont générés sur la page.
Si du contenu est stocké sur un hébergement externe (des images, par exemple) et que ce site externe ne supporte pas le HTTPS, il faudra rapatrier le contenu sur l’hébergement de votre site.
Dans la base de données, vous pouvez rechercher toutes les occurrences de http://www.mondomaine.com par exemple pour les remplacer par https://www.mondomaine.com de la même façon. Par exemple, tous les GUID des posts sont à adapter. Cela peut être automatisé par une requête, mais attention, il faut bien veiller à ne pas modifier des données sérialisées (dans les options par exemple), car l’ajout d’un caractère dans ce type de donnée la rend inexploitable et elle sera réinitialisée par WordPress. Vous pouvez par exemple exclure du remplacement les chaînes qui contiennent une accolade.
Ensuite on pourra forcer le HTTPS sur tout le site (avec une règle de redirection dans le htaccess par exemple).
Exemple de règle de redirection du .htaccess :

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Pour terminer, on peut à nouveau vérifier avec plusieurs navigateurs que l’on a bien un cadenas vert partout. Il peut y avoir des disparités entre différents navigateurs.

Pensez bien à modifier votre fichier wp-config pour hôter la limitation par IP.

 

NB : Cette procédure est fourni sans aucune garantie de résultats. La responsabilité d’Icodia ne saurait être engagée en cas de dysfonctionnement suite à des opérations réalisées sur votre site.