Comment passer son site en HTTPS : guide migration SSL

Dans cet article

  • Un certificat SSL gratuit via Let’s Encrypt suffit pour la majorité des sites vitrine et blogs
  • La migration HTTPS améliore le référencement : Google confirme un boost SEO depuis 2014
  • Les navigateurs affichent « Non sécurisé » sur tous les sites restés en HTTP depuis Chrome 68
  • La redirection 301 de HTTP vers HTTPS doit couvrir 100 % des URL pour éviter le contenu dupliqué
  • Le temps moyen d’une migration SSL complète est de 1 à 3 heures sur un site WordPress standard
  • Les erreurs de contenu mixte représentent 80 % des problèmes rencontrés après activation du certificat

Après douze ans à gérer des sites pour mes clients dans la Loire, je peux affirmer que la migration HTTPS n’est plus une option. C’est une nécessité absolue. Chaque semaine, je reçois encore des demandes de propriétaires de sites qui affichent le fameux cadenas barré dans la barre d’adresse. La bonne nouvelle : passer son site en HTTPS est une opération que je maîtrise parfaitement, et je vais vous guider à travers chaque étape de cette migration SSL.

Que vous gériez un blog, un site vitrine ou une boutique en ligne, ce guide couvre tout le processus, du choix du certificat jusqu’à la vérification post-migration. J’y ai intégré les retours d’expérience de centaines de migrations réalisées pour mes clients.

Pourquoi passer son site en HTTPS est indispensable en 2026

Le protocole HTTPS (HyperText Transfer Protocol Secure) chiffre les échanges entre le navigateur de vos visiteurs et votre serveur. Sans lui, toutes les données transitent en clair sur le réseau, ce qui expose vos utilisateurs à des interceptions.

Google a officialisé HTTPS comme signal de classement dès 2014. Depuis, l’impact n’a cessé de se renforcer. En 2026, plus de 95 % des pages en première position sur Google utilisent HTTPS. Si votre site reste en HTTP, vous perdez des positions face à des concurrents équivalents qui ont fait la migration.

Les navigateurs modernes ne font plus de cadeaux. Chrome, Firefox et Safari affichent tous un avertissement « Non sécurisé » dans la barre d’adresse pour les sites HTTP. Pour un site professionnel ou un blog que vous souhaitez rentabiliser, cet avertissement fait fuir les visiteurs et détruit la confiance.

Sur le plan réglementaire, le RGPD impose de protéger les données personnelles par des mesures techniques appropriées. La CNIL recommande explicitement le chiffrement HTTPS pour tout site collectant des données, même un simple formulaire de contact.

La configuration du certificat SSL se fait en ligne de commande ou via le panneau d'administration de l'hébergeur
La configuration du certificat SSL se fait en ligne de commande ou via le panneau d’administration de l’hébergeur

Comprendre SSL, TLS et les types de certificats

Le terme SSL (Secure Sockets Layer) est encore largement utilisé, mais le protocole actuel s’appelle TLS (Transport Layer Security). En pratique, quand on parle de « certificat SSL », on désigne un certificat TLS. C’est le même concept : un fichier cryptographique qui authentifie votre site et permet le chiffrement des communications.

Il existe trois niveaux de validation pour les certificats :

Type de certificatValidationDélai d’obtentionCoût annuelUsage recommandé
DV (Domain Validation)Propriété du domaineQuelques minutesGratuit à 50 €Blog, site vitrine, portfolio
OV (Organization Validation)Identité de l’organisation1 à 3 jours50 à 200 €Site d’entreprise, intranet
EV (Extended Validation)Vérification juridique complète3 à 7 jours150 à 500 €E-commerce, banque en ligne
WildcardDomaine + sous-domainesVariable selon le type100 à 400 €Sites avec multiples sous-domaines

Pour la majorité des projets que je gère, un certificat DV gratuit via Let’s Encrypt fait parfaitement l’affaire. C’est le choix que je recommande pour tout site ne traitant pas de transactions bancaires directes. Si vous gérez un nom de domaine avec plusieurs sous-domaines (blog.monsite.fr, boutique.monsite.fr), un certificat Wildcard simplifie la gestion.

Préparer la migration SSL : checklist avant de commencer

J’ai vu trop de migrations bâclées qui ont causé des chutes de trafic de 30 à 50 %. La préparation est la clé d’une migration réussie. Voici la checklist que j’applique systématiquement :

1. Faire une sauvegarde complète. Base de données et fichiers, sans exception. Sur WordPress, j’utilise UpdraftPlus ou WP-CLI. Sur un site statique comme ceux présentés dans mon article sur les générateurs de sites statiques, un simple archivage du répertoire suffit.

2. Auditer les URL internes. Listez toutes les ressources chargées en HTTP : images, scripts, feuilles de style, polices, iframes. Chacune devra passer en HTTPS. J’utilise Screaming Frog ou un simple grep sur la base de données pour identifier les URL en http://.

3. Vérifier la compatibilité serveur. Votre hébergeur doit supporter TLS 1.2 minimum (TLS 1.3 idéalement). La plupart des hébergeurs modernes le proposent nativement. Vérifiez aussi que le module mod_ssl (Apache) ou le bloc SSL (Nginx) est disponible.

4. Noter les URL dans les outils externes. Google Search Console, Google Analytics, réseaux sociaux, annuaires : tous les endroits où votre URL HTTP apparaît devront être mis à jour après la migration.

5. Choisir le bon moment. Je planifie toujours les migrations en période de faible trafic. Un mardi ou mercredi matin est souvent idéal. Évitez les périodes de forte activité commerciale.

Installer un certificat SSL étape par étape

L’installation varie selon votre hébergeur, mais le principe reste identique. Je vais détailler les deux méthodes que j’utilise le plus souvent.

Méthode 1 : via le panneau de contrôle (cPanel, Plesk)

La majorité des hébergeurs mutualisés intègrent Let’s Encrypt directement dans leur interface. Chez OVH, o2switch ou Infomaniak, l’activation se fait en quelques clics :

  1. Connectez-vous à votre espace d’administration (cPanel, Plesk ou interface propriétaire)
  2. Recherchez la section « SSL/TLS » ou « Sécurité »
  3. Sélectionnez votre domaine et activez le certificat Let’s Encrypt
  4. Attendez la propagation (généralement 5 à 15 minutes)
  5. Testez l’accès en tapant https://votre-domaine.fr dans le navigateur

Méthode 2 : via Certbot en ligne de commande

Sur un serveur dédié ou un VPS, j’installe Certbot, l’outil officiel de Let’s Encrypt. Pour un serveur sous Ubuntu avec Nginx, voici la procédure que je suis :

sudo apt update
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d votre-domaine.fr -d www.votre-domaine.fr

Certbot configure automatiquement Nginx et programme le renouvellement automatique du certificat tous les 90 jours. Pour Apache, remplacez python3-certbot-nginx par python3-certbot-apache et l’option --nginx par --apache.

Un point que je vérifie toujours : le renouvellement automatique fonctionne correctement. Un certificat expiré provoque une page d’erreur bloquante pour vos visiteurs. Testez avec :

sudo certbot renew --dry-run
Vérifiez les détails du certificat SSL pour confirmer que l'installation est correcte
Vérifiez les détails du certificat SSL pour confirmer que l’installation est correcte

Configurer les redirections HTTP vers HTTPS

Le certificat installé, votre site est accessible en HTTPS. Mais il reste aussi accessible en HTTP. Sans redirection, vous avez deux versions du même site, ce qui pose un problème majeur de contenu dupliqué pour le SEO. Il faut rediriger systématiquement tout le trafic HTTP vers HTTPS avec une redirection 301 (permanente).

Redirection via .htaccess (Apache)

J’ajoute ces lignes au début du fichier .htaccess à la racine du site :

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Cette règle intercepte toutes les requêtes HTTP et les redirige vers leur équivalent HTTPS en conservant le chemin complet de l’URL.

Redirection via Nginx

Dans la configuration Nginx, j’ajoute un bloc serveur dédié :

server {
    listen 80;
    server_name votre-domaine.fr www.votre-domaine.fr;
    return 301 https://$server_name$request_uri;
}

Forcer HTTPS avec HSTS

Une fois que tout fonctionne en HTTPS, j’active l’en-tête HSTS (HTTP Strict Transport Security). Cet en-tête indique aux navigateurs de toujours utiliser HTTPS pour votre domaine, même si l’utilisateur tape http:// :

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

Attention : n’activez HSTS qu’après avoir vérifié que tout fonctionne parfaitement en HTTPS. Une fois activé avec un max-age long, les navigateurs refuseront de charger votre site en HTTP pendant toute la durée spécifiée. Selon la documentation Mozilla sur HSTS, commencez par un max-age court (300 secondes) avant de passer à un an.

Corriger les erreurs de contenu mixte

Le contenu mixte (mixed content) est le piège numéro un des migrations HTTPS. Il survient quand votre page HTTPS charge des ressources en HTTP : une image, un script JavaScript, une feuille CSS ou une police.

Les navigateurs distinguent deux types de contenu mixte :

  • Contenu mixte actif (scripts, iframes, CSS) : bloqué par défaut. Votre site peut s’afficher sans style ou sans fonctionnalités.
  • Contenu mixte passif (images, vidéos, audio) : affiché avec un avertissement. Le cadenas disparaît ou affiche un triangle jaune.

Pour identifier toutes les erreurs, j’utilise trois méthodes complémentaires :

La console du navigateur. Ouvrez les outils de développement (F12), onglet Console. Chaque ressource mixte génère un avertissement explicite avec l’URL fautive.

Un crawler. Screaming Frog en version gratuite permet de scanner jusqu’à 500 URL et de repérer toutes les ressources HTTP.

Un search-replace en base de données. Sur WordPress, la commande WP-CLI suivante remplace toutes les occurrences :

wp search-replace 'http://votre-domaine.fr' 'https://votre-domaine.fr' --all-tables --dry-run

Le flag --dry-run permet de prévisualiser les modifications avant de les appliquer. Retirez-le pour exécuter réellement le remplacement. Cette commande traite aussi les URL sérialisées dans les options WordPress, ce qu’un simple SQL REPLACE ne gère pas correctement.

Migration HTTPS sur WordPress : méthode complète

WordPress étant le CMS que je déploie le plus souvent, j’ai affiné une procédure en six étapes qui garantit une migration sans perte de trafic. Si vous cherchez aussi à améliorer la vitesse de votre site WordPress, la migration HTTPS est un excellent point de départ.

Étape 1 : installer le certificat SSL via votre hébergeur (voir section précédente).

Étape 2 : modifier les URL WordPress. Dans Réglages > Général, changez les deux champs :

  • Adresse web de WordPress (URL) : https://votre-domaine.fr
  • Adresse web du site (URL) : https://votre-domaine.fr

Étape 3 : search-replace complet avec WP-CLI (commande ci-dessus) ou le plugin Better Search Replace si vous n’avez pas accès au terminal.

Étape 4 : mettre à jour le fichier wp-config.php. J’ajoute ces deux lignes pour forcer l’administration en HTTPS :

define('FORCE_SSL_ADMIN', true);
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

La deuxième condition est indispensable si votre site est derrière un reverse proxy ou un CDN comme Cloudflare.

Étape 5 : configurer les redirections 301 dans le .htaccess (voir section précédente).

Étape 6 : vider tous les caches. Cache WordPress (WP Super Cache, W3 Total Cache, WP Rocket), cache CDN, cache navigateur. Un cache contenant d’anciennes URL HTTP provoque des erreurs de contenu mixte fantômes.

La modification des URL dans les réglages WordPress est une étape clé de la migration HTTPS
La modification des URL dans les réglages WordPress est une étape clé de la migration HTTPS

Vérifier le SEO et les outils après migration

La migration technique est terminée, mais le travail SEO ne fait que commencer. Voici les vérifications que j’effectue systématiquement pour chaque client :

Google Search Console. Ajoutez la propriété HTTPS de votre site (Google traite HTTP et HTTPS comme deux propriétés distinctes). Soumettez le nouveau sitemap en https://. Surveillez les erreurs d’exploration pendant les deux semaines suivantes.

Google Analytics. Mettez à jour l’URL par défaut dans les paramètres de la propriété. Sans cette modification, vos statistiques ne seront pas affectées, mais les rapports de comportement peuvent présenter des incohérences.

Sitemap XML. Régénérez votre sitemap pour que toutes les URL soient en HTTPS. Sur WordPress, Yoast SEO ou Rank Math le font automatiquement après la mise à jour des URL en base.

Fichier robots.txt. Vérifiez que la directive Sitemap pointe vers la version HTTPS :

Sitemap: https://votre-domaine.fr/sitemap.xml

Backlinks et profils sociaux. Contactez les sites qui pointent vers vous pour demander une mise à jour des liens. Mettez à jour vos profils sur les réseaux sociaux, annuaires professionnels et plateformes marketing. Les redirections 301 transmettent environ 95 % du jus de lien, mais un lien direct en HTTPS reste préférable.

Test SSL. Utilisez l’outil gratuit SSL Labs de Qualys pour vérifier la qualité de votre configuration SSL. Visez un score A ou A+. Un score inférieur à B indique des faiblesses dans votre configuration TLS.

Erreurs fréquentes et solutions de dépannage

En douze ans de pratique, j’ai rencontré à peu près tous les scénarios possibles. Voici les problèmes les plus courants et mes solutions éprouvées :

Boucle de redirection infinie. Symptôme : le navigateur affiche « ERR_TOO_MANY_REDIRECTS ». Cause fréquente : le serveur ou un plugin WordPress force HTTPS, mais un reverse proxy (Cloudflare, Varnish) envoie la requête en HTTP au serveur d’origine. Solution : ajoutez la condition HTTP_X_FORWARDED_PROTO dans wp-config.php ou dans la règle .htaccess :

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Certificat non reconnu. Le navigateur affiche un avertissement de sécurité malgré le certificat installé. Vérifiez que la chaîne de certification complète est installée (certificat intermédiaire inclus). Sur Certbot, c’est automatique. Sur une installation manuelle, vous devez concaténer votre certificat avec le certificat intermédiaire de l’autorité.

Perte de positions SEO temporaire. Une légère fluctuation est normale pendant 2 à 4 semaines après la migration. Google doit réindexer toutes vos pages en HTTPS. Si la chute persiste au-delà d’un mois, vérifiez vos redirections 301 et votre Search Console pour détecter des erreurs d’exploration.

Images cassées après migration. Les images insérées avec des URL absolues en HTTP ne se chargent plus ou affichent un avertissement. Le search-replace en base de données résout ce problème. Pensez aussi aux images codées en dur dans le thème ou dans du code PHP personnalisé.

Formulaires qui ne fonctionnent plus. Certains plugins ou scripts tiers envoient les données de formulaire vers une URL HTTP. Vérifiez les attributs action de vos balises <form> et les URL d’API dans vos fichiers JavaScript.

Performance dégradée. Le chiffrement TLS ajoute un overhead négligeable sur les serveurs modernes. Si vous constatez un ralentissement, activez HTTP/2 (qui nécessite HTTPS) : il compense largement le coût du chiffrement grâce au multiplexage des requêtes. La plupart des hébergeurs l’activent automatiquement avec le certificat SSL.

À retenir

  • Faites une sauvegarde complète (fichiers et base de données) avant de toucher à quoi que ce soit
  • Utilisez Let’s Encrypt pour un certificat gratuit et renouvelé automatiquement tous les 90 jours
  • Configurez des redirections 301 systématiques de HTTP vers HTTPS dans votre .htaccess ou Nginx
  • Lancez un search-replace en base de données pour éliminer toutes les URL HTTP internes
  • Ajoutez votre propriété HTTPS dans Google Search Console et soumettez un nouveau sitemap
  • Testez votre configuration sur SSL Labs et visez un score A minimum

Questions fréquentes

Comment faire passer son site en HTTPS gratuitement ?

Installez un certificat Let’s Encrypt depuis le panneau de contrôle de votre hébergeur (cPanel, Plesk) ou via Certbot en ligne de commande. Le certificat est entièrement gratuit, renouvelé automatiquement tous les 90 jours, et reconnu par tous les navigateurs. La majorité des hébergeurs français (OVH, o2switch, Infomaniak) proposent l’activation en un clic.

Comment forcer la redirection automatique de HTTP vers HTTPS ?

Ajoutez une règle de redirection 301 dans votre fichier .htaccess (Apache) ou dans la configuration du serveur (Nginx). Sur Apache, les trois lignes RewriteEngine On, RewriteCond %{HTTPS} !=on et RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] suffisent. Pour une protection renforcée, activez l’en-tête HSTS après avoir vérifié que tout fonctionne.

Comment résoudre les erreurs de contenu mixte après migration SSL ?

Ouvrez la console de votre navigateur (F12) pour identifier les ressources chargées en HTTP. Remplacez toutes les URL http:// par https:// dans votre base de données avec WP-CLI (wp search-replace) ou le plugin Better Search Replace. Vérifiez aussi les URL codées en dur dans votre thème, vos fichiers CSS et vos scripts JavaScript.

La migration HTTPS fait-elle perdre du référencement SEO ?

Une migration correctement réalisée ne fait pas perdre de référencement. Une fluctuation légère est normale pendant 2 à 4 semaines, le temps que Google réindexe vos pages en HTTPS. Si les redirections 301 sont en place et que la Search Console est configurée, le trafic se stabilise rapidement. À moyen terme, le HTTPS apporte un léger bonus SEO.

Faut-il un certificat SSL payant ou gratuit ?

Pour un site vitrine, un blog ou un petit e-commerce, un certificat DV gratuit via Let’s Encrypt est parfaitement adapté. Les certificats payants (OV ou EV) ajoutent une validation de l’identité de votre organisation, ce qui est pertinent pour les banques, les assurances ou les grands sites e-commerce. Le niveau de chiffrement est identique dans tous les cas.

Combien de temps prend une migration HTTPS complète ?

Sur un site WordPress standard avec moins de 500 pages, comptez entre 1 et 3 heures pour l’ensemble du processus : installation du certificat, redirections, search-replace et vérifications. Un site plus complexe avec des intégrations tierces, du code personnalisé ou plusieurs sous-domaines peut nécessiter une demi-journée à une journée complète.

Nathan Morel
Nathan Morel

Nathan Morel est développeur web freelance depuis 12 ans dans la Loire. Spécialisé WordPress et solutions sur mesure, il a accompagné plus de 200 PME et partage son expérience technique et entrepreneuriale sur NA Web.

Un projet web ? Discutons-en.

Diagnostic gratuit et devis sous 24h.

Me contacter

Votre site est lent ?

Optimiser mon site