WordPress SSL : voici ce que vous devez savoir à ce sujet
Publié: 2020-05-27
Si votre entreprise a une présence en ligne, et peu importe le nombre de stratégies de référencement que vous appliquez, vous ne pourriez pas sembler obtenir de bons classements dans les moteurs de recherche, ou les visiteurs rebondissent simplement sur votre site Web.
Vous décidez d'auditer votre site web et découvrez la douloureuse vérité : aucun certificat SSL n'est installé sur votre site web ! En d'autres termes, la sécurité de votre site Web semble peu fiable non seulement pour les moteurs de recherche mais aussi pour les visiteurs.
Dans cet article, vous apprendrez ce qu'est SSL et pourquoi c'est important ? Quels sont les avantages du certificat SSL et comment fonctionne-t-il ? Quel type de certificats SSL WordPress existe et lequel est le plus adapté à votre site Web ?
Ce ne sont là que quelques-unes des questions que vous devez savoir avant d'installer WordPress SSL.
- Qu'est-ce que SSL et pourquoi est-ce important ?
- Comment fonctionne un certificat SSL ?
- Certificats SSL : validation et types
- Avantages de l'utilisation de certificats SSL
- Let's Encrypt : Certificats SSL/TLS gratuits
- Installer des certificats SSL gratuits sur WordPress
- Installer des certificats SSL payants sur WordPress
- Qu'est-ce que le HSTS et pourquoi devriez-vous l'utiliser ?
- Certificats SSL sur Cloudflare (facultatif)
- Effacer le cache du site Web, de l'hébergement et du navigateur
- Vérifiez que les certificats SSL fonctionnent correctement
- Identifier et corriger l'avertissement concernant le contenu du mix
- Configurer HTTPS pour la console de recherche Google
Qu'est-ce que SSL et pourquoi est-ce important ?
Secure Sockets Layer (SSL) est la norme pour la communication cryptée entre les serveurs et les navigateurs. Un navigateur reçoit et interprète ce certificat et vérifie son authenticité. Une fois la vérification effectuée, toutes les données envoyées via la connexion sécurisée sont cryptées. Un navigateur affiche l'existence de cette connexion avec une icône de cadenas fermé et ajoute https avant l'adresse du site.

Hypertext Transfer Protocol Secure (HTTPS) est une combinaison de deux protocoles : HTTP et SSL. HTTP est un tunnel qui transmet les données et SSL est un protocole de sécurité qui crypte les données dans le tunnel. En conséquence, l'accès non autorisé à la lecture, la copie ou le décryptage de la communication entre le serveur et le client est (presque) impossible. Un certificat SSL typique comprend :
- Un nom de domaine et une clé publique
- Informations de validité et numéro de série
- Signature d'une autorité de certification
Les certificats SSL ont une validité temporaire (généralement jusqu'à 90 jours), ils doivent donc être renouvelés périodiquement pour garantir la fiabilité continue de votre site Web. Ces certificats sont une exigence obligatoire pour tous les sites Web qui traitent des données personnelles et des informations financières sensibles.
L'initiative de Google pour donner aux sites Web sécurisés SSL un meilleur classement SERP indique également l'importance d'installer des certificats SSL. Depuis 2014, les certificats SSL sont devenus un composant incontournable pour tous les sites Web. Le graphique suivant montre la croissance massive du pourcentage de pages chargées sur des sites Web certifiés SSL.

Matt Mullenweg, le co-fondateur de WordPress a dit un jour : « Nous ne ferons la promotion que des partenaires d'hébergement qui fournissent un certificat SSL par défaut dans leurs comptes. ” En outre, vous pouvez également voir une mention spéciale de la prise en charge de HTTPs pour les exigences d'hébergement.
Comment fonctionne un certificat SSL ?
Le protocole SSL est une construction à quatre couches (enregistrement SSL, poignée de main, spécification de changement de chiffrement et protocole d'alerte) qui crypte en toute sécurité les données entre un serveur et un navigateur. Ces couches permettent l'utilisation d'une clé de chiffrement/déchiffrement et un modèle d'authentification basé sur l'utilisation d'une clé publique et d'une clé privée.

Dans ce modèle, la clé publique crypte les données, tandis que la clé privée est utilisée pour décrypter. Cela se produit au niveau de la couche Handshake du protocole SSL où des clés cryptographiques asymétriques pour le cryptage et le décryptage des données sont échangées.
Certificats SSL : validation et types
Les certificats SSL se déclinent généralement en trois niveaux de validation :
1. Validation de domaine (DV)
L'Autorité de Certification vérifie le droit du demandeur à utiliser un nom de domaine spécifique. L'identité de la société derrière le domaine n'est pas inspectée. Les informations sont affichées lorsqu'un utilisateur clique sur le cadenas du site sécurisé. Comme vous pouvez le deviner, il s'agit d'un niveau assez basique de validation SSL.
2. Validation de l'organisation (VO)
L'Autorité de Certification vérifie le droit du demandeur à utiliser un nom de domaine spécifique et la validité de l'organisation derrière le domaine.
La validation d'organisation (OV) est plus complexe, mais elle garantit la légitimité du domaine et identifie les propriétaires de l'entreprise, offrant ainsi plus de confiance aux visiteurs. Il est généralement utilisé par les entreprises de commerce électronique et les sites Web d'entreprise.
3. Validation étendue (EV)
L'Autorité de Certification vérifie le droit du demandeur à utiliser un nom de domaine spécifique et soumet l'organisation à une inspection détaillée. Le processus d'émission de certificats avec Extended Validation (EV) est défini en détail dans les directives du CA/Browser Forum.
La validation étendue (EV) est le plus haut niveau de validation de certificat SSL et nécessite la présentation de documents et d'autorisations légales pour vérifier l'existence de l'entreprise. Avec EV, les utilisateurs voient un sceau de site sécurisé dans la barre d'adresse du navigateur.
En plus de la validation, les certificats SSL sont également disponibles dans plusieurs configurations applicatives :
1. Domaine unique
Si vous souhaitez uniquement protéger un domaine, un certificat de domaine unique est votre meilleure option. Ces certificats ne s'appliquent qu'à un domaine de premier niveau (par exemple, website.com) . Ce type de certificat SSL est disponible avec tous les niveaux de validation.
2. Multi-domaine
Ce type de certificat certifie plusieurs domaines (par exemple, website.com , website.com.uk) avec un seul certificat SSL. Notez qu'en fonction de l'autorité de certification, le nombre de domaines protégés peut varier. Les certificats SSL multi-domaines sont disponibles avec tous les niveaux de validation sauf EV.
3. Caractère générique
Ils sont utilisés pour des domaines uniques qui ont plusieurs sous-domaines. L'autorité de certification émettant le certificat SSL générique a le droit de limiter le nombre de sous-domaines protégés. Ce type de certificat SSL est disponible avec tous les niveaux de validation sauf EV.
4. Caractère générique multi-domaine
Ces certificats sont une combinaison de certificats multi-domaines et génériques. Vous pouvez utiliser ces certificats pour protéger un certain nombre de domaines de premier niveau ainsi que les sous-domaines. Encore une fois, la limite peut varier en fonction de l'autorité de certification. Ce type de certificat SSL est disponible à tous les niveaux de validation sauf EV.
Avantages de l'utilisation des certificats SSL WordPress
À ce stade, vous avez déjà pu connaître l'importance des certificats SSL. Il est maintenant temps de connaître les avantages des certificats SSL.
- Confiance : avec un certificat SSL, les visiteurs savent que leur connexion au site Web est cryptée, améliorant ainsi la confiance et la crédibilité.
- Légitimité : Parce qu'il est clair que toute activité se déroule sur un site internet connu et correctement sécurisé.
- Sécurité : Les visiteurs savent que les informations sont cryptées, les données seront donc protégées contre tout type d'accès ou d'attaque non autorisé par des tiers.
- Classement : Google privilégie les pages Web qui ont SSL et HTTPS dans l'adresse.
Les certificats SSL sont particulièrement recommandés pour les entreprises, en particulier les boutiques en ligne qui travaillent avec les données personnelles des utilisateurs.
Let's Encrypt : Certificats SSL/TLS gratuits
Let's Encrypt est une autorité de certification (CA) gratuite et automatisée qui fournit des certificats à validation de domaine (DV) gratuitement avec une période de validité de 90 jours. Ce service est fourni par Internet Security Research Group (ISRG). Quiconque possède un domaine et un hébergement peut ajouter des certificats SSL Let's Encrypt à WordPress sans aucun frais.
Le temps d'activation d'un certificat peut également dépendre de la disponibilité des ressources de Let's Encrypt et d'une série de limitations de l'autorité de certification elle-même. Ces limites comprennent :
- Certificats par domaine enregistré (50 par semaine)
- Noms par certificat (jusqu'à 100)
- Sous-domaines uniques (jusqu'à 5 000 par semaine)
- Certificats en double (5 par semaine)
Pour vérifier les détails de ces limitations, veuillez vous référer aux Limites de débit de Let's Encrypt. J'utiliserai également les certificats SSL de Let's Encrypt pour démontrer des idées pratiques à partir de maintenant.
Avant de passer à la section suivante, je vous recommande de sauvegarder votre site Web WordPress, afin que vous puissiez toujours le restaurer au cas où les choses tourneraient mal. Vous pouvez effectuer des sauvegardes de deux manières : via un plugin de sauvegarde WordPress ou des sauvegardes côté serveur. Alternativement, vous pouvez créer un environnement de développement WordPress ou cloner l'intégralité de votre site Web pour le tester.
Installer des certificats SSL gratuits sur WordPress
J'utilise la plate-forme Cloudways pour cet article et suppose que vous avez déjà créé un compte, lancé un serveur avec une application WordPress et l'avez pointé vers votre domaine. Sinon, voici comment vous pouvez lancer votre serveur avec WordPress.
À l'étape suivante, accédez à Applications dans la barre de menus en haut à gauche. Vous pouvez voir votre application WordPress installée sur votre serveur. Cliquez sur votre application pour accéder au tableau de bord de gestion des applications .

Ajouter un seul domaine WordPress SSL sur votre site
Avant d'installer WordPress SSL, assurez-vous que votre domaine est en ligne avec une propagation DNS complète. Sinon, vous ne pourrez pas installer les certificats SSL.
À l'étape suivante, entrez votre nom de domaine et la même adresse e-mail que vous avez utilisée pour créer le compte Cloudways. Maintenant, cliquez sur Installer le certificat .

Ajoutez le SSL WordPress à plusieurs domaines sur votre site
Pour installer le certificat SSL de Let's Encrypt WordPress sur plusieurs domaines, cliquez sur Ajouter un domaine et entrez les noms de domaine associés à votre site Web WordPress. Une fois terminé, cliquez sur Installer le certificat .

Ajouter un certificat SSL Wildcard pour les sous-domaines
Il vous suffit de cocher la case Appliquer le caractère générique . Il faudra quelques instants pour vous fournir l'enregistrement CNAME qui doit être ajouté au registraire de domaine.

Connectez-vous à votre registraire de domaine et ajoutez un enregistrement CNAME avec des informations similaires :
- Tapez : CNAME
- Hôte : _acme-challenge
- Valeur : [URL de votre site Web]
Une fois cela fait, revenez à la section Certificat SSL et cliquez sur Vérifier le DNS . Il validera les paramètres et vous en informera en conséquence. À l'étape suivante, cliquez sur Installer le certificat pour installer WordPress SSL sur votre site.
Renouvellement automatique du certificat SSL de Let's Encrypt WordPress
La plate-forme Cloudways gère le processus de renouvellement automatiquement si vous définissez l'option de renouvellement automatique sur Activer . Vous pouvez également le renouveler à tout moment en cliquant sur le bouton Renouveler maintenant .

Vous pouvez également utiliser un service de surveillance SSL qui garantit que tous les certificats SSL sont valides et que vos clients ne reçoivent pas d'avertissements de sécurité.
Installer des certificats SSL WordPress payants
Pour les certificats SSL payants, vous devez d'abord activer la demande de signature de certificat (CSR) sur votre application WordPress.
Allez dans la section Certificat SSL , sélectionnez « Je n'ai pas de certificat » dans le menu déroulant, puis cliquez sur Créer un CSR .

Si vous souhaitez utiliser un seul certificat SSL WordPress sur plusieurs domaines, cochez la case où il est indiqué SAN et ajoutez les noms de domaine dans le formulaire.


Une fois le formulaire soumis, le CSR sera généré. À l'étape suivante, cliquez sur le bouton Télécharger CSR pour télécharger le fichier CSR.

Soumettez le fichier CSR téléchargé à votre fournisseur de certificat SSL WordPress pour générer un certificat SSL en fonction de vos besoins.
Le fournisseur de certificat SSL vous fournira deux fichiers : [votredomaine].crt (code de certificat) et [votredomaine].ca (fichier de chaîne). Cliquez sur Installer le certificat et vous verrez une fenêtre contextuelle vous demandant le code du certificat et la chaîne CA . Soumettez ces informations dans leurs champs respectifs.

Une fois que vous avez soumis ces informations, cliquez sur Soumettre et vous êtes prêt à partir. Le SSL devrait maintenant fonctionner pour votre site WordPress.
Qu'est-ce que le HSTS et pourquoi devriez-vous l'utiliser ?
HTTP Strict Transport Security (HSTS) est une directive de serveur Web qui indique à un navigateur Web et à des agents utilisateurs comment gérer la connexion avec votre site Web. Il envoie un en-tête de réponse avec des instructions au tout début.
Parfois, HTTPS ne suffit pas, car l'attaquant trouvera toujours un moyen d'atteindre votre site Web via http://. HSTS oblige les navigateurs à utiliser HTTPS s'il est disponible. La configuration de HSTS pour les certificats SSL WordPress est assez simple. Si vous hébergez sur un serveur Apache, ajoutez les lignes suivantes au fichier .htaccess.
# Utilisez HSTS pour forcer les clients à utiliser uniquement des connexions sécurisées En-tête toujours défini Strict-Transport-Security "max-age=300; includeSubDomains; preload"
Avant d'ajouter HSTS à votre site WordPress, assurez-vous de lire les conditions préalables suivantes :
- Le site Web doit avoir un certificat SSL valide installé.
- Redirigez TOUS les liens HTTP vers HTTPS avec une redirection permanente 301.
- Assurez-vous que tous les sous-domaines sont couverts dans votre certificat SSL. (Considérez un certificat Wildcard)
Certificats SSL WordPress sur Cloudflare (facultatif)
Si vous utilisez Cloudflare d'une manière ou d'une autre, vous devez suivre quelques étapes supplémentaires. Tout d'abord, désactivez Cloudflare, sinon le processus de configuration pourrait échouer.
Étape 1
Connectez-vous à votre tableau de bord Cloudflare et sous l'onglet DNS, désactivez les options www et [votredomaine].com à l'aide de l'interrupteur à bascule. S'il est gris, cela signifie que le service est désactivé.

Étape 2
Maintenant, allez dans la section Plate-forme Cloudways → Gestion du serveur → Paramètres et packages , dans l'onglet Avancé , et sous Module WAF, choisissez Cloudflare , puis cliquez sur le bouton Enregistrer les modifications .

Étape 3
Revenez au tableau de bord Cloudflare et activez les options que vous avez désactivées à l' étape 1 . Cliquez sur l'onglet SSL/TLS en haut et réglez le mode de cryptage SSL/TLS sur Flexible . Cela peut prendre jusqu'à 24 heures pour que Cloudflare active le certificat. Cependant, si vous avez déjà utilisé le même domaine auparavant, il sera activé instantanément.

Une fois le certificat activé, basculez-le sur Complet (strict) .
Effacer le cache du site Web, de l'hébergement et du navigateur
Maintenant, il est temps de vérifier si le certificat SSL gratuit de WordPress a été installé. Avant de continuer, purgez le cache du site Web ainsi que la mise en cache côté serveur comme Varnish en accédant à Cloudways Platform → Server Management → Manage Services .

Vérifiez que les certificats SSL fonctionnent correctement
Je suppose que vous avez installé le certificat SSL de Let's Encrypt WordPress pour votre site Web et que vous avez tout configuré correctement. Maintenant, il est temps de tester le certificat SSL. Visitez votre site Web et vérifiez l'icône qui s'affiche.

Si vous voyez la deuxième icône, cela signifie que le certificat SSL fonctionne correctement. Si vous voyez la troisième icône, cela signifie que le site Web utilise un certificat SSL, mais certains éléments de la page n'utilisent pas HTTPS, un phénomène connu sous le nom de contenu mixte.
SSL Labs propose un excellent outil de vérification SSL où vous entrez simplement votre nom de domaine, et il analysera et donnera un rapport comme ci-dessous.

De nombreux utilisateurs de Cloudflare signalent des problèmes lorsqu'ils tentent d'importer un certificat SSL gratuit de Let's Encrypt WordPress dans leur domaine sur un compte gratuit Cloudflare. La configuration ci-dessus devrait fonctionner, mais si ce n'est pas le cas, essayez les étapes suivantes :
- Connectez-vous à Cloudflare et sélectionnez le domaine avec lequel vous souhaitez travailler.
- Sélectionnez SSL/TLS dans l'option de menu du haut
- Changez le mode de cryptage SSL/TLS en Flexible
- Réglez Toujours utiliser HTTPS sur Activé
- Dans la section HSTS, Activer HSTS
- Réglez Max-Age à 3 mois
- Inclure les sous-domaines : désactivé (modifiez à votre guise - lisez ci-dessus)
- Préchargement : désactivé
- Définissez la version minimale de TLS sur TLS 1.2
- Opportuniste Cryptage: Le
- Définir TLS 1.3 : Activé
- Automatique réécritures HTTPS: On (pour activer la redirection)
- Désactivez Universal SSL (lire à nouveau ci-dessus). En faisant cela, vous n'utilisez plus de certificats SSL Cloudflare et n'utilisez que les certificats fournis par votre serveur.
Le processus ci-dessus a été contribué par Gary Stevens de Hosting Canada – Web Hosting Reviews .
Changer les URL de HTTP en HTTPS
Accédez à votre tableau de bord WordPress → Paramètres → Général → avant l' adresse WordPress (URL) et l' adresse du site (URL) → entrez https au lieu de http → et cliquez sur Enregistrer les modifications en bas de la page. Cela remplacera toutes les URL internes vers https:// .

Forcer SSL pour la page de connexion WordPress
En modifiant les URL dans le tableau de bord WordPress, toutes les URL du site Web doivent également être modifiées. Si ce n'est pas le cas, vous pouvez forcer SSL pour la zone de connexion WordPress en configurant SSL dans le fichier wp-config.php.
Dans le fichier wp-config.php, ajoutez la ligne suivante à l'endroit où il est écrit « C'est tout, arrêtez d'éditer ! "
define('FORCE_SSL_ADMIN', vrai);La ligne ci-dessus forcera SSL pour les pages de connexion WordPress (l'URL est généralement : wp-admin/wp-login.php)
Rediriger HTTP vers HTTPS via le fichier .htaccess
Si quelqu'un visite votre site Web avec HTTP, le serveur n'est pas obligé de servir via HTTPS. Dans l'étape suivante, j'ajouterai une règle au fichier .htaccess pour rediriger tout le trafic de HTTP vers HTTPS. Avant d'apporter des modifications, veuillez sauvegarder le fichier .htaccess dans un emplacement hors site, car un seul point peut affecter votre WordPress.
Connectez-vous à votre hébergement WordPress → accédez au répertoire racine de WordPress → ouvrez le fichier .htaccess avec n'importe quel éditeur → collez les lignes suivantes au début du fichier .htaccess.
Moteur de réécriture activé
RewriteCond %{http:X-Forwarded-Proto} !HTTPS
Règle de réécriture ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]Le fichier .htaccess devrait ressembler à quelque chose comme :
Moteur de réécriture activé
RewriteCond %{http:X-Forwarded-Proto} !HTTPS
Règle de réécriture ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
# COMMENCER WordPress
<IfModule mod_rewrite.c>
Moteur de réécriture activé
Base de réécriture /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# FIN WordPressMettre à jour les URL CDN vers HTTPS
Si vous utilisez un CDN WordPress, mettez à jour les URL WordPress vers https:// (comme je l'ai expliqué dans la section Cloudflare ci-dessus).
Avertissement de contenu de mélange
Visitez votre site Web et vérifiez que tous les liens internes ont été déplacés vers https://. Si vous voyez toujours une icône d'information sur certaines de vos pages Web, une ou plusieurs URL sont diffusées via HTTP. Vous devez identifier ces URL.
Identifier les URL d'avertissement de contenu de mixage
Pour illustrer le scénario Mix Content, j'ai ajouté une image à un article et changé l'URL en HTTP en accédant à l'éditeur de texte d'un article. Ensuite, j'ai visité le message et ouvert la console du développeur (élément d'inspection). Cliquez sur l'icône d'erreur et entrez « mixer » dans la barre de recherche. Cela vous montrera toutes les URL qui servent via HTTP et doivent être mises à jour vers HTTPS.

Dans mon cas, il ne s'agit que de l'URL de l'image. Cependant, il est possible que quelques images, feuilles de style ou scripts externes d'un domaine sans certificat SSL WordPress soient utilisés sur votre site Web. Vous devez les déplacer manuellement vers https://. Alternativement, vous pouvez les supprimer ou déplacer ces fichiers sur votre serveur.
Les URL non SSL de JitBit sont un excellent outil en ligne qui explore et vérifie les liens non SSL sur un site Web. J'ai scanné mon site Web de test et la capture d'écran suivante affiche les URL qui étaient servies via HTTP.

Il existe plusieurs façons de résoudre les problèmes d'avertissement de contenu mixte. Discutons de quelques-uns d'entre eux :
Méthode 1 : Utilisation du plugin d'URL de mise à jour Velvet Blues
Il existe un plugin utile Velvet Blues Update URLs qui vérifie toutes les URL et les met à jour en conséquence. Après avoir installé le plugin, accédez à Tableau de bord WordPress → Outils → Mettre à jour les URL → configurez le plugin comme ci-dessous → puis cliquez sur Mettre à jour les URL maintenant .

Méthode 2: Utilisation du plugin Better Search Replace
Better Search Replace est un autre excellent plugin qui remplace les URL HTTP en HTTPS dans la base de données. Après avoir installé le plugin, allez dans WordPress Dashboard → Tools → Better Search Replace → configurez le plugin comme ci-dessous → puis cliquez sur Run Search/Replace .

Méthode 3: Utilisation d'un plugin SSL vraiment simple
Le moyen le plus simple de configurer le HTTPS gratuit est d'utiliser le plugin SSL Really Simple. Après avoir installé le plugin, accédez à WordPress Dashboard → Settings → SSL . Si tout est fait correctement, vous verrez quelque chose comme ci-dessous et s'il y a quelque chose de mal configuré, vous verrez une croix rouge avec les instructions pour corriger cet avertissement.

Really Simple SSL remplace les URL lors du chargement de la page. Cela peut avoir un léger impact sur les performances et si vous utilisez un plugin de cache WordPress, l'impact sera uniquement sur le premier chargement.
Configurer HTTPS pour la console de recherche Google
Pour suivre les liens HTTPS dans la Search Console, accédez au Tableau de bord Google Analytics → Admin → choisissez la propriété requise et cliquez sur Paramètres de la propriété → modifiez l' URL par défaut de http:// à https:// → et cliquez sur Enregistrer à la fin de la page.

Vous avez terminé avec la façon d'obtenir un certificat SSL gratuit pour WordPress. N'oubliez pas de changer toutes les URL prédéfinies de HTTP à HTTPS car elles seront suivies via Google Analytics.
Emballer!
Si vous êtes arrivé ici, vous pouvez maintenant imaginer l'importance de WordPress SSL et comment vous pouvez l'installer dans votre WordPress. Si vous ne l'utilisez pas, vous perdrez des clients potentiels, les visiteurs abandonneront votre site Web parce qu'ils ne se sentent pas en sécurité et, surtout, vous perdrez votre classement dans les moteurs de recherche.
Cette dernière question est particulièrement grave dans le cas de Google. Celui-ci est responsable de pénaliser les pages sans certificat SSL. Sans oublier la possibilité d'ouvrir vos portes au phishing et au vol de données. Si vous avez des questions, n'hésitez pas à les poser dans la section commentaires ci-dessous.
