Retour au Journal
SécuritéNº 00402 juin 20265 min

Comment un certificat SSL expiré a sorti ta boutique de Google en 48 heures

Un certificat expire un mercredi à 03h14. Vendredi matin, le trafic organique s'effondre. Pas de malchance — de la négligence mesurable.

Une boutique d'équipement de bureau à Porto a perdu 78% de son trafic organique entre mercredi et vendredi. Personne n'avait touché au site depuis des semaines. Le problème tenait sur une ligne de log : le certificat SSL avait expiré mercredi à 03h14.

Quand le Googlebot est repassé sur le site ce matin-là, il a trouvé ERR_CERT_DATE_INVALID. Il n'a rien indexé. Pire, il a marqué le domaine comme non sécurisé pour les utilisateurs qui cliqueraient sur les résultats encore en cache. En 48 heures, Chrome affichait l'écran rouge d'avertissement avant la page d'accueil.

Pourquoi Google réagit aussi mal

Depuis 2014, le HTTPS est un signal de classement. Depuis 2018, Chrome marque le HTTP comme « non sécurisé ». Un certificat expiré, c'est pire que du HTTP — c'est du HTTPS cassé. Le navigateur interprète ça comme une tentative d'usurpation, même si ce n'est que acme.sh qui a raté le renouvellement.

Le Googlebot traite un handshake TLS échoué comme une erreur de crawl. Il réessaie, échoue, réessaie, échoue. Au bout de quelques heures, il commence à désindexer. Les pages ne disparaissent pas immédiatement de l'index, mais elles perdent leur classement parce que le signal de confiance est tombé à zéro.

Ce qui s'est passé concrètement

  1. 03h14 mercredi — le certificat Let's Encrypt expire. Le cron de renouvellement avait échoué trois fois pendant les 30 jours précédents. Personne n'a vu l'email.
  2. 08h00 mercredi — les premiers utilisateurs sur mobile voient l'avertissement rouge. Le taux de rebond explose.
  3. 11h30 mercredi — le Googlebot passe, rate le handshake, enregistre des soft 404 en masse.
  4. Jeudi matin — Search Console envoie une alerte de « couverture ». Personne n'ouvre Search Console.
  5. Vendredi 09h00 — les ventes sont à l'arrêt. Le client appelle le développeur. Le développeur trouve le problème en quatre minutes.

Le renouvellement lui-même a pris 90 secondes. La récupération du classement a pris 23 jours. Pendant ce temps, le concurrent a pris les premières positions sur les mots-clés principaux et ne les a jamais complètement lâchées.

Pourquoi le cron a échoué

Le serveur avait changé d'IP en janvier. Le DNS pointait correctement, mais le challenge HTTP-01 de Let's Encrypt tombait sur un nouveau pare-feu qui bloquait les requêtes venant de la plage de l'ISRG. Chaque tentative de renouvellement enregistrait une erreur dans un log que personne ne lisait.

C'est le schéma classique. Le certificat n'expire pas parce que le renouvellement est difficile. Il expire parce que le renouvellement automatique échoue en silence et que personne n'a d'alarmes pointées sur les bons logs.

Ce que tu dois faire aujourd'hui

  • Surveillance externe du certificat, pas du cron. Utilise un service comme UptimeRobot ou StatusCake configuré pour alerter 14 jours avant l'expiration.
  • Alertes sur Telegram ou par SMS, pas par email. Les emails d'avertissement de Let's Encrypt finissent dans une boîte que personne ne consulte.
  • Vérifie Search Console toutes les semaines. Si le Googlebot échoue, c'est écrit noir sur blanc.
  • Teste le renouvellement manuellement une fois par trimestre. Si le cron marche en production mais pas en staging, c'est que tu as un drift de configuration.
  • Documente la procédure de renouvellement d'urgence. Quand le site tombe le vendredi à 18h, tu ne veux pas être en train d'apprendre acme.sh.
Un certificat expiré, c'est la façon la moins chère de perdre six mois de SEO. Ça coûte zéro euro à prévenir et trois salaires à récupérer.Audit interne post-incident, client Porto

Le coût réel

La boutique a facturé 31 000 euros de moins ce mois-là par rapport à la moyenne trimestrielle. Le développeur qui a monté le serveur a facturé 180 euros pour résoudre. Le coût de la prévention aurait été nul — un cron job supplémentaire de health check et un webhook vers Telegram.

Si tu vends en ligne en France et que tu n'as pas encore de surveillance indépendante de ton propre serveur qui veille sur le certificat, tu es à un renouvellement raté de perdre ton trimestre. Ce n'est pas de l'alarmisme. C'est de l'arithmétique.


La règle est simple. Ne fais pas confiance au cron qui renouvelle. Fais confiance au moniteur externe qui vérifie que le cron a bien renouvelé.

Références
  1. 01Google Search Central — Le HTTPS comme signal de classement
  2. 02web.dev — Pourquoi le HTTPS est important
  3. 03Let's Encrypt — Emails d'expiration et renouvellement
  4. 04MDN — Transport Layer Security (TLS)
  5. 05Mozilla Observatory — Test de configuration TLS
Aussi :
SécuritéNº 002

HTTPS n'est plus une feature. C'est la baseline.

En 2026, tout site sans certificat SSL dit au visiteur de partir — et le navigateur tient à le souligner.

Web pour PMENº 005

Pourquoi votre site WordPress de 2019 vous coûte des clients en 2026

Sept ans, c'est une éternité sur le web. Le site qui paraissait moderne en 2019 fait fuir les clients avant le premier contact. Voici pourquoi.

Retour au Journal