Le guide ultime du HTTPS et du SSL pour WordPress
Publié: 2018-10-16Vous avez probablement remarqué au cours des dernières années que bon nombre de vos sites Web préférés sont passés d'adresses HTTP à HTTPS. La lettre ajoutée, tout en ajoutant très peu de temps et d'efforts à la saisie, ajoute une valeur et une sécurité immenses à ces sites Web. Non seulement le fait d'avoir un site WordPress HTTPS rendra votre entreprise plus digne de confiance pour les visiteurs, mais il sera également mieux classé dans les recherches.
Qu'est-ce que le HTTPS ?
Si HTTP signifie protocole de transfert hypertexte . HTTPS signifie protocole de transfert hypertexte sécurisé . Le Mozilla Developer Network (MDN) a une définition fantastique et simple du protocole :
HTTPS ( HTTP Secure ) est une version cryptée du protocole HTTP. Il utilise généralement SSL ou TLS pour crypter toutes les communications entre un client et un serveur. Cette connexion sécurisée permet aux clients d'échanger en toute sécurité des données sensibles avec un serveur, par exemple pour des activités bancaires ou des achats en ligne.
Si vous avez entendu parler du cryptage de bout en bout, c'est tout. Seuls les deux clients impliqués dans la transaction peuvent lire les données. Quiconque pourrait l'intercepter verra un désordre confus de personnages théoriquement indéchiffrables.
Ça sonne plutôt bien, n'est-ce pas ? Alors, comment obtient-on ce champ de force numérique ? Par SSL.
Qu'est-ce que SSL ?
SSL signifie Secure Sockets Layer , et encore une fois, le MDN peut l'expliquer mieux que quiconque :
[SSL] est un protocole utilisé par les applications pour communiquer en toute sécurité sur un réseau, empêchant la falsification et l'écoute clandestine des e-mails, de la navigation Web, de la messagerie et d'autres protocoles.
Tous les navigateurs modernes prennent en charge le protocole TLS, obligeant le serveur à fournir un certificat numérique valide confirmant son identité afin d'établir une connexion sécurisée. Il est possible pour le client et le serveur de s'authentifier mutuellement si les deux parties fournissent leurs propres certificats numériques individuels.
Ces certificats étaient autrefois incroyablement chers et hors de portée pour à peu près tout le monde, à l'exception des plus grands sites Web. Vous verriez le verrou vert sur des sites comme Amazon et Twitter, mais les sites WordPress ordinaires (comme la plupart des nôtres) ne pourraient pas payer les milliers de dollars qu'il en coûte pour acheter le certificat.

Heureusement pour nous tous, comme les certificats SSL sont devenus plus nécessaires à la fois pour le classement et pour la conduite des affaires, le prix a non seulement baissé mais a carrément disparu pour la majorité des sites. Il existe désormais un certain nombre de services qui offrent des certificats SSL gratuits, y compris la plupart des hébergeurs. Vous pouvez obtenir un certificat SSL WordPress assez facilement et sans trop de tracas.
Comment obtenir un certificat SSL WordPress gratuit
Abonnez-vous à notre chaîne Youtube
Le principal fournisseur de certificats SSL gratuits de nos jours provient d'un service appelé Let's Encrypt.
En utilisant leurs services, vous bénéficiez de tous les avantages d'avoir un certificat SSL sans dépenser un seul centime. Et voici la meilleure partie : la plupart des principaux fournisseurs d'hébergement s'associent à Let's Encrypt pour rendre l'installation d'un certificat SSL totalement indolore.
Vous pouvez obtenir un certificat SSL gratuit auprès de Let's Encrypt de deux manières.
Option 1. Installez votre certificat SSL gratuit à partir de votre compte hôte (pris en charge)
Comme je l'ai mentionné, de nombreux hôtes s'associent à Let's Encrypt pour ajouter des certificats SSL gratuits directement dans les tableaux de bord cPanel de leurs clients ou dans le tableau de bord de l'hôte lui-même. Par exemple, si vous hébergez sur SiteGround (comme moi), vous pouvez installer un certificat SSL en deux secondes environ. Depuis le site de connexion principal, allez dans l'onglet Mes comptes et dans Services supplémentaires . Vous devriez voir une section intitulée Let's Encrypt Certificates , et vous pouvez les gérer et les installer où vous le souhaitez en cliquant sur le bouton Afficher tout .

De plus, vous pouvez cliquer sur le bouton Aller à cPanel et trouver le logo Let's Encrypt sous la rubrique Sécurité . Cela vous amène à la même page que Afficher tout .

À partir de là, vous verrez une liste de tous vos certificats installés. Si c'est votre première fois, vous n'en verrez pas. Vous devriez cependant voir quelque chose comme ceci :

Que vous installiez un Wildcard (pour tous les sous-domaines du parent) ou non, lorsque vous appuyez sur le bouton Installer , votre certificat SSL WordPress est en route.

Le serveur traitera votre nouvelle installation de certificat SSL WordPress. Peasy facile. Tu as presque fini. Nous devons encore le configurer, cependant. Ce qui est ci-dessous dans la section suivante.
Lisez également cette liste complète d'hébergeurs Web qui offrent une assistance directe pour Let's Encrypt. Le processus pour la plupart des hôtes pris en charge doit être similaire à SiteGround. De plus, certains hébergeurs peuvent vous facturer l'utilisation de Let's Encrypt. Honnêtement, c'est une sorte de faux frais, et de nombreux hébergeurs qui facturent les frais suppriment les frais car Google fait de SSL la norme Web. Si le vôtre ne l'offre pas gratuitement, il est peut-être temps d'envisager un autre hôte car il n'a pas votre intérêt à l'esprit.
Option 2. Utilisez « SSL gratuitement » pour configurer manuellement votre certificat Let's Encrypt
Si votre hébergeur ne prend pas en charge Let's Encrypt, vous pouvez toujours obtenir votre certificat SSL gratuit en utilisant un site Web appelé SSL For Free.

Le site vous aidera à configurer les certificats Let's Encrypt. Mais, vous aurez besoin d'accéder aux détails FTP de votre site et éventuellement de l'assistance de votre hébergeur. Bien que cette méthode fonctionne, elle est très pratique et vous devrez peut-être renouveler manuellement votre certificat à son expiration. Pour cette raison, vous devriez essayer de trouver un hôte qui offre une prise en charge directe de Let's Encrypt, car cela simplifie grandement le processus. Si vous ne pouvez pas pour une raison ou une autre, SSL For Free est votre meilleure deuxième option.
De plus, vous pouvez obtenir des certificats SSL gratuits à la fois de Cloudflare et de FreeSSL. Cloudflare propose un certificat SSL partagé sur son forfait gratuit. Si vous utilisez déjà Cloudflare, c'est un excellent moyen de rendre votre site opérationnel avec HTTPS. Ensuite, il y a FreeSSL. Bien qu'il ne soit pas encore accessible au public, il s'agit d'un projet de certificat SSL gratuit de Symantec. Les organisations à but non lucratif ou les startups peuvent obtenir FreeSSL dès maintenant. Sinon, vous pouvez vous inscrire pour être averti lorsqu'il sera rendu public.
Si vous choisissez de suivre cette voie et d'installer manuellement le certificat, Sucuri propose un guide fantastique qui vous guidera pas à pas tout au long du processus d'installation. Gardez à l'esprit, cependant, que l'installation manuelle de SSL vous obligera à utiliser la ligne de commande, à modifier les fichiers WordPress Core et à travailler avec des tâches CRON. Si cela ne ressemble pas à votre idée d'une journée amusante au travail, laissez-moi vous renvoyer à l'option 1 ci-dessus.
Comment configurer votre certificat SSL gratuit avec WordPress
Quelle que soit la manière dont vous choisissez d'obtenir le certificat, une fois qu'il est installé, les utilisateurs pourront afficher une version sécurisée de votre site en se rendant sur https://votresite.com. Mais ce n'est pas parce que votre connexion WordPress HTTPS est active que vous avez terminé. (Mais tu l'es presque.)
Pour configurer correctement WordPress HTTPS pour qu'il fonctionne avec votre certificat SSL, vous devez apporter quelques modifications. Vous pouvez le faire manuellement… ou vous pouvez utiliser un plugin génial qui fait tout pour vous. Il s'appelle Really Simple SSL , et il porte bien son nom.

Le plugin gère l'ensemble du processus. Il suffit de l'installer et de l'activer. Sachez que vous serez naturellement déconnecté de WordPress lorsque vous exécuterez le plugin pour la première fois. C'est parce que le plugin modifie votre URL par défaut de "http://" à "https://". Tout ce que vous avez à faire est de vous reconnecter avec vos identifiants de connexion normaux. Pas besoin de s'alarmer !
Une fois que vous êtes reconnecté, vous verrez que le plugin a déjà effectué les modifications nécessaires. Les options par défaut sont souvent assez bonnes. Vous les trouverez sous Paramètres – SSL .

Et si ceux-ci ne sont pas assez bons et que vous souhaitez en modifier davantage, l'onglet Paramètres est en haut.

L'option qui vous préoccupera probablement le plus est la première : remplacer automatiquement le contenu mixte . La case doit être cochée par défaut. Si non, vérifiez-le. Ensuite, enregistrez la page.
Maintenant, vous êtes prêt à partir. Vous avez installé et activé avec succès WordPress HTTPS et WordPress SSL. Toutes nos félicitations!
Dépannage des erreurs HTTPS/SSL courantes
Ce n'est pas parce que les éléments sont installés et prêts qu'ils fonctionnent correctement. Vous pouvez rencontrer quelques problèmes sur votre site. Les sites WordPress HTTPS sont cependant faciles à dépanner. Passons en revue les solutions à certains des problèmes les plus courants.
À un moment donné, après avoir configuré SSL sur votre site et passé à WordPress HTTPS, vous pourriez finir par voir des images cassées sur votre site. Les images et le contenu qui apparaissaient autrefois parfaitement sur votre site peuvent ne pas s'afficher comme s'ils n'existaient pas. Ne t'inquiète pas. Vous n'avez rien fait de mal. Votre site pense simplement que ces images ne sont pas sécurisées (elles ne le sont pas), vous voulez donc vous assurer que le SSL WordPress est configuré pour afficher un contenu mixte.
Il existe deux types différents de contenu de site Web mixte. L'un est connu sous le nom de contenu actif mixte et résulte lorsque HTTPS charge un script au-dessus de HTTP. C'est un grand non-non, mais ce n'est pas ce qui se passe ici. L'autre type de contenu mixte est appelé contenu d' affichage mixte et se produit lorsque le contenu utilisant une connexion HTTP est chargé sur un site HTTPS. Bien que vous n'ayez peut-être pas chargé activement d'images sur votre site Web à l'aide de HTTP, il y avait quelque chose à l'intérieur de WordPress qui les a fait reconnaître comme telles.
Fondamentalement, quelque chose sur votre site Web n'a pas aimé que vous alliez à HTTPS et force automatiquement HTTP sur eux à la place. Ce qui les rend… eh bien, ça ne les rend pas. Alors corrigeons ça.
Le premier moyen et le plus cohérent de traiter le contenu d'affichage mixte consiste à utiliser le plugin WordPress SSL Insecure Content Fixer.

Chaque fois que vous installez et activez le plugin, votre erreur de contenu mixte peut disparaître immédiatement. Par défaut, le plugin sera défini sur l'ensemble de règles simple dans ses paramètres (sous Paramètres - Contenu SSL non sécurisé dans votre panneau d'administration WP). Vous pouvez ajuster la rigueur des règles qu'il suit, jusqu'à forcer HTTPS sur tous les appels AJAX, mais la plupart du temps, Simple fonctionnera très bien. D'après mon expérience avec ce problème particulier, Simple a fonctionné à chaque fois. Mais votre kilométrage peut varier.


Si vous affichez toujours du contenu mixte
Ouvrez votre site Web, faites un clic droit et sélectionnez Afficher la source de la page ou appuyez sur CTRL/CMD - U . Vous verrez le code source de la page que vous consultez. À ce stade, appuyez sur CTRL/CMD – F et recherchez src="http . Oui, avec une seule citation. Vous êtes bon et pouvez continuer si vous voyez 0.0.
Si vous obtenez des résultats, cela signifie que le site tire d'une source HTTP, et non HTTPS. Pour résoudre ce problème, vous devez creuser dans votre base de données (mais celle-ci est facile et tout le monde peut le faire).

Le plugin Better Search and Replace vous permet essentiellement de travailler dans votre base de données via le panneau d'administration WordPress. Vous n'avez pas à traiter avec SQL ou PHP ou quoi que ce soit d'autre. C'est une page WordPress standard qui fonctionne comme une recherche et un remplacement typique que vous avez probablement utilisé une douzaine de fois dans les traitements de texte.

Nous avons un guide complet du plugin que vous pouvez lire ici, mais la répartition pour corriger votre erreur de contenu mixte WordPress SSL est également assez simple.
- Téléchargez, installez et activez le plugin
- Faire une sauvegarde de votre site
- Accédez à Outils - Meilleure recherche et remplacement dans votre base de données WordPress
- Dans le champ Rechercher , entrez l'URL de votre site Web avec http:// au début
- Dans le champ Remplacer par , entrez l'URL de votre site Web avec https:// à la place
- Mettez en surbrillance chaque table de la base de données avec CTRL/CMD – A
- Assurez-vous que Exécuter en tant qu'essai à sec ? est vérifié. En faisant cela, vous vous assurez que les erreurs ne détruisent pas votre site et peuvent être corrigées à l'avance
- Appuyez sur Exécuter Rechercher/Remplacer
Si tout se passe comme prévu, le test montrera que votre recherche et remplacement sera réussi et vous pouvez l'exécuter pour de vrai.

Rediriger HTTP vers HTTPS
Maintenant, cela aurait dû résoudre vos problèmes de contenu d'affichage mixte. Cependant, vous voulez probablement toujours vous assurer que votre site est aussi HTTPS que possible pour éviter tout autre problème. L'un de ces problèmes survient lorsqu'un site a un lien retour vers la version HTTP de votre site, mais que vous exécutez en fait la nouvelle version HTTPS améliorée. Ils comptent techniquement comme deux sites , et leur ancien lien peut apparaître comme non sécurisé pour certains utilisateurs. L'étape suivante consiste donc à vérifier vos paramètres - Options générales . Assurez-vous que l'adresse de votre site est définie sur HTTPS. Sinon, faites-le et appuyez sur Enregistrer. (Le site vous déconnectera. Ce n'est pas grave.)

Après cela, vous devrez entrer dans votre client FTP et ouvrir votre fichier .htaccess . Il sera situé dans le répertoire racine de votre installation WordPress.

Vous voudrez en télécharger une copie en tant que sauvegarde, puis l'ouvrir dans votre éditeur de code préféré (le mien est Sublime Text). Tout en haut du fichier ( pas entre les balises WordPress # BEGIN/END ), ajoutez le code suivant. (Merci à Dreamhost pour le code lui-même.)
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Cela redirigera vos anciennes URL HTTP vers les versions HTTPS au fur et à mesure du chargement de votre site Web. Notez que dans le code que vous mettez [L, R=301] , il s'agit d'une redirection 301 permanente via le fichier .htaccess . Vous n'aurez pas besoin d'un plugin de redirection 301 si vous faites cela. Au moins pour le domaine primaire.
Maintenant, vous vous souvenez quand j'ai dit qu'ils comptaient comme deux sites ? Cela corrige cela. Vous avez donné au nouveau site WordPress HTTPS tout le jus de liens et le classement de recherche de votre site HTTP. Maintenant, assurez-vous de le garder en disant à Big Daddy G (c'est mon nom d'animal de compagnie pour Google ces jours-ci) que vous avez emménagé dans un endroit plus sûr et plus sécurisé. Maintenant, il est temps de charger la console de recherche Google.
Même si vous avez déjà enregistré la version HTTP de votre site auprès de la console de recherche Google, ajoutez le nouveau site WordPress HTTPS en tant que nouvelle propriété.

La Search Console affichera un modal demandant l' URL complète du site. C'est ici que vous devez vous assurer d'entrer la version HTTPS. Notez que même le modal vous indique qu'il s'agit de propriétés distinctes, juste pour que vous sachiez à quel point cette étape est importante.

Ensuite, vous passerez par le processus de vérification de la propriété comme d'habitude. Lorsque vous aurez terminé, Google saura que vous avez verrouillé votre site des regards indiscrets.

Une fois que vous êtes vérifié auprès de Google et que vous avez configuré la console de recherche avec votre nouvelle propriété, bienvenue sur votre nouveau site WordPress HTTPS. Vous devez être libre et exempt d'erreurs que vous pouvez gérer vous-même.
Erreurs SSL WordPress avec les plugins et les thèmes
Si vous avez encore des erreurs à ce stade, il y a de fortes chances que ce ne soit pas entre vos mains. Soit un plugin actif, soit votre thème est le coupable le plus probable. Pour voir de quoi il s'agit, faites un clic droit sur votre page et sélectionnez Inspecter dans le menu. Vous pouvez également appuyer sur CTRL-SHIFT-I pour ouvrir les outils de développement. Regardez autour de vous jusqu'à ce que vous voyiez l'onglet intitulé Console . S'il y a des erreurs, vous les verrez surlignées en rouge.

En regardant les erreurs, vous pourrez voir de quel type elles sont. S'il y en a qui sont étiquetés comme Contenu mixte , vous pouvez consulter l'URL du fichier fourni pour voir quelle partie de votre installation est responsable. Vous pouvez facilement l'identifier. Ce sera soit votre thème, soit un plugin de la sortie de l'erreur.
Maintenant, puisque vous savez ce qui cause l'erreur. La meilleure chose à faire est de le signaler à l'auteur du plugin ou du thème. Beaucoup ont des forums de support ou des équipes de chat en direct pour cette raison. Je vous recommande de le signaler aux auteurs pour plusieurs raisons.
Le premier étant que déconner dans les fichiers de plugins et de thèmes peut devenir assez désagréable. Surtout si vous n'êtes pas un développeur vous-même. Bien que vous puissiez modifier les fichiers de thème beaucoup plus facilement grâce aux thèmes enfants, vous avez toujours la possibilité de casser quelque chose d'important que vous ignorez peut-être. Et en ce qui concerne les plugins… eh bien, nous ne suggérons jamais de fouiller dans les fichiers de plugins. Cela peut parfois devenir encore plus méchant que les thèmes.
La deuxième raison étant que vous n'êtes pas seul dans ce problème. Tu l'as. D'autres l'ont aussi. C'est comme ça que ces choses fonctionnent. Le développeur doit donc le savoir et fournir un correctif via une mise à jour. Ainsi, non seulement vous vous êtes aidé à résoudre un problème, mais vous avez également contribué au plus grand bien et vous pouvez vous sentir sacrément bien dans votre peau.
Avertissements de certificat non valide
Parfois, un utilisateur peut vous dire que votre site affiche soit un certificat invalide, soit un certificat expiré. Ce n'est pas grave. C'est une solution facile. En général, pour réparer un certificat expiré (ou pour en renouveler un), il vous suffit de suivre les étapes de la section ci-dessus intitulée « Installez votre certificat SSL gratuit à partir de votre compte hôte (pris en charge) ». Dans la plupart des cas, cela fonctionnera. Si ce n'est pas le cas, assurez-vous d' installer le certificat Wildcard car vous pouvez obtenir l'erreur en raison d'un nom de domaine incompatible.

Si cela ne fonctionne pas, contactez votre hébergeur. Comme je l'ai dit plus tôt, je suis personnellement sur SiteGround. Et lorsque j'ai eu ce problème avec mon SSL qui ne se renouvelait pas automatiquement, l'équipe d'assistance l'a résolu en une demi-heure. Cela changera évidemment d'hôte en hôte, mais ils veulent votre site en ligne presque autant que vous.
Erreur "Trop de redirections"
Et juste au cas où la redirection 301 dans votre fichier .htaccess ne le garde pas à distance (ce qui devrait être le cas), vous pourriez parfois obtenir l'erreur où votre site se bloque dans une boucle sans fin entre votre site HTTP et votre site HTTPS. Heureusement, c'est une solution presque aussi simple que le certificat invalide. Il vous suffit d'ouvrir votre client FTP et de trouver votre fichier wp-config.php dans le même dossier que votre .htaccess . Ouvrez également celui-ci dans votre éditeur de code préféré. Ajoutez le code suivant au bas du fichier :
/** Prevent Too Many Redirects Loop **/
define('WP_HOME','https://mywebsite.com');
define('WP_SITEURL','https://mywebsite.com');
$_SERVER['HTTPS'] = 'on';
Enregistrez-le et téléchargez-le à nouveau sur le serveur. Votre site devrait maintenant s'arrêter là où il est censé.
Conclusion avec WordPress HTTPS et SSL
Je sais que c'est beaucoup à prendre en compte. Mais WordPress HTTPS est vraiment important pour la viabilité de votre site à l'avenir. Les utilisateurs vous font davantage confiance. Et peut-être plus important encore, Google vous fera également davantage confiance. Vous êtes maintenant prêt à corriger les erreurs de contenu mixte, à gérer l'expiration et le renouvellement des certificats SSL, à modifier vos fichiers .htaccess et wp-config.php , et même à utiliser la base de données de votre site. À ce stade, vous avez verrouillé votre site. Lorsque quelque chose se brise avec le SSL WordPress, vous pouvez le réparer. Tapotez-vous dans le dos, allez boire un verre et reposez-vous bien en sachant que votre site est sain et sauf.
Quels problèmes WordPress SSL avez-vous rencontrés dans le passé et comment les avez-vous résolus ?
Article présenté en image par supercaps / shutterstock.com
