Comment forcer la redirection HTTPS sur son site WordPress ?

wp smart redirection https

Prérequis : Avoir un certificat SSL installé sur son hébergement

Vous venez de créer votre site mais celui-ci est toujours affichable en http, découvrez dans cet article de Wp Smart comment forcer la redirection de votre site de http vers https. 

Dans cet article je vous proposerai 2 solutions, une avec plugin et une sans. C’est parti, sécurisons notre site !

Dans le cas où votre site est déjà existant, par soucis de simplicité, je vous invite à utiliser Really simple SSL. Passer par le .htaccess dans le cas d’un site existant vous obligera à éditer les liens en base de données et cela risque d’être compliqué (je vous l’explique tout de même plus bas dans l’article). 

site securise via https
Site en http vs https

Via le .htaccess 

Attention : le .htaccess est un fichier de configuration serveur, il est par nature sensible et avec une fausse manipulation votre site sera down. Il vous faut donc télécharger une copie avant toute intervention. En cas de problème il vous suffira de remettre l’ancienne version. 

Pour pouvoir forcer notre site à s’afficher en https et non en http nous pouvons passer par le .htaccess dans votre éditeur de code. Pour cela nous allons devoir ajouter dans ce fichier de configurations les redirections que nous souhaitons. Dans les 2 codes ci-dessous on force le site à s’afficher en https dans tous les cas.

Attention à bien mettre ce code au dessus des lignes de base de WordPress

wordpress redirection via htaccess
Ajouter un favicon

Cas 1 :

Url souhaitée sans www ex : https//monsupersite.fr
http://monsupersite.fr -> Redirigera vers -> https//monsupersite.fr
http://www.monsupersite.fr  -> Redirigera vers -> https://monsupersite.fr
https://www.monsupersite.fr  -> Redirigera vers -> https://monsupersite.fr 

Code pour le Cas 1 : sans www = du "www" vers "non www" en https

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

En gras les éléments à modifier

Cas 2 : 

Url souhaitée avec www ex : https//www.monsupersite.fr
http://www.monsupersite.fr -> Redirigera vers ->  https//www.monsupersite.fr
http://monsupersite.fr -> Redirigera vers ->  https://www.monsupersite.fr
https://monsupersite.fr -> Redirigera vers ->  https://www.monsupersite.fr

Code pour le Cas 2 : avec www = du "non www" vers "www" en https

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

En gras les éléments à modifier

Via l’extension Really Simple SSL 

plugin https really simple ssl
Extension Really Simple SSL

Avec Really Simple SSL rien de plus simple, installer l’extension, l’activer et cliquer sur le bouton :
Go ahead activate ssl ou Activer SSL

really simple configuration
Activer la redirection https via Really Simple SSL



Dans les réglages vous pouvez ensuite vérifier que ces options sont bien cochées : 

  • Correcteur de contenu mixte
  • Correcteur de contenu mixte - interface d’administration

Cela vous permettra de ne pas avoir de contenu mixed (voir plus bas) mais aussi de s’assurer que les redirections sont bien en place. 

Vous pouvez ensuite désactiver/supprimer le plugin et en garder tous les bénéfices. (non obligatoire, vous pouvez garder l'extension active) 

plugin desactive really simple ssl
Désactiver Really Simple SSL et garder le site en https

Bravo, maintenant que nous avons forcé votre site à s’afficher en https, je vous invite tout de même à vérifier les 3 redirections. 

3 astuces supplémentaires après être passé en https 

Eviter le Mixed content et remplacer les Urls en base de données

Si vous avez choisi l’option sans plugin mais que votre site n’est pas neuf, il va falloir remplacer toutes les urls en base de données restées en http:// pour ne pas avoir de Mixed content.

Le Mixed content est le fait d’appeler des items : pages, catégories, images, fichiers, favicon, scripts, etc en http sur un site en https. Les navigateurs n’aiment pas ça et n’afficheront/ne chargerons donc pas vos éléments ou pire, afficherons une jolie page de “Site non sécurisé” faisant immédiatement fuir vos utilisateurs. 

Pour éviter cela, je vous invite à utiliser Search and replace DB, une fois téléchargée, il vous faudra : 

  • Le dezipper
  • Le mettre à la racine du site en le renommant (par sécurité)
  • Accéder au dossier via votre navigateur, ex : www.monsupersite.fr/mondossierrenomme/ 
  • Indiquer l’adresse de votre site sans https dans le champs replace et sans / à la fin -> http://monsupersite.fr
  • Indiquer l’adresse de votre site en https dans le champs with et sans / à la fin -> https://monsupersite.fr
  • Entrer les informations de connexion à votre base de données
  • Faire un test avec dry run
  • Si tout est ok cliquer sur live run
  • Une fois terminé, supprimer le dossier via le bouton delete me et s’assurer qu’il est bien supprimé dans le FTP. 
search and replace db tutoriel
Search and Replace DB

Forcer le Backoffice de WordPress à être en https 

Normalement cette étape est inutile, car si vous avez correctement suivi mon tutoriel le site n’est plus accessible en http://. Cependant si vous prenez mon tutoriel en cours de route voici un bout de code à ajouter à votre wp-config.php (avant /* That's all, stop editing! Happy blogging. */) afin d’afficher obligatoirement votre administration en https

// Forcer le HTTPS dans l'administration
define('FORCE_SSL_ADMIN', true);

Sur un site existant, pensez à mettre à jour : robots.txt / Google Search Console/ Google Analytics

Une fois le https mis est en place sur un site déjà existant, il va falloir reconfigurer certains éléments : 

  • Votre robots.txt pour indiquer l’url du sitemap en https
  • Recréer une propriété dans Google Search Console si vous aviez validé votre site via préfixe d’url et non par le domaine
  • Mettez à jour votre Google Analytics en éditer le paramètre de propriété de votre site dans : Administration -> Propriété -> Paramètre de la propriété