Vous le savez, tout le monde en parle à présent, votre site Internet doit absolument passer au HTTPS. Si comme moi vous utilisez WordPress régulièrement, vous êtes confronté à cette nécessité. Généralement, on se tourne vers son hébergeur favori pour trouver le certificat SSL qui va bien. Depuis plusieurs mois, une Start-up fait le buzz sur la question, il s’agit de LEt’s Encrypt. Et si pas mal de personnes ont rencontré des difficultés pour l’installer, notamment en passant par les mutualisés d’OVH, il semble que la mis en pratique ne soit pas si compliquée. Avant tout, ce qui compte, c’est de penser qu’une telle modification de vos URLs n’est pas sans conséquence. Des risques d’affichages non sécurisés, du mixed-content et pire, du duplicate content sont à deux doigts de vous tomber dessus si vous ne prenez pas la peine de suivre une check-list convenable.
Modifier les réglages de WordPress pour le https
Il vous faut également aller dans les réglages et procéder à la modification des champs suivants :
Faites attention à ne pas oublier le s sur chacun des deux champs ci-dessus au risque d’avoir un joli phénomène de page blanche. Vous êtes à présent dans le vrai mais vous pouvez vous retrouver avec du mixed content. Le mixed content, c’est simple : dans chacune de vos pages vous avez créé des liens internes qui sont encore en http (y compris les liens de vos metas). Pour palier au phénomène vous avez deux choix possibles. Le plus propre est expliqué ici avec l‘ajout d’un script simple pour corriger toutes ces URLs. Mais on a vu surgir avec la flambée des développeurs WordPress un tas d’outils et de plugins pour éviter le mixed content.
Continuer la migration au HTTPS, pas à pas
Vous avez fait votre déclaration auprès de votre hébergeur (Peut-être Let’s Encrypt) ; Vous êtes en mutualisé et si vous voulez que tout se passe bien, vous allez quand même avoir besoin de passer par le HTACCESS pour rediriger vos urls vers le https. Là seulement vous aurez la bonne idée de suivre quelques démarches simples en insérant si vous êtes chez OVH :
[pastacode lang= »markup » manual= »RewriteEngine%20On%0ARewriteCond%20%25%7BSERVER_PORT%7D%2080%0ARewriteRule%20%5E(.*)%24%20https%3A%2F%2Fwww.votrenomdedomaine.fr%2F%241%20%5BR%3D301%2CL%5D » message= »Code à insérer pour les redirections HTTPS chez OVH » highlight= » » provider= »manual »/]L’expression réécrit les urls avec « https » en 301. L’URL Rewriting est généralement disponible sur les serveurs linux des hébergeurs. Précisez ceci :
[pastacode lang= »markup » manual= »RewriteEngine%20on%0ARewriteCond%20%25%7BHTTPS%7D%20!%3Don%0ARewriteRule%20.*%20https%3A%2F%2F%25%7BHTTP_HOST%7D%25%7BREQUEST_URI%7D%20%5BR%3D301%2CL%5D » message= »Code à insérer dans le .htaccess » highlight= » » provider= »manual »/]Il est possible également de procéder à d’autres formats pour les hébergeurs.
Mais se limiter à cette action sous WordPress est insuffisant :
Les plugins utilisés pour le mixed content de WordPress
Ils sont nombreux, le choix est complètement possible pour http/https Remover ou WP Mixed content. C’est toujours mieux que de les faire à la main si vous n’utilisez pas l’outil simple proposé plus haut (Search-Replace-DB-master, ou le script simple à utiliser). Je vous conseille donc d’utiliser ce type de solutions manuelle afin de ne pas surcharger votre WordPress avec des plugins seulement dédiés à des fonctionnalités de base. C’est d’autant plus propre que vous avez probablement un tas d’URL en HTTP dans votre dossier content (Pensez par exemple aux URLs canoniques générées par un plugin Yoast SEO par exemple).
Eviter le duplicate Content avec un plugin de redirection http to https forced url by Facem Web
WordPress n’a pas encore fait sa mue intégrale vers le https. Vérifiez que si vous enlever le s du https sur l’une de vos pages intérieures, vous n’avez pas d’affichage en http mais bien une redirections vers le https. Si ce n’est le cas, vous avez la possibilité de modifier le fichier fonction.php ou si vous avez de nombreux sites et que vous souhaitez vous simplifier la vie avec un plugin correctif très léger, utilisez Http to https forced url by Facem Web. Ce ne sont que quelques lignes à ajouter finalement :
[pastacode lang= »markup » manual= »function%20forcer_https%20()%20%7B%0A%0A%20%20if%20(%20!is_ssl()%20)%20%7B%0A%0A%20%20%20%20wp_redirect(‘https%3A%2F%2Fwww.votredomaine.fr’%20.%20%24_SERVER%5B’HTTP_HOST’%5D%20.%20%24_SERVER%5B’REQUEST_URI’%5D%2C%20301%20)%3B%0A%0A%20%20%20%20exit()%3B%0A%0A%20%20%7D%0A%0A%7D%0A%0Aadd_action%20(%20’init’%2C%20’forcer_https’%2C%201%20)%3B » message= »Lignes à ajouter dans le fichier function.php » highlight= » » provider= »manual »/]Bien entendu, pensez à les réécrire si vous changez de thème ; la raison pour laquelle on peut faire une petite exception avec HTTP to HTTPS Forced URL.
Suivre l’évolution du passage au HTTPS
Ensuite tournez-vous vers la search console, créez un compte dédié pour votre nouveau site en https et faites à la fois des sitemaps sur l’ancienne et la nouvelle version. Pensez également à corriger les URLs des outils que vous utilisez comme Google Analytics par exemple. Complétez cette mutation par le passage à l’AMP et vous aurez de bons retours en termes de référencement naturel.
Aujourd’hui, installer et configurer WordPress avec le HTTPS relève des prérequis.
Merci beaucoup pour ce tuto très simple !
Une question cependant, mon site est en http://www.domaine.com/blog, pour le htaccess, j’utilise quand même https://www.votrenomdedomaine.fr/$1 ou alors je fais https://www.votrenomdedomaine.fr/blog/$1
Sous OVH, le htaccess se met également dès les premiers dossiers sur le FTP ou sous www? De mon côté j’ai un htaccess sous www avec:
RedirectPermanent /index.htm http://www.domaine.com/blog
RedirectPermanent /index.html http://www.domaine.com/blog
RedirectPermanent /index.php http://www.domaine.com/blog
Pas envie de faire des bêtises 😉
Merci !
PS : tu devrais enlever le système « title of your review » et « rating » obligatoires. A mon avis, ça incite certains à ne pas poster.
Bonjour Lisa et merci pour ton commentaire (ta bonne suggestion également, il est vrai que je gère un peu moins ce blog actuellement). Dans un premier temps, fais une copie de ton .htaccess (une sauvegarde). Il se trouve dans les WWW d’OVH ou tout autre dossier à la racine du FTP si tu disposes de plusieurs sites dans ton hébergement.(Cela te permettra de rétablir rapidement ton site en cas d’erreur). C’est là que tu dois faire les modifications. Il semble qu’il y ait pas mal de redirections. Si tu as bien suivi le tuto dans toutes les étapes, et si je comprends bien, il y a eu par le passé une autre version du site. Laisse comme tel. Je pense donc que tu peux tout rediriger avec https: // votrenomdedomaine.fr/blog/$1 puisque l’objectif est de tout rediriger vers /blog. De cette manière : RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https: //www. votrenomdedomaine.fr/blog/$1 [R=301,L] N’hésite pas à me faire un retour au besoin.
Salut Xavier,
Merci pour ton commentaire! Oui tout à fait mon htaccess est bien dans www. En fait il n’y a jamais eu d’autre version du site mais j’avais besoin que les gens soient redirigés automatiquement vers /blog quand ils allaient à la racine du site 🙂 J’avais lu il y a un bail qu’il était mieux d’avoir un blog sous /blog. Ca remonte à un sacré bout de temps…
Je laisse donc comme tel et j’ajoute ton code tout en haut c’est bien ça ? Je traine un peu la patte depuis que OVH a des soucis avec le https. (https://community.ovh.com/t/ovh-devrait-rapidement-trouver-un-nouveau-moyen-de-gerer-les-certificats-ssl/956) Ca devrait être réglé d’ici le 9 février sur tous les clusters.
Bonjour Lisa,
Oui tu peux le placer après le # END WordPress par exemple.
Bon alors j’ai tenté le passage, le code ajouté dans le htaccess ne change rien du tout. Mon http n’est pas du tout redirigé vers le https :/ J’ai tenté de le mettre à la racine de blog puis j’ai tenté sous le www là où est mon blog mais rien n’y fait. On dirait que le code n’est pas reconnu.
Bonjour Lisa, désolé pour la réponse tardive. Difficile de voir où le problème se situe pour moi. Les points chauds à vérifier : les réglages de WordPress, le htaccess, utiliser le script pour tout transformer en https dans la BDD et utiliser le plugin Force http to https by Facem Web pour forcer les redirections en https. En principe, cela devrait fonctionner, nous l’avons réalisé sur pas mal de sites ces derniers temps. Au besoin, envoie-moi le lien vers le site ainsi que le htaccess par mail (formulaire de contact). Bonne journée
Bonjour et merci pour ce tuto !
Malgré tout, il me reste un problème de mixed content sur mon blog… mais j’ai l’impression que cela dépend aussi du navigateur utilisé. firefox ne bloque pas la page et affiche un cadenas vert. chrome et edge « cassent » le site.
j’ai testé des plug-in comme SL Insecure Content Fixer mais j’ai l’impression que ca ne change strictement rien.
j’ai également installé le logiciel text crawler afin de detecter et remplacer les http restant en https mais il n’en trouve plus alors que quand je lance des tests online ils me trouvent encore plein de http…
une idée ?
merci
Bonjour, il semble que plusieurs éléments du site ne sont pas pris en charge effectivement (sur la page d’accueil notamment). En utilisant Firefox, clic droit n’importe où -> Examiner l’élément. On retrouve foobox lightbox et d’autres plugins qui gênent. Du JS dans le dossier includes, des CSS dans le thème. Avez-vous essayé le script (suivre le lien suivant : https://facemweb.com/referencement-naturel-seo/passer-https-2017) dans le présent tuto ? En changeant tout directement dans la base de données, vous devriez pouvoir vous passer également de SSL Insecure Content Fixer.
Merci pour la réponse rapide.
je viens de tenter avec le script. Le déroulement s’est bien passé selon votre tuto mais les erreurs sont toujours là.
J’ai re-testé mon site sur https://www.whynopadlock.com/index.html et il trouve toujours un paquet d’erreurs… bref, j’ai l’impression que j’en suis au même point.
d’autres idées ? : )
Bizarre ma réponse semblait être passée… je disais donc que j’avais lancé le script comme indiqué dans le tuto mais qu’il me semblait que rien n’avait changé au final.
J’ai re-testé sur whynopadlock.com et il y a toujours les mêmes erreurs qu’avant…
D’autres idées peut-être ? : )
Merci.
A vrai-dire, sans accès au serveur je n’ai pas vraiment d’idée: l’ensemble du site passe très bien sauf la page d’accueil (à voir peut-être l’index du site). N’y a t-il pas du contenu dans d’autres répertoires ?
Bonjour Xavier,
juste pour info, j’ai réussi à « régler » mon soucis mais seulement en utilisant le plugin « really simple ssl », qui est le seul a avoir finalement fonctionné. Bref, ça ne corrige pas le fond du problème, seulement en apparence. Et j’ai quand même l’impression que le site a légèrement ralenti depuis…
Le site why no padlock trouve 57 erreurs de mixed content. Y a t il un moyen de les corriger manuellement une par une ?
Merci et bonne journée.
Bonjour Kuzy, heureux de constater également que cela fonctionne. A part traiter page après page, en utilisant le script ou en accédant aux fichiers du serveur, je ne vois pas vraiment d’autres solutions. Pour la vitesse, cela me paraît très correct (avec Speed insight).
Merci pour votre aide Xavier.