Partager
Categories
Migration WordPress de HTTP à HTTPS
14 min de lecture

Migration WordPress de HTTP à HTTPS

La migration de WordPress de HTTP à HTTPS peut vous donner beaucoup de maux de tête si vous n’êtes pas sûr de ce que vous faites. Nous sommes passés par ce processus récemment, et avons décidé de vous épargner des problèmes si vous avez l’intention d’implémenter un cryptage SSL sur votre site web prochainement. Voici un guide détaillé sur la manière de passer avec succès du HTTP au HTTPS !

L’étiquetage des sites Web non sécurisés de Google

Ces dernières années, Google a légèrement amélioré les résultats de recherche des sites web utilisant le cryptage HTTPS. Étant donné que la mise en œuvre du protocole SSL est compliquée, qu’elle comporte certains risques et qu’il ne s’agit que d’un des 200 facteurs de classement, de nombreux propriétaires de sites web ont décidé que le jeu n’en valait pas la chandelle. Cependant, Google a récemment annoncé son plan de évolution vers un web plus sûr, et la promotion de la migration de HTTP vers HTTPS de manière plus agressive, ce qui va amener tout le monde à reconsidérer sa décision concernant le cryptage HTTPS.

Chez purpleplanet, la « migration de HTTP à HTTPS » figure depuis un certain temps sur notre liste de tâches, afin d’améliorer notre référencement sur site, mais cette nouvelle de Google a été le dernier coup de pouce dont nous avions besoin pour aller de l’avant. Au cours du processus, nous avons rencontré quelques problèmes. Comme il n’existe pas beaucoup d’articles traitant de la manière de faire passer un site web au HTTPS en toute sécurité et de conserver tous les classements de recherche, j’ai décidé d’écrire sur nos expériences. J’espère que cela aidera certains d’entre vous à effectuer la migration en douceur.

Choix et installation d’un certificat SSL

Lorsque nous avons décidé de passer au protocole HTTPS, la première étape a été de choisir et d’installer un certificat SSL.

Il existe un grand nombre d’options différentes lors du choix d’un certificat SSL, en raison du niveau de validation et de couverture, ainsi que des diverses options de marque.

En fonction du niveau de validation, il existe 3 types de certificats:

  • Certificat de validation de domaine (DV) – Le niveau de validation de base pour les sites web qui ne sont pas des sites de commerce électronique.
  • Certificat de validation d’organisation (OV) – Pour le commerce électronique et les sites web qui collectent des informations personnelles et qui sont des entreprises enregistrées.
  • Certificat de validation étendue (EV) – Ce certificat représente le niveau d’assurance le plus élevé et constitue le meilleur choix pour le commerce électronique et les sites web qui collectent des informations personnelles, lorsque la confiance des utilisateurs est un facteur crucial.

En fonction du niveau de couverture, il existe également 3 types de certificats :

  • Certification pour un seul domaine – Protège un seul domaine, sans aucun sous-domaine.
  • Certification multi-domaine – Le meilleur choix si vous souhaitez protéger plusieurs domaines différents mais que vous ne voulez pas vous embêter à installer un certificat séparé pour chaque domaine.
  • Certification Wildcard – Couvre le cryptage SSL sur plusieurs sous-domaines qui partagent le même domaine principal.

Étant donné que notre site ne traite pas d’informations sensibles et que nous voulions protéger uniquement le domaine principal, nous avons décidé d’opter pour Hostgator’s Positive SSL, qui est une option de base, mais qui reste très sûre. Il protège le site web avec des signatures 2048-bit et un cryptage 256-bit. Le certificat SSL positif couvre un seul domaine, avec ou sans www.

Notre certificat a été émis immédiatement. Cependant, vous devrez peut-être attendre jusqu’à 5 jours si vous achetez un certificat OV ou EV.

Après avoir acheté le certificat et l’avoir installé sur notre serveur web, le vrai travail a commencé pour obtenir un cadenas vert dans la barre d’adresse et préserver tous nos classements dans les moteurs de recherche.

Configuration de WordPress pour l’utilisation de SSL et HTTPS

Désactivez votre CDN et videz le cache de votre site web

Si vous utilisez un réseau de diffusion de contenu (CDN), vous devrez le désactiver temporairement pour éviter de servir un contenu mixte après avoir modifié l’URL de votre site web dans l’interface d’administration de WordPress.

Nous utilisons MAXCDN en combinaison avec le plugin W3 Total Cache, j’ai donc désactivé le CDN et vidé le cache en deux clics.

Configurez votre nouvelle adresse de site web

Tout d’abord, forcez votre administrateur à utiliser le cryptage SSL en vous connectant à votre WordPress avec une adresse SSL, par exemple https://yourwebsite.com/wp-admin/.

  1. Allez dans Réglages « Général.
  2. Mettez à jour les champs Adresse WordPress et Adresse du site.

 

Configurer les redirections 301 de http:// à https://

Nous avons choisi de configurer les redirections dans notre fichier .htaccess. J’ai trouvé plusieurs exemples de code .htaccess, mais voici le code qui a fonctionné pour nous :

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Assurez-vous que votre site web ne sert pas de liens HTTP

C’est la partie la plus difficile, surtout si vous obtenez une erreur HTTPS hideuse dans votre navigateur, qui indique que votre site web n’est pas sécurisé.

 

L’erreur ressemble à la capture d’écran ci-dessus, et si vous cliquez sur le triangle rouge et Details, vous obtiendrez probablement une erreur Mixed Content, ce qui signifie qu’il reste un lien HTTP quelque part dans vos fichiers.

 

Passez en revue toutes les parties de votre site WordPress à la recherche de liens HTTP. Vérifiez vos :

  • HTML sitemap
  • robots.txt
  • Les URL absolues de toutes les pages et de tous les articles
  • Contenu intégré tel que les formulaires d’inscription MailChimp ou les iframes des pages de réseaux sociaux
  • Images
  • Fichiers javascript
  • Fichiers CSS
  • Bibliothèques JavaScript et Ajax personnalisées

Scanner le contenu non sécurisé !

Il existe plusieurs plugins WordPress qui peuvent s’avérer utiles. Si vous décidez d’utiliser un plugin, assurez-vous d’abord de sauvegarder votre base de données. Cependant, j’ai décidé de tout faire manuellement et de détecter les erreurs en utilisant une combinaison de ces outils :

  • Screaming Frog – Il s’agit d’un outil de bureau premium, mais vous pouvez l’utiliser pour vérifier jusqu’à 500 URL gratuitement. Cet outil vous permet de détecter rapidement tous les liens HTTP, la page sur laquelle se trouve le lien et la page vers laquelle il pointe. Il affiche également un texte d’ancrage et des informations sur l’image avec le texte alt.
  • Internal Link Analyzer – Un outil gratuit très pratique. Il vérifie les liens internes et les types d’ancres, ce qui est très utile pour détecter où se trouve le lien que vous recherchez. Le seul inconvénient est que, pour une raison quelconque, après avoir identifié et changé tous les liens absolus en liens relatifs, il m’a donné les mêmes résultats.
  • Vérification SSL – Un outil gratuit limité à 200 pages par site web. Il parcourt un site HTTPS à la recherche de liens internes HTTP dans le contenu textuel, les images, les scripts et les fichiers CSS.

Migration de HTTP à HTTPS et MAXCDN

Après avoir terminé les ajustements de WordPress, si vous utilisez un CDN, vous devez installer un certificat SSL pour le CDN, afin de pouvoir continuer à l’utiliser.

Il était difficile de trouver des instructions sur la configuration de MAXCDN pour utiliser une connexion SSL, j’ai donc dû contacter leur support pour obtenir de l’aide. Vous trouverez ci-dessous des instructions détaillées sur la façon de configurer le SSL dans MAXCDN, pour une licence SSL pour un seul domaine, ainsi que pour la licence wildcard. Si vous utilisez un autre Content Delivery Network, je vous conseille de contacter leur support, avant de perdre trop de temps à essayer de comprendre comment tout configurer correctement.

Créer une nouvelle Pull Zone

  1. Allez dans l’onglet Zones de votre compte MAXCDN.
  2. Cliquez sur le bouton Create Pull Zone. Vous devrez probablement supprimer une zone de pull basée sur HTTP précédemment créée.
  3. Choisissez le nom de votre nouvelle zone de Pull et dans le champ Origin Server URL entrez votre adresse HTTPS. Cliquez sur le bouton Create.

Créer des domaines personnalisés (uniquement si vous avez une certification wildcard)

Si vous avez précédemment utilisé des sous-domaines CDN pour distribuer les requêtes sur plusieurs noms d’hôtes, vous devez les recréer dans le CDN et ajuster les enregistrements CNAME sur votre serveur.

  1. Cliquez sur l’onglet Zones
  2. Cliquez sur le bouton Voir Pull Zones
  3. Dans le menu déroulant Gestion, choisissez Paramètres

Dans Paramètres des domaines personnalisés, ajoutez vos sous-domaines personnalisés et une fois que vous avez fini d’ajouter tous les sous-domaines, mettez à jour les enregistrements CNAME dans les paramètres DNS de votre domaine.

Téléchargement de certificat Wildcard

Si vous avez un certificat Wildcard, vous devez télécharger votre certificat vers le CDN et l’installer dans l’onglet SNI.

  1. Cliquez sur Compte.
  2. Cliquez sur SSL.
  3. Cliquez sur le bouton Nouveau certificat.
  4. Entrez les informations requises dans tous les champs.

Nom – Utilisez un nom descriptif.

Certificat SSL – Ici, vous devez copier et coller votre certificat, ainsi que les lignes Début et Fin du certificat.

Si vous ne savez pas où trouver votre certificat, vous pouvez utiliser l’outil SSL checker tool. Saisissez votre nom d’hôte dans le champ Enter hostname et cliquez sur le bouton Check, faites défiler la page jusqu’à la fin et cliquez sur Show dans le champ Chain Details. À la fin de ce champ, vous trouverez votre certificat.

Clé SSL – Saisissez ici votre clé privée ainsi que les clés de début et de fin de ligne.

Bundle de l’autorité de certification – Il s’agit d’un fichier qui contient votre certificat racine et tous les certificats intermédiaires.

Vous pouvez utiliser un outil appelé Certificate key matcher pour trouver le paquet de l’autorité de certification. Entrez votre certificat et votre clé privée sur le côté gauche, s’ils correspondent, vous obtiendrez votre autorité de certification sur le côté droit.

Après avoir téléchargé avec succès votre certificat sur CDN, vous devez l’installer dans l’onglet SNI.

  1. Cliquez sur l’onglet Zones
  2. Dans le menu déroulant Gestion, cliquez sur SSL
  3. Dans l’onglet SNI « Choisissez le certificat que vous avez précédemment téléchargé
  4. Cliquez sur Installer

Certificat pour un seul domaine

Si votre certificat ne couvre que votre domaine racine, sans aucun sous-domaine, vous pouvez acheter le certificat SSL de CDN, ou utiliser le Shared SSL sur leur serveur gratuitement.

  1. Pour utiliser Shared SSL, cliquez sur l’onglet Zones
  2. Cliquez sur le menu déroulant Gestion et choisissez SSL
  3. Dans l’onglet SSL partagé, cliquez sur le bouton Activer

L’inconvénient de l’utilisation du SSL partagé du CDN est que vous ne pourrez pas avoir vos propres sous-domaines personnalisés pour distribuer les requêtes du serveur sur plusieurs noms d’hôtes.

Mettre à jour l’URL MAXCDN dans WordPress

Comme je l’ai mentionné précédemment, nous utilisons le plugin W3 Total Cache. La dernière étape a consisté à mettre à jour les informations dans l’onglet CDN du plugin, et à activer le CDN dans les réglages généraux.

Migration de HTTP vers HTTPS et Google Search Console

En parcourant différents articles sur la gestion de la migration de HTTP à HTTPS dans la Google Search Console, je suis tombé sur des instructions concernant l’utilisation de l’outil Changement d’adresse. Malheureusement, cet outil ne fonctionne pas pour les migrations de HTTP à HTTPS, vous devez donc sauter cette partie. Il n’est pas possible de modifier le compte Google Search Console existant – vous devez en ouvrir un autre.

Vérifiez votre nouveau compte

Si vous avez utilisé la méthode de vérification HTML file upload auparavant, et que le fichier se trouve toujours dans votre dossier racine, vous n’avez pas besoin de le télécharger à nouveau – choisissez simplement cette méthode et cliquez sur le bouton Vérifier.

Resoumettez votre fichier robots.txt

  1. Dans la section Crawl « cliquez sur robots.txt Tester
  2. Entrez le contenu de votre fichier robots.txt
  3. Cliquez sur le bouton Submit.

Resoumettre les sitemaps XML

  1. Dans la section Crawl « cliquez sur Sitemaps
  2. Cliquez sur le bouton Ajouter/Tester le sitemaps pour ajouter vos sitemaps
  3. Après l’ajout, rafraîchissez la page et soumettez tous les sitemaps à l’index.

Fetch and render

  1. Dans la section Crawl « cliquez sur Fetch as Google
  2. Cliquez sur le bouton Fetch and Render pour récupérer vos URLs
  3. Lorsque le système vous le demande, choisissez l’option Crawl this URL and its direct links
  4. Rafraîchissez la page et Soumettez à l’index votre URL et la page liée.

Fichier disavow

Si vous avez déjà utilisé un fichier de désaveu, vous devez le soumettre à nouveau. Tout d’abord, téléchargez le fichier depuis votre compte HTTP Google Search Console et téléchargez-le à nouveau sur votre nouveau compte HTTPS.

Il en va de même pour les cartes enrichies, le contenu mis en évidence, les sitelinks exclus, etc. – Si vous aviez configuré ces options dans votre ancien compte, vous devrez les configurer à nouveau.

Vous devrez probablement attendre un certain temps avant que tous vos articles, pages et images soient indexés. Vous pouvez suivre la progression dans la section Sitemaps.

Mises à jour de Google Analytics

La mise à jour de votre compte Google Analytics devrait être facile. Vous n’avez pas besoin d’ouvrir un nouveau compte, il vous suffit de passer à HTTPS sur votre compte existant.

  1. Dans votre onglet Admin, cliquez sur Paramètres de propriété
  2. Choisissez HTTPS dans Default URL
  3. Répétez cette opération pour toutes les vues que vous utilisez, dans Paramètres de la vue

Vous devez maintenant relier votre compte Google Analytics au nouveau compte Google Search Console. Pour ce faire, procédez comme suit

  1. Allez au bas de Liaison de produits dans Paramètres de propriété
  2. Cliquez sur Tous les produits
  3. Cliquez sur Editer
  4. Cliquez sur le boutonAjuster le lien choisissez votre compte Google Search Console dans la liste.

Si vous utilisez une ancienne version du code de Google Analytics, il se peut que vous deviez également mettre à jour ce code.

Liens externes et éléments supplémentaires

Il n’est pas nécessaire de mettre à jour tous vos liens externes, car la fluctuation du trafic causée par la perte de liens externes pointant vers votre site web ne sera que temporaire. Cependant, vous devriez mettre à jour les liens externes sur lesquels vous avez le contrôle, en particulier les liens sur vos pages de réseaux sociaux.

C’est à peu près tout ce que nous avons fait pour passer de HTTP à HTTPS avec succès. Voici la liste des éléments supplémentaires que vous pourriez envisager de mettre à jour si vous utilisez ces services :

  • Bing Webmaster Tools
  • Yandex Webmaster Tools
  • Google AdWords URLs
  • Facebook App URL and Ad URLs
  • URL de la campagne RSS de MailChimp
  • URL dans tout autre outil de suivi que Google Analytics

Test SSL

Si vous avez suivi attentivement toutes les instructions relatives à la migration de HTTP vers HTTPS, vous devriez être en mesure de passer le test SSL avec la note A.

Vous pouvez faire votre propre test SSL pour vérifier si votre migration WordPress de HTTP à HTTPS a été réussie, et s’il y a quelque chose que vous pourriez améliorer.