PressMyWeb | digital et nouvelles technologies

#Tuto : Comment migrer son site de HTTP à HTTPS ?

Vite, il ne vous reste plus que quelques heures avant que google sanctionne votre site s’il n’est pas sécurisé. C’est officiel, dépêchez vous.

Depuis le mois de janvier 2017, vous avez du vous en apercevoir, Google a commencé à marquer des sites comme « non sécurisé » si ceux-ci n’utilisent pas le protocole HTTPS.

Google a maintenant prévenu que si vous ne migrez pas votre site vers un hébergement sécurisé via HTTPS, vous risquez dorénavant de perdre du trafic, rien qu’en affichant ce label “Non sécurisé”, à partir du mois d’octobre.

PressMyWeb vient de basculer. Nous avons décidé d’écrire cet article pour vous prouver que le passage au HTTPS est simple et tout à fait faisable même avec un historique sur le site basé sur wordpress.

Voici les différentes étapes que nous avons réalisé :

1/ Activation du certificat SSL

Un certificat SSL est un fichier de données qui lie une clé cryptographique aux informations d’une organisation ou d’un individu. Installé sur un serveur, le certificat active le cadenas et le protocole « https » dans les navigateurs, afin d’assurer une connexion sécurisée entre le serveur web et le navigateur.
Généralement, le SSL est utilisé pour sécuriser les transactions bancaires, le transfert de données et les informations de connexions, telles que les noms d’utilisateur et les mots de passe. Sans ce certificat, votre site ne pourra être sécurisé.

Certains hébergements le font payer, d’autres non. Renseignez vous.

Pour ma part, ce certificat est gratuit sur mon hébergement et j’ai réussi à le faire facilement via leur interface. Il a été immédiatement mis en place (pas de temps d’attente pour l’activation).

Mais si vous ne trouvez pas, envoyez leur un message pour qu’il vous guide.

2/ Modification du .htaccess

Avec l’activation du certificat, votre site est accessible via le http et le https. Mais cette activation ne fait pas tout (malheureusement), vous devez faire toutes les redirections nécessaires pour éviter des erreurs de duplicate content de votre site.

Pour ce faire, il va falloir modifier votre fichier .htaccess.

Au début, j’avais modifié mon htaccess avec ce bout de code :

# Redirection vers HTTPS
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTPS} =off
RewriteRule ^(.*)$ https://www.monsite.com/$1 [R=301,L]

# Redirection du www vers non-www en HTTPS
RewriteCond %{HTTP_HOST} ^monsite.com [NC]
RewriteRule ^(.*)$ https://www.monsite.com/$1 [R=301,L]

Attention, selon votre hébergeur, vous pourrez avoir des erreurs et il faudra adapter le code. Vous le verrez très vite : une fois le code positionné dans votre htaccess, testez votre site. J’ai eu l’erreur suivante : ERR_TOO_MANY_REDIRECTS. Gros moment de panique, car mon site devenait complètement HS.

Notre hébergeur (Yulpa) utilise un mécanisme de répartition de charge, système de load balancing, avec un frontal qui oriente les pages web vers d’autres serveurs. Cette utilisation est fréquente et permet de mieux gérer les charges des sites mutualisés. Ainsi, ces redirections ne peuvent fonctionnées. Après de nombreuses recherches et nombreux tests, j’ai testé avec ce bout de code, et ca fonctionne :

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://www.monsite.com/$1 [R=301,L]
</IfModule>

3/ Modification du http en https dans les paramétrages de votre site

Très simple, dans la rubrique Réglages -> Général, il faut modifier http://www.monsite.com en https://www.monsite.com dans les 2 champs URL.

Une fois cette modification faite, ne soyez pas surpris, vous serez déconnecté de votre backoffice.

4/ Remplacer toutes vos URL http en https

Cette partie est toujours délicate car nous devons toucher à la base de données. Mais elle est indispensable car votre site ne sera pas sécurisé à 100%.

Vous pouvez directement attaquer votre base de données mais c’est toujours un peu risqué. Il existe des plugins, qui sont bien rodés, et qui permettent de faire très facilement ces remplacements.

J’ai utilisé le plugin Better Search Replace.

Une case à cocher en bas permet de controler avant de faire les modifications réelles en base. J’ai réalisé les modifications uniquement dans la table wp_posts car la modification des urls impacte que la base de données des articles.

5/ Vérifier sa console sur chrome

A ce stade, certains sites seront sécurisés à 100%. Pour le contrôler vérifier votre URL :

Certains d’entre vous, ne seront pas sécurisé à 100% et, vous serez en contenu mixte. Pour comprendre rapidement le problème, inutile de chercher sur internet car chaque site a ses propres URLs, ces propres scripts. Il n’y a pas d’autres solutions que de débugguer votre site.

Pour ce faire, ouvrez votre site via chrome et cliquez sur F12. Allez dans la console.

Vous verrez les URLs qui ne sont pas corrects ou qui sont en warning. Tant que vous ne corrigerez pas les liens en erreur, votre site ne sera pas considéré comme sécurisé.

Pour ma part, certains scripts de publicité ont du être corrigés, certaines URLs que j’avais dans les widgets et footer.

6/ Vérification si tout est ok grâce à ces outils

Il n’y a pas de secret, pour être certain que votre site est sécurisé, aller dans toutes vos pages : page accueil, page article, autres pages.. et regardez et votre site est sécurisé. Et maintenant, pour le corriger, ayez le réflexe F12 sur chrome et corrigez le cas par cas.

Certains outils sont disponibles pour vous aider à vous conforter sur la migration en https

7/ Autres tâches à ne surtout pas oublier pour le référencement

Maintenant à vous de jouer !