SSL Certificate Expired: What to Do?

Urgent actions to restore your site security and prevent it from happening again.

The gist, in ten seconds
ERR_CERT_DATE_INVALID What visitors see, before your page even loads
90 days Lifetime of a Let's Encrypt certificate
D-30 When Certbot starts attempting renewal
1 command To read the exact expiry date

Check the expiry date right now

From any machine, without server access. Replace the domain and read the notAfter line.

bash
openssl s_client -connect exemple.fr:443 -servername exemple.fr </dev/null 2>/dev/null \
  | openssl x509 -noout -dates

notBefore is the issue date, notAfter the expiry date. If notAfter is in the past, the diagnosis is confirmed: the certificate has expired, while the server itself still answers.

Three things to know

  1. The site is not down. The server answers normally; TLS validation is what fails, and the browser refuses to render the page before even requesting it.
  2. Automatic renewal fails silently. Certbot attempts its update well before the deadline: if nobody reads its logs, the failure only surfaces on expiry day.
  3. Recovery takes minutes. Renewing then reloading the web server is enough in the vast majority of cases — provided you are told in time.

Your SSL certificate has expired and your visitors are greeted by a scary warning page. It's a stressful situation, but don't panic: the problem is reversible and you can fix it quickly. The key is to act fast to minimize the impact on your business and SEO rankings.

An expired SSL certificate effectively blocks access to your site for most visitors. Modern browsers display alarming warnings and most users won't risk continuing. Every minute that passes costs you visitors, sales, and potentially your search engine rankings.

This guide walks you through step by step to resolve the problem as quickly as possible, then implement measures so it never happens again.

Consequences of an Expired SSL Certificate

Here's what happens when a visitor accesses your site with an expired certificate:

Urgent Actions (< 1 hour)

Follow these steps in order to resolve the problem as quickly as possible:

  1. Identify certificate type: Determine if you're using Let's Encrypt (free, auto-renewal) or a commercial certificate (Digicert, Comodo, etc.). This information determines the renewal procedure.
  2. Access the server: SSH into your server, or access your hosting provider's control panel (cPanel, Plesk, etc.).
  3. Renew the certificate: Follow the appropriate procedure for your certificate type (see sections below).
  4. Verify the result: Test your site in a private/incognito browser window to verify the certificate is properly installed and valid.

Let's Encrypt Renewal

If you're using Let's Encrypt with Certbot, here's the procedure:

  1. SSH connect: Use your usual SSH client (Terminal, PuTTY) to access the server.
  2. Force renewal: Run sudo certbot renew --force-renewal to force renewal even if the certificate isn't close to expiration.
  3. Reload web server: Run sudo systemctl reload nginx (or apache2) so the server uses the new certificate.
  4. Check the cron: Make sure the auto-renewal cron is properly configured to prevent this from happening again.

Let's Encrypt Renewal Commands

Here are the commands to run on your server:

# 1. Force certificate renewal
sudo certbot renew --force-renewal

# 2. Verify the result
sudo certbot certificates

# 3. Reload web server (Nginx)
sudo systemctl reload nginx

# Or for Apache:
sudo systemctl reload apache2

# 4. Test automatic renewal
sudo certbot renew --dry-run

# 5. Check the cron
systemctl list-timers | grep certbot

These commands renew your Let's Encrypt certificate and verify that auto-renewal is properly configured. The --dry-run simulates a renewal without modifying the certificate.

Prevention: Make Sure It Never Happens Again

Once the problem is resolved, implement these preventive measures:

Expired Certificate Urgent Checklist

  • Certificate type identified (Let's Encrypt or commercial)
  • Access to server or hosting panel obtained
  • Certificate renewed and installed
  • Web server reloaded
  • Site tested in a private browser window
  • MoniTao monitor configured for continuous monitoring

Frequently Asked Questions About Expired Certificates

Was my site hacked if the certificate expired?

No, SSL certificate expiration is not a hack. It's simply a renewal oversight or a failure of the automatic process. Your data and your visitors' data are not compromised by the expiration itself.

Can I temporarily switch my site to HTTP while waiting?

Technically possible, but strongly discouraged. Your visitors would see an unsecured site, which is almost as damaging as the certificate error. Focus on quick renewal instead.

Is my visitors' data compromised?

Certificate expiration doesn't expose existing data. However, new connections aren't encrypted until the certificate is renewed, which presents a theoretical risk.

How long before Google properly re-indexes my site?

Once the certificate is restored, Google should notice the change on its next crawl (usually 1-3 days). The impact on your rankings depends on how long the expiration lasted.

Why did Let's Encrypt auto-renewal fail?

Common causes are: port 80 blocked by firewall, web configuration changed, disk full, or the certbot cron no longer running. Check logs with sudo journalctl -u certbot.

Do I need to generate a new CSR to renew?

For Let's Encrypt, no. For commercial certificates, it depends on the provider. Some accept the same CSR, others require a new one for each renewal.

Resolve the Emergency, Then Prevent

An expired SSL certificate is stressful, but it's a problem that typically resolves in less than an hour. The key is to act quickly to minimize the impact on your visitors and SEO. Once the problem is resolved, take time to implement preventive measures.

With MoniTao, you receive automatic alerts well before your certificate expires. It's the safety net that guarantees you'll never have to handle this emergency again. Set up your first HTTPS monitor in under 2 minutes.

Ready to Sleep Soundly?

Start free, no credit card required.