[Tuto] Comment passer votre site web WordPress de HTTP à HTTPS ?

[Tuto] Comment passer votre site web WordPress de HTTP à HTTPS ?

[Tuto] Comment passer votre site web WordPress de HTTP à HTTPS ?

 

Avant de commencer, pour que tout le monde comprenne les mots que nous allons utiliser ici, référé vous à notre article qui vous explique ce qu’est le HTTPS, ce qu’est un certificat SSL, ses enjeux et ses impacts de nos jours en 2017.

Parmi nos conseils pour améliorer la sécurité d’un site web WordPress, il y a l’ajout d’un certificat SSL à votre site internet afin de pouvoir passer votre site du classique HTTP au HTTPS, qui est donc un protocole sécurisé.

Pour rappel voici la définition du terme « HTTPS » : Initiale d’HyperText Transfert Protocol Secure. Le HTTPS est un mode de sécurisation technique des données échangées entre le serveur visité (votre site web WordPress par exemple) et les internautes.

 

1. Première étape : Obtenir un certificat SSL

Il existe aujourd’hui de nombreux prestataires qui proposent des certificats SSL, les hébergeurs notamment tel que OVH, GoDaddy etc. Mais un nouvel acteur est entré en jeu et nous l’avons découvert durant l’année 2016 : Let’s Encrypt !

Cette organisation se définit comme « une autorité de certification ouverte, gratuite et automatisée ». Le projet de cette organisation est très simple : Le SSL pour tous !

Il existe 3 types de certificats SSL :

  • Le certificat DV (Domain Validation ou Validation de domaine en français)
  • Le certificat OV (Organisation Validation ou Validation de l’organisation en français)
  • Le certificat EV (Entreprise Validation ou Validation de l’entreprise en français)

Bien évidemment tous ces certificats ne se valent pas ! Et le certificat le plus sécurisé et le plus sûr est le certificat EV. En effet, en plus de vérifier le nom de domaine et d’en garantir la sécurité, il nécessite une vérification de l’entreprise. Cela permet d’être sûre à 100% que le site web sur lequel on se trouve est bel et bien la propriété de l’entreprise qu’il dit représenté.

Les certificats DV (très utilisés) et les certificats EV sont assez simples à différencier, cependant, concernant les certificats OV (validation de l’organisation), ils sont plus difficiles à distinguer car il ressemble, dans l’affichage, aux certificats DV

Voici un exemple de certificat DV (validation du domaine uniquement)

Et voici un exemple de certificat EV (validation du domaine et de l’entreprise)

Notre agence étant en partenariat avec OVH, nous prenons 99% de noms de domaines de nos clients chez eux. Depuis quelque temps, OVH est en partenariat avec Let’s Encrypt et propose donc les certificats DV par défaut et gratuitement lors de l’achat d’un hébergement web.

Cela signifie que pour l’achat d’un hébergement web chez OVH, vous bénéficierez automatiquement d’un certificat SSL et vous pourrez donc passer votre site web WordPress en HTTPS 🙂

À vous de choisir votre prestataire, l’autorité de certificat que vous voulez pour votre site web et l’usage que vous allez en faire (site vitrine ou e-commerce).

2. Deuxième étape : Passer du HTTP au HTTPS sur WordPress

Après avoir choisi votre organisme de certification et une fois votre certificat validé et actif, il est désormais temps de changer les URLs de votre site web WordPress !

Sécuriser son interface d’administration WordPress

La sécurisation de l’administration WordPress est une fonctionnalité incluse au coeur de WordPress. Pour pouvoir donc sécuriser votre interface d’administration en HTTPS vous allez devoir éditer votre fichier « wp-config.php » qui se trouve généralement à la racine de votre installation.

À noter : Il est plus prudent de toujours faire une sauvegarde préalable du fichier que l’on souhaite modifier. On pourra le restaurer en cas de pépins.

Une fois votre fichier « wp-config.php » ouvert via un éditeur de fichier, ajoutez la ligne de code ci-dessous :

define(‘FORCE_SSL_ADMIN’, true);

Une fois cette ligne ajoutée, vous pouvez sauvegarder votre modification et vous rendre dans votre administration WordPress. Vous constaterez qu’elle s’affiche désormais en HTTPS.

Afficher tout son site WordPress en HTTPS

1. Modifier les URLs dans l’administration

La méthode ci-dessous va nous permettre de rediriger tous notre trafic HTTP vers du HTTPS en utilisant le code 301 (qui correspond au déplacement permanent d’une URL).

Nous allons utiliser notre fichier .htaccess pour faire cela. Il faudra donc veiller que le module « mod_rewrite » est installé sur votre serveur (renseignez-vous auprès de votre hébergeur. Chez OVH, cela semble installé par défaut.)

Avant d’entrer dans le vif des modifications de notre fichier .htaccess, il va falloir se rendre dans l’administration de notre WordPress.

Une fois sur votre tableau de bord, rendez-vous dans « Réglages > Général » puis modifier les 2 adresses URLs écrites dans « Adresse web de WordPress (URL) » et « Adresse web du site (URL) » (cf. illustration ci-dessous) et ajoutez un « s » à vos anciens URLs HTTP.

Une fois cette modification faite, enregistrez-les et nous pourrons enfin passer à la modification de notre .htaccess. En effet, notre modification précédente donne l’instruction à WordPress d’utiliser HTTPS dans toutes les URLs mais n’empêche personne d’accéder aux URLs en HTTP. C’est le .htaccess qui fait se travaille.

2. Modifier le fichier .htaccess

Si vos permaliens ont été activés alors vous devriez déjà avoir un fichier .htaccess à la racine de votre installation WordPress. Si ce n’est pas le cas, il vous suffit de créer un fichier et de le nommer « .htaccess »

À noter : Les fichiers de type « .htaccess » sont des fichiers cachés par défaut. Si vous ne les voyez pas, voici une illustration pour les afficher avec l’explorateur de fichier FileZilla.

Pour les autres explorateurs, référez-vous à la documentation fournie par l’éditeur.

Que votre fichier .htaccess soit existant ou non, voici ce qu’il devrait contenir de base :

# BEGIN WordPress
IfModule mod_rewrite.c
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
/IfModule
# END WordPress

Ouvrez votre fichier .htaccess et ajoutez-y les lignes de codes suivantes :

# Begin HTTPS
RewriteEngine on
RewriteCond% {HTTP_HOST} ^ monsite.fr [NC, OR]
RewriteCond% {HTTP_HOST} ^ www.monsite.fr [NC]
(*). RewriteRule ^ $ https://www.monsite.fr/$1 [L, R = 301, NC]
# END HTTPS

Attention : N’oubliez pas de remplacer « https://www.monsite.fr/ » par votre vrai nom de domaine.

Vous n’avez désormais plus qu’à tester votre site ! Rendez-vous sur n’importe quelle URL en utilisant le HTTP, si vous êtes automatiquement redirigé vers l’adresse HTTPS c’est que tout fonctionne correctement 🙂 !

 

3. Comment gérer le Mixed Content et debugger les erreurs HTTPS ?

Après avoir passé votre site en HTTPS il peut arriver que certaines de vos pages présentes un point d’exclamation gris (ou cadenas jaune) plutôt que vert (cf. illustration ci-dessous)

Si cela vous arrive, pas de panique, je vais vous aider 😉

En utilisant Google Chrome :

Cliquez sur ce point d’exclamation gris (ou cadenas jaune) comme sur l’illustration ci-dessous :

Puis cliquez sur « Détails » et rendez-vous sur l’onglet « Console » comme sur l’illustration suivante.

Dans cet onglet, on va pouvoir comprendre d’où proviennent nos erreurs HTTPS et notre fameux « Mixed Content ».

Dans l’exemple ci-dessus, l’image nommée « rss.png » est appelée en HTTP. Il faudra donc modifier cette URL pour appeler le fichier en HTTPS et l’erreur devrait être résolue 🙂

4. Et pourquoi pas une extension ?

Il est vrai que l’on pourrait utiliser une extension (plugin) WordPress pour faire le boulot à notre place, mais ce n’est pas le genre de la maison 😉

Pourquoi ? En fait, pour plusieurs raisons ..

Installer une extension pour faire ce que l’on pourrait faire « simplement » n’est pas une très bonne idée car une extension doit être mise à jour au fil des mises à jour de WordPress. De plus, les extensions (plugins) ont tendance à alourdir les sites web WordPress.. bon oui j’abuse, une extension qui gère le SSL n’est pas très lourde.

Une extension peut aussi contenir une ou plusieurs faille(s) de sécurité(s) ou générer des erreurs avec d’autres extensions par exemple.

Pour la petite anecdote, j’utilisais « WordPress HTTPS (SSL) » (cf. illustration ci-dessous) et je me suis retrouvé avec mon sitemap XML bloqué car l’extension que j’utilisais n’était plus à jour depuis un certain nombre d’années et générait donc une erreur.

Elle fonctionne sur certains sites, mais l’idéal est d’utiliser une extension à jour ou de le faire manuellement comme expliqué plus haut 🙂

Voici un exemple d’extension qui semble pas mal ! Je n’irais pas jusqu’à la conseiller mais à vous de voir si elle vous intéresse. Elle est compatible avec la version 4.7.2 de WordPress (la version actuelle donc).

 

En espérant que ce tutoriel vous aura été utile! N’hésitez pas à le partager autour de vous afin d’en faire bénéficier tout le monde.. et bien sûr vous pouvez noter cet article 🙂

Si vous souhaitez sécuriser votre site web WordPress, vous pouvez consulter notre service « Sécurisation & Sauvegarde » pour les sites internet WordPress.

Note: 5.0. (8 avis)
Patientez...

0 Commentaire

Sentez vous libre de réagir à cet article !

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*