Guide pour migrer http vers https

Publié le 04 octobre 2017 par Rhw @RevueHW

Guide complet – Comment migrer de HTTP vers HTTPS ?

Avec les avantages de performance que vous obtenez maintenant de HTTP/2 sans parler des avantages de sécurité et de SEO supplémentaires, c’est le moment idéal pour penser à déplacer votre site vers HTTPS. Suivez le guide ci-dessous pour vous aider à migrer votre site de HTTP vers HTTPS.

Pourquoi devriez-vous rediriger HTTP vers HTTPS?

Comme vous le savez, Google met tout en œuvre pour faire de la HTTPS partout et pour que le web soit plus sécurisé. Puisque la sécurité est toujours importante, il existe plusieurs raisons pour lesquelles vous pourriez envisager de passer de http vers https.

1. Performance et HTTP/2

Les réseaux de distribution de contenu et les fournisseurs d’hébergement Web commencent à déployer HTTP/2. Dans une session à Velocity, Load Impact et Mozilla ont signalé que les utilisateurs d’Internet peuvent s’attendre à ce que les sites Web soient optimisés et livrés sur HTTP/2 pour être plus performants de 50 à 70% par rapport aux sites sur HTTP/1.1. Afin de profiter de ces avantages de performance du HTTP/2, vous devez exécuter HTTPS vu le support des navigateurs.

2. SEO et classements

En 2014, Matt Cutts a annoncé que HTTPS est maintenant un signal de classement léger et que, au fil du temps, Google pourrait renforcer ce signal. Alors, l’exécution de HTTPS peut vous aider à bénéficier de votre classement SEO.

Reading « HTTPS as a ranking signal »: http://t.co/nEjcGhm8bJ

— Matt Cutts (@mattcutts) August 7, 2014


Selon les dernières données de BuiltWith, environ 6,3% des 100 000 meilleurs sites Internet utilisent SSL par défaut, contre 4,3% en novembre 2014.

3. Meilleures données de référence

Une troisième raison pour laquelle il est bon de migrer est que les données de référence de HTTPS à HTTP sont bloquées dans Google Analytics.

Donc, par exemple, disons que votre site Web est toujours sur HTTP et qu’il est devenu viral sur Reddit et YCombinator. Puisque Ces deux sites sont en cours d’exécution sur HTTPS, les données de référence sont complètement perdues et le trafic de ces deux sites pourrait se retrouver sous le trafic direct, ce qui n’est pas très utile. Par contre, si un utilisateur va de HTTPS à HTTPS, le référent est encore passé.

4. Plus de sécurité

Une quatrième raison pour laquelle il est important d’opter pour HTTPS est évidemment à cause de la sécurité. Pour les sites e-commerce, ils ont besoin d’un certificat SSL car ils vont traiter des données sensibles sur la carte de crédit. Pour d’autres sites, la meilleure raison pour cela est la page de connexion WordPress. Dans ce cas, si vous n’utilisez pas une connexion HTTPS, votre identifiant et votre mot de passe circulent en clair sur Internet. Vous pouvez voir un exemple sur la façon de renifler et de capturer les connexions WordPress sur des connexions non sécurisées via des outils gratuits.

Beaucoup de gens diront que les blogs et les sites d’information n’ont pas besoin d’être exécutés sur HTTPS, mais à quel point vos identifiants de connexion sont-ils importants ?

5. SSL crée Confiance et Crédibilité

Une cinquième raison pour laquelle SSL est important est due à la confiance et à la crédibilité avec vos visiteurs. Selon un sondage européen de GlobalSign, 77% des visiteurs de site Web sont préoccupés par le fait que leurs données sont interceptées ou mal utilisées en ligne. En ajoutant un certificat SSL et en montrant le cadenas vert, cela ajoute instantanément de la crédibilité à votre site et c’est ce qu’on appelle « confiance SSL ». Toutefois, il est important de faire connaître aux visiteurs que votre site est en sécurité et que leurs informations seront protégées.

Suivez les étapes ci-dessous pour rediriger votre site de HTTP vers HTTPS. Certaines d’entre elles utilisent WordPress et KeyCDN comme exemples.

Etapes de migration de HTTP à HTTPS :

  • 1. Achat d’un certificat SSL ou utilisation d’une autorité de certification (Let’s Encrypt)
  • 2. Installation de votre certificat SSL
  • 3. Mettre à jour tous les liens codés vers HTTPS
  • 4. Mettre à jour les JavaScript personnalisées, les bibliothèques AJAX vers HTTPS
  • 5. Ajouter 301 Redirections vers les nouveaux URLs HTTPS
  • 6. Mettre à jour votre fichier robots.txt
  • 7. Installer le certificat SSL sur CDN
  • 8. Mettre à jour l’URL original sur CDN
  • 9. Activer le support HTTP/2 sur CDN
  • 10. Mettre à jour tous les liens CDN codés vers HTTPS
  • 11. SEO: Google Search Console, Sitemaps, Exploration
  • 12. SEO: renvoyer votre fichier de désaveu
  • 13. Mettre à jour l’URL de votre profil Google Analytics
  • 14. Mises à jour diverses


1. Achat d’un certificat SSL ou utilisation d’une autorité de certification (Let’s Encrypt)

Pour commencer, vous aurez besoin d’un certificat SSL. Les certificats SSL sont de petits fichiers de données qui relient une clé aux détails d’une organisation spécifique. Lorsqu’il est installé, il active le protocole HTTPS permettant des connexions sécurisées entre un navigateur Web et le serveur.

Il existe un certain nombre de fournisseurs de certificats SSL auprès desquels vous pouvez faire votre choix. Toutefois, certains vendeurs sont recommandés comme GoGetSSL et SSLs.com. Notons que vous pouvez facilement acheter un certificat SSL Comodo Positive pour moins de 9 $ par an.

Types de certificats

Il existe trois principaux types de certificats :

  • Validation de domaine : Domaine ou sous-domaine unique, pas de paperasse (juste validation par courrier électronique), bon marché, publié en quelques minutes.
  • Validation de l’entreprise ou de l’organisation : Domaine ou sous-domaine unique, nécessite une vérification de l’entreprise dans le but de fournir un niveau de sécurité ou de confiance élevé, délivré dans un délai de 1 à 3 jours.
  • Validation étendue : Domaine ou sous-domaine unique, nécessite une vérification de l’entreprise dans le but de fournir un niveau de sécurité ou de confiance supérieur, délivré dans les 2 à 7 jours. Barre d’adresse verte.

Indicateurs de confiance

Il existe deux types d’indicateurs de confiance visibles dont vous pouvez choisir avec un certificat SSL. Le premier est la validation étendue ou de l’entreprise qui montre le nom de votre entreprise dans la barre d’adresse. Ces certificats sont plus coûteux. La deuxième et la plus courante est la validation de domaine standard qui montre simplement le cadenas vert dans la barre d’adresse.

Vous pouvez également utiliser Let’s Encrypt pour obtenir un certificat SSL gratuit. Un moyen simple de le faire est d’utiliser Certbot. Certbot est un client automatique facile à utiliser qui récupère et déploie des certificats SSL ou TLS pour votre serveur web. Certbot a été développé par EFF et considéré comme le grand client de Let’s Encrypt. Précédemment, il a été appelé « le client officiel de Let’s Encrypt ».

2. Installation de votre certificat SSL

Voici quelques conseils faciles pour installer votre certificat SSL sur votre serveur Web. Selon le logiciel que vous utilisez dont Apache, NGINX, Microsoft IIS 7.x – 8.x, WHM ou Cpanel, les étapes peuvent varier. (il s’agit d’un exemple d’installation d’un certificat SSL Comodo Postive)

Si vous déployez Let’s Encrypt avec Certbot, vous pouvez choisir le type de serveur Web que vous utilisez dans leur site Web ainsi que le système d’exploitation. Ils ont une vaste documentation à ce propos. Vous pouvez ensuite choisir l’option « avancé » si vous souhaitez moins d’automatisation et plus de contrôle.

Vérification de votre certificat

Une fois que vous avez installé votre certificat, vous voudrez vérifier s’il y a des problèmes ou non pendant cette étape. De ce fait, les outils suivants peuvent être très utiles : test du serveur SSL Labs et vérification du certificat SSL (développé par KeyCDN).

3. Mettre à jour tous les liens codés vers HTTPS

Il est toujours préférable d’utiliser des URL relatives, mais il y aura toujours des moments où quelqu’un aura codé en dur une URL et vous voudrez donc faire un balayage complet sur votre site et votre base de données lors d’une migration HTTP vers HTTPS.

Les éléments suivants seront différents d’une plate-forme à l’autre. Allons voir dans cet exemple comment mettre à jour votre lien dans WordPress. Tout d’abord, il est recommandé d’utiliser un outil gratuit d’Interconnect IT appelé « Database search and replace script in php ». Grâce à cet outil, vous pouvez exécuter des requêtes de mise à jour vous-même, mais il y a beaucoup de tables et de champs de métadonnées que vous manquerez probablement à moins d’avoir une liste exacte.

Il est également recommandé d’effectuer la mise à jour de tous les liens codés via un serveur de développement, puis de les remettre à leur place ou du moins de sauvegarder votre base de données d’abord pour mieux les sécuriser car ce script prend vos informations de base de données locales. Ensuite, il suffit de déposer leur programme dans la racine de votre site via FTP.

Puis, allez dans votre navigateur. (le dossier est nommé « search-replace-db »).

Par exemple : monsite.com/search-replace-db/

Vous pouvez ensuite insérer ce que vous voulez remplacer. Pour cela, assurez-vous d’entrer tous les formats que vous avez mélangés et appariés au cours des années, tels que :
http://monsite.com à https://monsite.com
http://www.monsite.com à https://www.monsite.com

Ensuite, il faut exécuter un « essai » d’abord pour voir ce qu’il faut encore mettre à jour ou remplacer. Et une fois prêt et que tout est fait, cliquez sur « Live Run ».

Remarque : cela mettra à jour toutes vos entrées dans votre base de données, y compris l’URL de votre site WordPress, les liens codés en dur sur les pages et les publications, les balises canoniques, etc.

Si vous vous êtes gêné à effectuer des changements de la base de données, vous voudrez peut-être consulter le plugin gratuit Really Simple SSL. Il a plus de 20 000 installations avec une note de 4,8. Ce plugin gère la plupart des problèmes que WordPress rencontre avec SSL, comme le problème de répartiteur de charges faisant l’objet de maintes discussions, ou lorsqu’il n’y a pas de variables de serveur définies.

Grâce à cet outil, toutes les requêtes entrantes sont redirigées vers HTTPS. Si possible avec .htaccess, ou bien avec Javascript. De plus, l’URL du site et celui de la page d’accueil sont modifiés en https. Votre contenu non sécurisé est résolu en remplaçant tous les URLS http:// par l’indépendant du protocole //. Dynamiquement, de sorte qu’aucun changement de base de données ne soit effectué (à l’exception de l’URL du site et celui de la page d’accueil).

4. Mettre à jour les JavaScript personnalisées, les bibliothèques AJAX vers HTTPS

Vous voudrez mettre à jour les scripts personnalisés que vous avez inclus afin qu’ils indiquent les versions HTTPS. Cela comprend également les scripts hébergés par des tiers, sinon vous obtiendrez l’avertissement de contenu mixé et redouté comme indiqué ci-dessous.

Par exemple : si vous utilisez la bibliothèque jQuery hébergée par Google, vous voudrez vous assurer que vous l’avez mis à jour vers son réseau de diffusion de contenu HTTPS. Voici le lien https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js

Analysez votre site Web pour un contenu non sécurisé

Les développeurs de JitBit ont créé un excellent outil de vérification SSL qui analysera votre site Web et trouvera tout contenu non sécurisé.

5. Ajouter 301 Redirections vers les nouvelles URLs HTTPS

L’ajout de 301 redirections est probablement l’une des étapes les plus importantes d’une migration HTTP vers HTTPS. Les redirections 301 sont une redirection permanente qui passe entre 90 à 99% du jus de lien (un pouvoir de classement) vers la page redirigée.

Si vous ne réalisez pas de redirections 301, vous risquez sérieusement de nuire à votre classement SEO et votre site pourrait complètement disparaître dans les SERP pendant la nuit.

Peu importe la plate-forme de votre site Web, il n’est pas recommandé d’utiliser un plugin pour une migration importante comme celle-ci. Il est beaucoup plus simple de mettre en œuvre 301 redirections au niveau des serveurs, surtout si vous avez affaire à des centaines d’URL.

Pour NGINX

Ajoutez ceci à votre configuration Nginx :

server {
listen 80;
server_name domain.com www.domain.com;
return 301 https://domain.com$request_uri;
}

Pour Apache

Ajoutez ceci à votre fichier .htaccess :

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

6. Mettre à jour votre fichier robots.txt

Mettez à jour les liens codés en dur ou les règles de blocage que vous pourriez avoir dans votre fichier robots.txt qui pourrait encore pointer vers des répertoires ou des fichiers HTTP.

7. Installer le certificat SSL sur le réseau de distribution de contenu (CDN)

Vous avez trois options en ce qui concerne votre réseau de distribution de contenu. La majorité des fournisseurs disposent d’une option SSL partagée et d’un SSL personnalisé. KeyCDN a également une intégration Let’s Encrypt. Si vous n’êtes pas familier avec SSL personnalisé (et la différence avec SSL partagé), vous pouvez utiliser le KeyCDN comme dans les exemples suivants :

Activer SSL partagé

KeyCDN offre un SSL partagé entièrement gratuit pour ses clients. Suivez les étapes ci-dessous pour l’activer.

  • Cliquez sur « Zones » dans votre tableau de bord KeyCDN.
  • Au-dessous de votre propre zone, cliquez sur le bouton « Gérer », puis « Modifier ».
  • Activez l’option « Afficher les fonctionnalités avancées ».
  • Ensuite, au-dessous du SSL, activez « partagé ». Le SSL partagé permet le certificat générique pour la zone : https://*.tophebergeur.com. Puis, au-dessous de Force SSL, assurez-vous qu’il est « activé ». Cela va rediriger HTTP vers HTTPS sur le CDN et mettre en œuvre une redirection 301 déplacée en permanence à des fins de référencement.

Activer SSL personnalisé gratuitement avec Let’s Encrypt

KeyCDN a maintenant une intégration avec Let’s Encrypt permettant d’activer le mode SSL gratuitement sur une URL de zone personnalisée. Suivez le tutoriel suivant pour vous aider à utiliser Let’s Crypter avec KeyCDN.
Let’s Encrypt prend uniquement en charge les certificats de validation de domaine, ce qui signifie que vous obtiendrez un cadenas vert dans votre barre d’adresse.

Il ne dispose actuellement aucune option pour offrir une validation de l’entreprise ou des certificats de validation étendue, car ceux-ci nécessitent une interaction humaine et un mode de paiement.

Activez SSL personnalisé – Certificat d’installation

Si vous activez un SSL personnalisé, vous aurez besoin de votre propre certificat, séparé de celui que vous avez acheté pour votre domaine principal. Toutefois, vous pouvez acheter facilement un autre certificat SSL Comodo Positive pour moins de 9 $ par an. Voir l’étape 1 pour plus d’informations sur l’achat d’un certificat SSL.
Ensuite, suivez ce guide complet sur la configuration de SSL personnalisé sur KeyCDN.


8. Mise à jour de l’URL original sur CDN

Il faut également mettre à jour votre URL original.

  • Cliquez sur « Zones » dans votre tableau de bord KeyCDN.
  • Au-dessous de votre propre zone, cliquez sur le bouton « Gérer », puis « Modifier ».
  • Dans la configuration de la zone de traction ou pull zone, assurez-vous de mettre à jour votre URL original de HTTP:// vers HTTPS:// enfin, cliquez sur « Enregistrer ».

9. Activer le support HTTP/2 sur CDN

  • Cliquez sur « Zones » dans votre tableau de bord KeyCDN
  • Au-dessous de votre zone, cliquez sur le bouton « Gérer », puis « Modifier ».
  • Cliquez sur l’option « Afficher les fonctionnalités avancées ».
  • Sélectionnez « activé » et cliquez sur « Enregistrer » pour mettre à jour votre zone vers HTTP/2. Ceci est activé par défaut sur les nouvelles zones.

10. Mettre à jour tous les liens CDN codés en dur vers HTTPS

Maintenant, tout comme vous l’avez fait avec vos liens du domaine, vous devez également mettre à jour tous les liens CDN codés en dur que vous pourriez avoir. Dans cet exemple, on utilise à nouveau l’outil search/replace à partir de l’étape 3 dans WordPress : remplacer http://mondomain.com par https://mondomain.com
Assurez-vous qu’après avoir terminé le script de recherche et de remplacement, vous avez supprimé votre ancien URL. Pour ce faire, vous pouvez cliquer sur le bouton « Supprimez-moi » ou le supprimer manuellement via FTP depuis votre serveur.

11. SEO: Google Search Console, Sitemaps, Exploration

Maintenant que votre site fonctionne sur HTTPS, vous devez créer un nouveau profil sur Google Search Console. Pour cela, il suffit de cliquer simplement sur « Ajouter une propriété » et de continuer avec le processus de demande.

Sitemaps

Les sitemaps ne sont pas nécessaires pour que Google explore votre site, mais ils peuvent être utiles si vous essayez de déboguer des problèmes d’indexation ou de vérifier si vos images sont indexées. Si vous les utilisez, vous devrez soumettre de nouveau la version HTTPS dans votre nouveau profil Google Search Console.

Remarque : Pour les Yandex Webmaster Tools, vous devrez effectuer les mêmes étapes que Google. Pour Bing Webmaster Tools, vous n’avez pas besoin de créer un nouveau profil, il suffit juste de soumettre à nouveau les plans de votre site version HTTPS.

Exploration

Il est recommandé ensuite d’exécuter une exploration et de crawler votre nouveau site HTTPs pour que les choses se déplacent un peu plus rapidement. Dans certaines migrations vers HTTPs, il faut des semaines pour que Google récupère tout correctement.

  • Envoyez votre page d’accueil en cliquant sur « Fetch ou Explorer », puis cliquez sur « Envoyer à l’index ».
  • Ensuite, choisissez « Indexer cette URL et ses liens directs ». Si vous avez des pages très importantes qui ne sont peut-être pas connectées à votre page d’accueil, vous pouvez également les soumettre individuellement pour un re-indexation.

12. SEO : renvoyer votre fichier de désaveu

C’est une étape que nombreuses personnes oublient. Si vous étiez déjà victime des attaques volontaires de certains concurrents conduisant à une baisse de référencement ou avez-vous besoin de supprimer un lien retour, vous avez probablement créé et soumis un fichier de désaveu.

Parce que vous avez créé un nouveau profil sur Google Search Console à l’étape 11, cela nécessite que vous renvoyiez votre fichier de désaveu pour ce nouveau profil. Si vous ne le faites pas, la prochaine fois qu’une mise à jour d’algorithme sera effectuée, vous pourriez faire face à de sérieux problèmes car Google ne verra pas votre fichier de désaveu.

Passez donc au Google Disavow Tool sous votre profil original (HTTP) sur Google Search Console et téléchargez votre fichier de désaveu. Ensuite, lancez l’outil de désavouement à nouveau depuis votre nouveau site HTTPS et renvoyez votre fichier. Surtout, assurez-vous de voir le message de confirmation vous informant que le fichier de désaveu de liens a été téléchargé avec succès avant de cliquer sur « Terminer ».

13. Mettre à jour l’URL de votre profil Google Analytics

Vous devez également mettre à jour l’URL de votre site Web sur Google Analytics. Pour ce faire, connectez-vous sur votre compte, cliquez sur Admin puis sur vos Paramètres d’affichage. Choisissez la version HTTPS de l’URL. Faites la même chose sur vos Paramètres de propriété. De cette façon, vous ne perdez pas l’historique et vous pouvez reprendre là où vous l’avez laissé.

14. Mises à jour diverses

Voici quelques nouvelles mises à jour supplémentaires que vous devriez également effectuer après la migration de HTTP vers HTTPS.
Mettez à jour vos balises canoniques pour indiquer la version HTTPS. Si vous avez utilisé l’outil de WordPress comme dans l’exemple à l’étape 3, les balises canoniques auraient été déjà mises à jour. Si vous êtes sur une autre plateforme, assurez-vous que ces balises sont mises à jour.

  • Mettez à jour les URLs PPC tierces comme AdWords, Bing Ads et FB Ads.
  • Mettez à jour les URLs de logiciel emailing de marketing automation tels que MailChimp, Aweber et GetResponse.
  • Mettre à jour les liens des réseaux sociaux vers votre site (Facebook, Twitter, Google+, LinkedIn).
  • Mettez à jour tous les liens externes et les liens retour autant que possible.
  • Migrer les comptes sociaux.

L’équipe de recherche de Google a également publié récemment des réponses aux 13 questions fréquemment posées en ce qui concerne les migrations HTTPS. Cela peut vous être utile.

Conclusion

Comme vous pouvez le constater, il y a beaucoup de migration HTTP vers HTTPS, mais si vous avez suivi le guide ci-dessus, vous devriez être sur le bon chemin et peut bénéficier maintenant des performances accrues de HTTP/2 tout en profitant du facteur de classement SEO supplémentaire. Sans oublier que votre site est maintenant beaucoup plus sécurisé et que vos identifiants ne seront plus transmises en texte clair sur Internet.