La migration HTTP vers HTTPS sans perdre votre référencement
Si la migration HTTP vers HTTPS va vous permettre d’augmenter votre sécurité – attention elle ne résout pas tous les problèmes de sécurité ! – elle peut aussi être source d’impact majeur sur votre référencement si elle n’est pas conduite correctement.
Bien préparer la migration HTTP vers HTTPS n’est pas garant d’une réussite sans encombre mais cela permet d’entrevoir l’ensemble des points à vérifier et de l’aborder avec un stress moindre… une migration pouvant très vite tourner au cauchemar.
La préparation est donc un atout majeur.
Les outils nécessaires pour la migration que j’utilise sont :
- Screaming Frosh (liens cassés, liste des pages)
- Firebug (vérification des headers)
- Référencement (statut actuel)
- Sem Rush
- Alexa
- Google Analytics
- Google Webmaster & Bing Webmaster
- Monitoring : (de bons outils sous cette URL)
http://www.hongkiat.com/blog/detect-website-change-notification/
Pour les sites plus importants il est souvent nécessaire d’avoir recours à des développements spécifiques ne serait ce que pour effectuer la comparaison entre l’ancien site sous http et le nouveau sous https.
Ci-joint la liste de points à réaliser que j’utilise lors des migrations HTTP vers HTTPS :
1. Utiliser un serveur de test !!
Cette étape est primordiale. Avec un serveur de test vous effectuerez une migration plus sereine car vous aurez eu le temps de gérer tous les cas – c’est le but – sans être dans l’urgence, de vous apercevoir à temps que vous devez encore améliorer la procédure de migration. Une fois migré…c’est nettement plus compliqué et vous pouvez perdre une grande partie de votre référencement.
Lors de la mise en œuvre du serveur de test, n’oubliez pas d’éviter qu’il soit référencé ou vous serez pénalisé pour du contenu dupliqué…
Dans le fichier robot.txt qui se trouve à la racine du site :
User-agent: *
Disallow: /
2. Tracez tout ce que vous faites
Ca paraît stupide, mais vous serez tellement content de pouvoir comparer vos notes de l’environnement de tests avec celles de l’environnement de production.
Utilisez des outils de monitoring tels ceux-ci : http://www.hongkiat.com/blog/detect-website-change-notification/
Votre serveur de test utilise le protocole http
3. Ecrire la procédure
Afin d’être à l’aise le jour J, mieux vaut avoir une liste avec tous les points à mettre en œuvre de la migration – et dans l’ordre 😉 – que de devoir passer du temps sur Google pour rechercher une info.
Si ce guide vous aide à mieux planifier votre migration HTTP vers HTTPS et constitue une très bonne base, il vous faut encore l’adapter au site à migrer.
4. Obtenir toutes les informations sur les serveurs
Le but de cette opération est de se documenter sur les procédures de migration ainsi que de rechercher les problèmes rencontrés par vos prédécesseurs sur le net.
Demandez spécialement les renseignements sur le web server (IIS, Apache, …) ou CDN ainsi que le CMS (WordPress, Joomla, Typo 3, SharePoint, …).
Mieux préparée, la migration HTTP vers HTTPS n’en sera que plus facile = moins de stress
5. Etablir le statut du site
Cette étape est importante, (elle est nécessaire lors de la relation avec un client) : cela vous donne l’état initial, donc l’équivalent de l’état des lieux fait par un huissier. Elle évitera toute contestation après la migration. Un plugin qui ne fonctionnait pas avant a migration fonctionne rarement après…
N’hésitez pas à le faire signer à votre client.
Plusieurs outils/sites tels Google WebMaster, Google Analytics, Sem Rusch, Alexa, … vous seront utiles.
N’oubliez pas les « likes », « count », … en provenance des réseaux sociaux.
Vérifiez par vous-même l’état du site soit en visitant toutes les pages (petits sites) soit par des statistiques d’échantillonnage https://fr.wikipedia.org/wiki/%C3%89chantillon_(statistiques)
Les pages les plus visitées dans Google Search Console et dans Google Analytics, doivent impérativement être sur votre liste.
Créez la liste des plugins / modules / add-ons / formulaires (recherche incluse) utilisés. Pour chacun d’entre eux cherchez au moins une URL où il est exécuté (très utile pour les tests).
Créez la liste de toutes les URLs (via Screaming Frog par exemple). Ceci sera utile lors des tests de redirection.
Obtenez la liste des RSS feeds.
Vérifiez l’état du site sur mobile/natel et tablette.
Obtenez la liste de tous les canaux de campagnes marketing, que ce soit Google AdWords, Facebook Ads, LinkedIn Ad, …
Obtenez la liste de tous les service tierces utilisés que ce soit pour la sécurité (Firewall, Scan anti virus, monitoring), les outils de contrôle qualité (validations mobiles/tablette, plateformes, browsers)
6. Obtenir un certificat et l’installer sur le serveur
La procédure est différente d’un serveur à un autre et d’un hébergeur à un autre.
Généralement tous les fournisseurs vous proposent des certificats.
Let’s Encrypt a l’avantage d’être gratuit mais il requiert un renouvellement plus fréquent.
Sur les hébergements partagés – donc là ou vous n’avez pas la main – vous êtes pieds et poings liés à la société.
Chez SiteGround par exemple, Let’s Encrypt est inclus dans le cPanel et vous permet sans coût additionnel de prolonger le certificat.
Chez certains fournisseurs, ils n’hésitent pas à vous facturer (HostGator réclame $10 pour chaque mise à jour par exemple), notamment sur les hébergements partagés.
Votre serveur de test utilise maintenant le protocole httpS
7. Mettez à jour les références
Recherchez toutes les occurrences (images, vidéos, liens) dans la base de données contenant http et remplacez les par https.
Vous pouvez à cette fin utiliser « Search and Replace DB » pour les sites en php
Utilisez Screaming Frog afin de vérifier que vous n’avez pas oublié de références.
8. Mettez à jour les scripts
Vérifiez que vous n’avez plus aucun script utilisant http. Au besoin modifier les références des scripts afin d’être indépendant du protocole. Recherchez et modifiez les scripts en remplaçant les références au protocole HTTP.
Exemple : http://script.js en //script.js
Si vous avez bien effectuez votre travail de préparation de la migration HTTP vers HTTPS, vous devriez avoir la liste des plugins /modules/add-ons ainsi que les pages sur lesquels ils s’exécutent.
Testez !!
9. Mettez à jour la forme canonique / tags canonique
Normalement cette étape est gérée par le CMS. Certains, tel WordPress MU (Multisites) ont des petites subtilités : ne pas oublier d’aller dans la gestion des sites afin de modifier le protocole utilisé.
Exemple :
Source : https://moz.com/learn/seo/canonicalization
Si vous avez défini votre domaine favori n’oubliez pas de le mettre à jour dans Google Search Console.
Evitez les redirections inutiles !
http://www.example.com vers http://example.com/ puis vers https://example.com … supprimez la redirection intermédiaire.
En savoir plus :
10. Vérifiez que les balises ont été mises à jour lors de la migration en https
Vérifiez avec Firebug – ou autre – que les informations du « Header » (entête) ne contiennent plus de référence au protocole http.
Recherchez la provenance des rebelles et corrigez les.
11. Testez les plugins / modules / add-ons / Formulaires
Passez en revue toutes les pages des plugins. Testez bien ! Si nécessaire avec l’aide d’un utilisateur.
12. Etablir le statut (interne) du site
Passez en revue toutes les pages ou effectuez un échantillonnage.
Utilisez Screaming Frosh afin d’avoir la liste des liens cassés et réparez les / « reroutez les ».
13. Forcez la redirection HTTPS
Elle se fait au niveau du serveur Web (pas dans le CMS puisqu’il est trop tard : vous êtes déjà en HTTPS).
Sur Apache c’est généralement effectué via le fichier .htaccess et plus rarement via des java scripts.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^VotreDomaine\.com [NC]
RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
14. Mettez à jour les anciennes redirections
Elles sont en général dans le fichier .htaccess
15. Testez toutes les anciennes URLs
Grâce à la liste des URLs que vous avez préparé, vous allez maintenant pouvoir vérifier que toutes les pages sont bien redirigées.
16. Vérifiez que votre sitemap vous donne des URLs en httpS
Ce sitemap sera très utile ensuite. Prenez une copie et cherchez /remplacez le nom du domaine de test par le nom du domaine. Vous aurez ainsi un sitemap près à être chargé dans Google WebMaster avant même de migrer.
17. Mettez à jour le fichier robots.txt
Il doit contenir le nouveau sitemap et ne plus avoir de référence au protocole HTTP.
18. Activez HSTS (HTTP Strict Transport Security)
Cela oblige le browser a toujours utiliser le protocole HTTPS. Il a plusieurs avantages : il renforce la sécurité en diminuant les attaques « man in the middle » , évite un aller retour avec le serveur « server-side check » qui vous permet d’optimiser le temps de chargement.
Un très bon article à ce sujet :
https://www.globalsign.fr/fr/blog/qu-est-ce-que-le-hsts-comment-le-mettre-en-uvre/
Pour Apache, utilisez le fichier .htaccess et ajoutez la directive :
Header set Strict-Transport-Security « max-age=31536000 » env=HTTPS
Remarques :
- Les redirections peuvent être alors affichées en 307 et non 301 ou 302.
- Ne pas oublier de vider le cache du browser
19. Si possible activez l‘agrafage OCSP
Si vous avez la main sur le serveur Web et qu’il n’impacte que votre site…
Ce protocole permet de demander directement à une autorité de certification si un certificat TLS donné est toujours valide
Pour en savoir plus :
https://www.octopuce.fr/accelerer-votre-ssl-tls-avec-ocsp-stapling/
20. Si possible activez le support HTTP/2
Si vous avez la main sur le serveur Web et qu’il n’impacte que votre site…
Cette évolution de la norme http permet en particulier une utilisation plus efficace des ressources réseau.
Pour en savoir plus :
https://httpd.apache.org/docs/2.4/fr/howto/http2.html
21. Mettez à jour votre fichier disavow (si vous en avez un)
Si vous aviez déjà des liens entrants que vous désavouez (liens sur des sites pas en rapport avec votre activité par exemple) alors mettez votre fichier à jour.
Pour en savoir plus :
https://support.google.com/webmasters/answer/2648487?hl=fr
22. Contrôlez votre certificat
Un outil bien pratique qui vous donnera les informations, notamment la bonne configuration ou pas de votre certificat SSL :
https://globalsign.ssllabs.com/analyze.html?d=crea3.com
Préparation du serveur de production &
Go Live !
23. Récapitulatif
C’est le moment de récapituler tout ce qui a été fait pour la migration HTTP en HTTPS du serveur de tests et cette fois de passer au serveur de production.
En ayant effectué les modifications sur le serveur de test on n’est plus en terrain inconnu.
Cette fois on reprend les étapes 3 à 22 de la migration HTTP vers HTTPS mais sur le serveur de production.
A partir de l’étape 7 vous êtes en HTTPS !
Les étapes après migration du serveur HTPP en HTTPS
24. Ajoutez la version HTTPS sur tous les moteurs de recherche
Sur Google WebMaster & Bing WebMaster, ajoutez le nouveau sitemap HTTPS que vous avez récemment créé.
Cette étape de la migration HTTP vers HTTPS est primordiale. Sans mise à jour, votre trafic tombera, car les consoles enregistreront encore le trafic http et non httpS.
Remarque : Vous n’avez pas à utiliser l’outil de changement d’adresse pour migrer de HTTP à HTTPS.
25. Mise à jour des paramètres d’URL
Si vous aviez configuré les paramètres d’URL dans Google Console, n’oubliez pas d’aller mettre à jour le protocole.
Pour en savoir plus :
https://support.google.com/webmasters/answer/6080550?hl=en
26. Mettez à jour Google Analytics
Mettez à jour l’URL par défaut afin de vous assurer que le trafic tracé sera sur le protocole HTTPS. Ajoutez une note afin de vous souvenir de la date de migration.
Pour en savoir plus :
27. Mettez à jour Google Data Highlighter
Dans Google WebMaster Tool mettez à jour l’URL par défaut. Ceci permettra de maintenir l’indexation de contenu riche.
Pour en savoir plus :
https://www.google.com/webmasters/tools/data-highlighter
28. Mettez à jour les réseaux sociaux
N’oubliez pas que pour les réseaux sociaux ce sont 2 URL différentes donc 2 sites différents.
Vous devez donc impérativement mettre à jour les URL par défaut afin de vous assurer que les réseaux sociaux utiliseront bien la bonne URL.
La migration HTTP vers HTTPS se fait rarement sans heurte : les réseaux sociaux n’ont pas tous encore de techniques permettant de simplement modifier le protocole.
Bien souvent, les compteurs sont remis à zéro !
Il existe quelques astuces mais…
Pour en savoir plus :
https://searchenginewatch.com/sew/how-to/2172926/maintain-social-shares-site-migration
https://searchenginewatch.com/sew/how-to/2172926/maintain-social-shares-site-migration
29. Mettez à jour vos campagnes marketing
Sur les différents canaux Google AdWords, Facebook Ads, LinkedIn Ad, … mettez à jour l’URL par défaut.
30. Mettez à jour tous les sites tierces fournisseurs de service
Mettez à jour l’URL par défaut des sites tierces pour la sécurité (Firewall, scan &monitoring ), A/B testing, heatmaps, traçage de mots clés, …
31. Mettez à jour les informations sur vos autres canaux
Que ce soit les signatures d’emails, les newsletters, les cartes de visite, les affiches, etc, n’oubliez pas de les mettre à jour.
32. Etablir un bilan de contrôle
Il s’agit d’établir à nouveau le statut du site, mais cette fois après-migration HTTP vers HTTPS. Ce rapport sera rendu au client.
33. Contrôlez les erreurs dans Google WebMaster Tool
Sur une période de plusieurs jours, contrôlez que la migration http vers https s’est bien déroulée en recherchant avant tout les erreurs 404 (Page non trouvée).
Voilà ! C’était pas si compliqué. Non ? ;.)
Laisser un commentaire