Installer manuellement SSL

Tutoriel : passer en HTTPS manuellement pour remplacer un plugin WordPress SSL comme Really Simple SSL déjà configuré


Récemment, j’ai passé tous mes sites web en HTTPS manuellement alors qu’ils étaient déjà en HTTPS. J’avais utilisé le plugin Really Simple SSL de Rogier Lankhorst que je trouvais vraiment simple à mettre en place, mais je voyais bien qu’il y avait un souci dans tout ça.

 
Dans mon processus de conception, création, développement de site web (appelle ça comme tu veux), il y a un paramètre qui m’obsède : c’est la vitesse ou le temps de chargement. J’ai, pendant des années, ignoré ça pour d’autre chose comme du style ou des effets en masse. Mais pour moi la qualité d’un site web se mesure à la vitesse de chargement de ses pages.


Pourquoi privilégier le manuel ?

 
Parfois, la facilité prend le dessus. Il m’arrive de mettre un plugin en quelques clics parce que je me refuse à aller chercher la vraie solution. Je me refuse à me confronter à une difficulté qui est celle de perdre plus de temps et d’énergie à essayer de comprendre un nouveau concept. Parfois, c’est la peur qui m’envahit, j’ai alors la crainte folle que mon site explose, me sorte une erreur 500, et que je doive tout reprendre. Bref par facilité ou par crainte, j’utilise des plugins. J’en consomme à tout va, mais en faisant ça, je vois bien les effets négatifs à terme. Mais alors quels sont-ils ?
 
Voici une liste non-exhaustive :
 
Le temps de vie : la gestions des extensions est rébarbative, quand tu as 10, 20, 30, 40 extensions ou + activées sur ton site, tu dois faire de la maintenance continuellement, quotidiennement, car chaque plugin à besoin de sa dose d’attention : configuration, mise à jour, non compatibilité avec les autres plugins, conflits divers et variés, etc. Cela demande du temps de s’occuper de ses plugins, si tu veux faire les choses bien. Toi-même tu sais.
 
La vulnérabilité de ton site : avoir une collection de plugin, c’est pas bon pour ton site WordPress. Et non, même si tu n’as jamais eu de soucis avec, tu vis avec une couille potentielle en sursis. Si tu oublies de mettre à jour ou que tu fais tourner un plugin obsolète par manque d’alternative, ton site est potentiellement vulnérable contre diverses attaques comme « Man-In-The-Middle » par exemple. Car des failles de sécurité peuvent se révéler suite au manque de suivi de tel ou tel plugin.
 
La vitesse des pages : c’est un critère fondamental tant pour l’expérience utilisateur, que le SEO et la qualité de ton site d’une façon générale. Comme tu le sais blinder ton site WordPress de plugins, ça alourdit grave la « bête ». Quand ça mouline, pour passer d’une page à l’autre, tu le dois entre autre au bourrage de plugins en arrière boutique, mais surtout à certains plugins en particulier.
 
La facilité : entre-nous, installer et activer un plugin, c’est facile. Tu tapes dans Google ta requête : « plugin wordpress … » et tu es sûr de trouver le bon plugin que tu télécharges aussi sec sur ton WordPress. Du coup on prend très vite goût à ça et on a vite fait de mettre de de côté les pratiques plus techniques, « en dur ». Mais c’est pour ça qu’on aime WordPress, hein ? Mais, je rappellerai juste ça : la facilité c’est le meilleur ennemi pour progresser. Et ce serait pas toi que j’ai retrouvé sur les groupes d’entraide en train de quémander un énième plugin ?



Si l’on aime à ce point WordPress, c’est bien entendu pour sa communauté, sa facilité d’utilisation et ses plugins ! En fonction de notre niveau, nos contraintes, etc. On est emmené à utiliser des plugins pour arriver à terme de nos projets WordPress. Mon conseil sera le suivant : si tu peux trouver une alternative à un plugin, fais-le !
 

Les interventions manuelles pour progresser

 
Intervenir manuellement va te permettre de progresser dans ton approche technique, mais surtout il ne va pas pas faillir (comme dit au dessus) à la première mise à jour ou à un quelconque problème interne. Prenons notre exemple qu’est celui de passer son WordPress manuellement en HTTPS : le faire à la main t’évites d’y revenir. A savoir la sécurité est un protocole privilégié par Google quand tu l’as fais, c’est calé et on y revient plus. A contrario, si tu l’as fais à l’aide d’un plugin, tu dois évoluer au gré des mises à jour, essayer de comprendre chaque case à cocher… bref tu t’en sors plus.
 
Mais le souci avec un plugin comme Really Simple SSL de Rogier Lankhorst, c’est que ça fait les choses à moitié. C’est à dire, au lieu de soumettre toutes tes URLs en HTPPS une bonne fois (de pages et d’articles, d’images, d’ancres de liens), le plugin va juste réécrire ton URL HTTP en HTTPS à chaque fois que tu fais une requête donc si tu en fais 10, il réécrit 10 fois l’URL. En d’autres termes à chaque fois qu’un visiteur lancera une requête sur ton site, ou cliquera un lien, ton site fera la transformation de l’URL de HTTP à HTTPs et cela pour toutes les URLs de ton site. Donc autant te dire que pour la performance, on est vraiment pas les meilleurs. A contrario, une fois que tu auras installé manuellement ce process de sécurité, ça sera plus rapide car tu auras changé en dur toutes les URLs de ton site une bonne fois pour toutes.
 
Attention : avant de procéder à tout changement majeur sur ton site WordPress, prévoit une sauvegarde de ton FTP et te ta BDD avant de te lancer.
 
J’ai trop parlé donc c’est parti !
 

Désactiver le plugin Really Simple SSL de Rogier Lankhorst

 
Cette partie s’adresse à toi qui a installé ce plugin ou un autre. Commence par le désactiver dans tes « Extensions » en pressant le lien « Désactiver (retour au http) »
Désactiver Plugin WordPress Really Simple SSL
 
Le plugin est désactivé et c’est une bonne chose de faite.
Plugin WordPress désactivé


Une fois que tu as désactivé le plugin tes URLs reviennent automatiquement en HTTP, tu peux l’observer directement dans Réglages > Général.
WordPress Reglages General
 
Même si tu retournes sur ta page d’accueil et que tu presses le petit cadenas, ça va te sortir le message suivant :
WordPress connexion pas totalement sécurisée
 

Installer et activer Better Search Replace de Delicious Brain

 
Oui j’ai menti car on va utiliser un plugin dans le processus (juste un petit :)). Ce plugin est très utile et s’utilise en backend, donc pas de lourdeur en frontend, c’est une fonctionnalité qui va te permettre de scanner toutes nos URLs en HTTP sur notre BDD pour nous les changer rapidement en HTTPS. C’est un plugin qui n’aura aucun impact sur notre front-end contrairement au protocole HTTPS qui appartient à notre URL de site web.
 
Télécharge, le plugin Better Search Replace de Delicious Brain sur ton site web.
 
Plugin WordPress Better Search Replace
 
Installe-le puis active-le. Tu connais le refrain.

Installer activé Better Search Replace
 
Ca y est ton plugin est activé.



Plugin Better Search Replace activé
 
Retrouve-le dans Outils > Better Search Replace

Outils Plugin WordPress Better Search Replace
 
Dans un premier temps on va faire un test. Trois actions sont requises :

  • 1) Ajoute l’URL que tu souhaites remplacer dans le premier et dans le second celle qui la remplace : à priori tu devrais te retrouver à ajouter la même URL mais avec un « s » à https
  • 2) Sélectionne toutes les tables présentes avec « Cmd + A » : toutes les tables doivent être en bleu (comme sur la capture d’écran)
  • Enfin coche la case « Insensible à la casse ? » par sécurité, et laisse cochée par défaut celle « Juste tester ? », pour faire le test.

 
Une fois la configuration faite, presse le bouton gris « Lancer Rechercher / Remplacer »

Test des tables et chaines à changer

Une barre de progression apparaît pour avoir une vision du nombre exact d’URLs passées en revue et du temps que cela prend.

Progression du test plugin Better Search Replace
 
Une fois que le plugin a fini de tout scanner, une notification apparaît en haut de ton écran et t’annonce combien de tables de ta base de données ont été parcourues et combien de chaînes de caractères pourraient être modifiées. C’est plutôt efficace.

Résultat plugin Better Search Replace



On va maintenant le faire pour de vrai, en procédant exactement comme la configuration « Test », sauf que l’on décoche la case « Faire le test ? ». Une fois décochée, valide ce choix en pressant à nouveau le bouton « Lancer Rechercher / Remplacer ».

Décoché la case test du plugin WordPress
 
On observe qu’il y a eu 3935 mises à jour, ce qui est énorme. On peut dire que ce plugin nous aide vraiment 😉

Mises à jour et changement faits avec Better Search Replace
 
Les URLs de ton site ont été modifiées et tu peux le constater en retournant sur les réglages généraux.

reglages généraux https
 
Voilà une bonne chose de faite, maintenant on va devoir :

  • Forcer le SSL pour sécuriser notre site
  • Créer une redirection dans le .htaccess

 

Forcer le SSL dans son fichier wp-config.php

 
Dans un premier temps, on va sécuriser toute la partie admin de WordPress, c’est à dire que l’on va chiffrer l’ensemble des données échangées entre notre site web et le serveur pour prévenir les attaques. Connecte-toi à ton FTP et trouve le fichier .wp-config.php.


 
Edite-le et place le morceau de code ci-dessous juste avant « /* C’est tout, ne touchez pas à ce qui suit ! Bon blogging ! */  » :

define ('FORCE_SSL_ADMIN', true);

Force SSL admin true
 
N’oublie pas d’enregistrer et c’est OK.


Créer une redirection dans le .htaccess

 
Enfin il faut que l’on créé une redirection pour prévenir que l’on est plus sur du HTTP par défaut mais que l’on est bien sur du HTTPS. Donc de cette redirection, on force l’accès uniquement en HTTPS, même si un utilisateur tape ton URL en HTTP.

htaccess
 
Ouvre ton fichier .htaccess et colle le code situé en dessous et veille bien à remplacer l’URL par la tienne.

Attention : ce code s’adresse à celles et ceux qui ont un hébergement OVH :

# Begin Force HTTPS
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://tonsite.com/$1 [R,L]
# End Force HTTPS

Exemple :


 
Pense à bien enregistrer. Ça y est tu viens de passer ton site web HTTPS à la main.

Connexion sécurisée


Attention au « Mix Content »

 
Après cette manipulation tu peux te retrouver très bien et sur certaines pages seulement avec une configuration à moitié faite. C’est à dire que, au lieu de te retrouver avec le petit cadenas dans ta barre d’URL et le message vert : « La connexion est sécurisée », tu te retrouves avec un petit i et une notification : « Votre connexion à ce site n’est pas sécurisée ».

problème mix content
 
Cette notification t’avertit que cette page n’est pas complètement sécurisée pour cause des URL n’ont pas été modifiées et commencent toujours par HTTP et non HTTPS. Cela provient essentiellement des images qui ont été ajoutées sur la page en questions ou des ancres de liens ou boutons qui renvoient sur des pages internes.
 
Pour réparer cela, je te conseille d’effacer le lien de l’image de et de télécharger à nouveau cette dernière via ta bibliothèque de médias. Donc pas besoin de la supprimer entièrement et de la téléverser à nouveau.
 
Ensuite, pour les lien d’URL rajoute simplement un « S » pour voir des « HTTPS » partout. Mais en vrai, la solution la plus simple et classique que tu dois connaître est de mettre tous tes liens internes comme suit « /permalien ». Ce qui veut dire que n’utilise plus l’URL entière mais juste d’ajouter l’URI de ton URL exacte et toujours précédée d’un slash.
 
A toi de jouer.

Note cet article :

4.6 / 5. 8


9 Comments
  • Alexis FONTANA
    Posted at 10:37h, 19 février Répondre

    Tu peux faire encore mieux en utilisant aucun plugin et en scannant ta bdd avec un éditeur de texte et en faisant un rechercher remplacer puis upload de la bdd.

    • Batiste de Bosser en pyjama
      Posted at 22:21h, 22 février Répondre

      Merci Alexis. En effet, on est d’accord avec cette solution et tu as bien fait de la signaler.

  • Caliméro
    Posted at 18:04h, 30 septembre Répondre

    Bonjour,
    Tu peux aussi désormais tout simplement utiliser l’outil que WordPress met à ta disposition dans « Santé du site » pour la modification des URL 😉

    • Batiste de Bosser en pyjama
      Posted at 12:11h, 02 octobre Répondre

      Hello Caliméro ! Merci pour ton message. J’essaierai ça la prochaine fois pour gagner du temps.

  • Milie
    Posted at 13:58h, 05 août Répondre

    Merci pour ce tuto 🙂

    • Batiste de Bosser en pyjama
      Posted at 11:37h, 09 août Répondre

      Hello Milie, cool si ce tuto t’as aidé

    • Batiste de Bosser en pyjama
      Posted at 11:38h, 09 août Répondre

      Hello Milie, cool si ce tuto t’as aidé !

  • Alysee
    Posted at 11:09h, 08 décembre Répondre

    Hello, merci pour cet article. Malheureusement mon site a complètement planté.
    J’ai remplacé « http » par « https », mais je n’ai pas ajouté le domaine derrière.
    Résultat : le site a complètement sauté et impossible de me connecter au backoffice wordpress … Impossible de charger quoi que ce soit dans wp config ou ailleurs.
    SOS ! lol

    • Batiste de Bosser en pyjama
      Posted at 13:57h, 18 décembre Répondre

      Ola Alysée, merci pour ton message ! J’espère que t’as fait une sauvegarde avant et remettre ton site d’aplomb dans les meilleures conditions. En as-tu une ? Ensuite, ce que je te conseille, c’est de repartir sur des bonnes bases et tenter à nouveau. Ça fonctionne !

Post A Comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.