The Friday Deploy

The plain English newsletter for people who run the business, not the tech stack. No jargon. Every Friday.

SSL Certificate Expired and Took Down Your Site: Prevention Guide

December 5, 2025

It’s 4:30 PM on Friday. Your site is completely inaccessible. Every browser shows an ominous “Your connection is not secure” warning. Customers are emailing asking if you’ve been hacked. Your developer left for the weekend an hour ago and isn’t responding. You’re losing sales by the minute and facing an entire weekend of downtime.

The culprit? Your SSL certificate expired and nobody noticed until it was too late.

This exact scenario plays out constantly. Microsoft Teams went down for three hours in February 2020 because Microsoft forgot to renew an authentication certificate. Spotify’s streaming service stopped working when their SSL certificate expired in August 2020. Epic Games (maker of Fortnite) experienced a massive outage in April 2021 from an expired wildcard certificate.

If giant tech companies with dedicated security teams can mess this up, it can happen to anyone.

What SSL Certificates Actually Do

SSL certificates create the encrypted HTTPS connection that protects data between your website and your customers. When you see the padlock icon in your browser’s address bar, that’s an SSL certificate at work.

Without a valid SSL certificate, browsers block access to your site entirely or display scary security warnings that send customers running. It’s not a minor inconvenience. It’s a complete outage.

The certificate proves your site is legitimate and encrypts sensitive information like passwords, payment details, and personal data. When it expires, that trust evaporates instantly.

Why Certificates Expire (And Why That’s Actually Good)

SSL certificates have expiration dates for legitimate security reasons, similar to why passports and driver’s licences expire. Security standards evolve. Cryptographic methods improve. Expired certificates using outdated encryption methods become vulnerabilities.

Certificates used to be valid for five years, then two years. Since September 2020, publicly trusted certificates max out at 398 days (just over 13 months). The industry is moving toward even shorter lifespans, with 90-day certificates becoming increasingly common. Let’s Encrypt, the popular free certificate provider, issues 90-day certificates by default.

Shorter validity periods are more secure but create more renewal opportunities to mess up. A five-year certificate required renewal once every five years. A 90-day certificate needs renewal four times per year. More renewals mean more chances for something to go wrong.

What Actually Happens When Certificates Expire

The consequences are immediate and severe.

Your site becomes inaccessible. Modern browsers (Chrome, Firefox, Safari, Edge) block access entirely when they detect an expired certificate. Users see error messages like “Your connection is not private” or “This site can’t provide a secure connection.” Most people won’t click through the warnings. They’ll assume you’ve been hacked or your business has closed.

Search rankings drop. Google penalises sites without valid SSL certificates. An expired certificate can tank your search visibility within hours. You’ll lose organic traffic on top of losing direct traffic.

Payment processing stops. If you run an ecommerce site, payment gateways won’t process transactions without valid SSL. Your checkout is effectively broken. Every minute costs you sales.

APIs and integrations fail. If your site connects to other services (payment processors, shipping calculators, inventory systems, CRMs), those connections break when your certificate expires. The damage cascades beyond just your public-facing website.

Customer trust evaporates. Security warnings scare people. Even after you fix the certificate, customers who encountered the error will remember. Some won’t come back.

Industry data shows the scale of this problem. One survey found 45% of enterprises experienced downtime due to certificate issues in a year, with 37.5% of those outages caused specifically by expired certificates. Another report noted 88% of companies had an unplanned outage from an expired certificate over two years.

The Cost of Downtime

According to research, over 98% of large enterprises report that one hour of downtime costs over $100,000. That’s $1,667 per minute. For businesses with critical ecommerce operations, the cost climbs to $16,670 per minute when multiple systems are affected.

For smaller Australian businesses, the impact is proportional but still significant. If your ecommerce site does $50,000 monthly revenue and your certificate expires on a weekday, even a four-hour outage could cost you $1,000 to $2,000 in lost sales, plus the reputational damage.

The kicker? SSL certificate expiration is completely preventable. Unlike server failures or DDoS attacks, this isn’t a technical problem. It’s a process problem.

How Certificates Expire Without Anyone Noticing

The most common failure points are predictable.

Email notifications get missed. Certificate authorities send renewal reminders to the email address registered when the certificate was purchased. If that person left the company, changed roles, or the email went to spam, nobody sees the warnings. Sometimes the credit card on file expires, the auto-renewal fails, and the notification about the failed payment gets overlooked.

Responsibility isn’t clear. In many businesses, nobody owns certificate management. Marketing thinks IT handles it. IT thinks the web developer handles it. The developer thinks hosting handles it. Everyone assumes someone else is paying attention. The certificate expires.

Tracking systems fail. Some teams track certificates in spreadsheets or calendar reminders. People go on holiday. Staff turnover happens. The spreadsheet becomes outdated. The calendar reminder gets dismissed and forgotten.

Let’s Encrypt auto-renewal breaks. Let’s Encrypt certificates renew automatically via a cron job or systemd timer. That automation is brilliant when it works. But if the cron job fails, if DNS changes, if the server configuration changes, the renewal silently fails. Without monitoring, you won’t know until the certificate expires and your site goes down.

Prevention: Making Expiration Impossible

The solution isn’t trying harder to remember. It’s making expiration structurally impossible through automation and monitoring.

Use Let’s Encrypt with verified auto-renewal. Let’s Encrypt provides free SSL certificates that renew automatically every 90 days via certbot. After initial setup, the renewal happens in the background without human intervention. The key word is “verified.” Don’t just assume it’s working. Test the renewal process regularly using sudo certbot renew --dry-run to confirm the automation actually functions.

Monitor certificate expiration actively. Even with auto-renewal, monitor your certificates. Free tools like UptimeRobot, TrackSSL, or SSL Labs provide expiration monitoring and send alerts 30, 14, 7, and 1 day before expiry. These tools check your certificate independently of your hosting provider, catching failures before they cause outages.

Consolidate certificate management. If you have multiple domains and subdomains, centralise certificate tracking. Don’t rely on memory or scattered reminders. Use a single monitoring system that tracks all your certificates and alerts the right people when renewal is needed.

Establish clear ownership. One specific person should be responsible for certificate management. Not a department, not a shared responsibility. One person who receives alerts, knows the renewal process, and has access to fix problems. Have a documented backup person for when the primary owner is unavailable.

Set up redundant alerts. Configure alerts to go to multiple people via multiple channels (email, SMS, Slack). If one notification fails, others get through. Don’t rely on a single email address that might get overlooked.

Choosing Between Let’s Encrypt and Commercial Certificates

For most Australian small to medium businesses, Let’s Encrypt is the right choice. It’s free, automated, and trusted by all major browsers. The 90-day renewal cycle sounds scary but actually reduces risk because the automation handles it. You’re not trying to remember to renew once per year. The system just works.

Commercial certificates (from providers like Sectigo, DigiCert, GlobalSign) make sense in specific situations. If you need Extended Validation (EV) certificates for higher trust levels (common for ecommerce sites wanting the company name in the address bar), you’ll need a commercial provider. If you need wildcard certificates covering unlimited subdomains, commercial options offer longer validity periods (up to 398 days). If your organisation requires specific compliance certifications, commercial certificates might be necessary.

The trade-off is cost and manual renewal. Commercial certificates typically cost $50 to $300 annually depending on validation level. They require manual renewal, which reintroduces the risk of forgetting.

Setting Up Let’s Encrypt Properly

If you’re using Let’s Encrypt, proper setup is critical. The installation is straightforward but verifying auto-renewal actually works is essential.

Most hosting providers (SiteGround, DigitalOcean, AWS, etc.) offer one-click Let’s Encrypt installation. If you’re managing your own server, certbot handles the installation and renewal.

After installation, verify the renewal automation:

Check the cron job exists: Run sudo crontab -l or sudo systemctl list-timers to confirm certbot’s renewal timer is active. On Ubuntu, certbot installs a systemd timer that runs twice daily.

Test renewal works: Run sudo certbot renew --dry-run to simulate renewal without actually requesting a new certificate. This catches configuration problems before they cause outages.

Confirm nginx/Apache reloads: After renewal, your web server needs to reload to use the new certificate. Certbot handles this automatically if configured correctly. Verify it’s set up properly during testing.

Monitor externally: Don’t rely solely on certbot working correctly. Use an external monitoring service that checks your certificate independently and alerts you if problems emerge.

What to Do When Your Certificate Expires Anyway

Despite best efforts, certificates still expire occasionally. When it happens, speed matters.

Immediate action:

Contact your hosting provider or developer immediately if you’re not managing certificates yourself. If you’re using Let’s Encrypt and have server access, run sudo certbot renew --force-renewal to immediately request a new certificate. Most certificate authorities offer emergency reissuance if you have an expired commercial certificate. Communicate transparently with customers via social media or email about the issue and expected resolution time.

Don’t panic about security. An expired certificate doesn’t mean you’ve been hacked or data was stolen. It just means the certificate proving your site’s identity is out of date. Fix it quickly and move on.

Document what went wrong. After resolution, figure out why renewal failed. Was it a missed email? Did auto-renewal break? Was responsibility unclear? Fix the root cause so it doesn’t happen again.

Common Mistakes to Avoid

Assuming auto-renewal means you never need to check. Auto-renewal fails more often than people expect. Server changes, DNS updates, configuration drift can all break the automation silently. Monitor certificates even when auto-renewal is enabled.

Using the same email address for all certificates. If that email account becomes inaccessible (person leaves company, mailbox full, account compromised), you lose access to renewal notifications for every certificate. Use a role-based email (ssl@yourcompany.com.au) that multiple people can access.

Not testing renewal before expiration. Don’t wait until a certificate is about to expire to discover auto-renewal doesn’t work. Test quarterly using dry-run renewals to catch problems with time to fix them.

Letting only one person know how to renew certificates. When that person is on holiday, sick, or leaves the company, nobody else can fix an expiration emergency. Document the renewal process and ensure at least two people understand it.

Ignoring certificate warnings until the site breaks. If your monitoring system sends warnings about upcoming expiration, address them immediately. Don’t wait until the last day, hoping auto-renewal will kick in.

Setting Up Monitoring Today

You don’t need enterprise-level tools to monitor certificates effectively.

UptimeRobot (free tier available) monitors SSL certificates and sends alerts before expiration. It also monitors site uptime, killing two birds with one stone.

TrackSSL specialises in certificate monitoring with multiple notification methods (email, SMS, Slack, Microsoft Teams).

SSL Labs (free) lets you manually check certificate status and configuration. Useful for spot checks but not automated monitoring.

Let’s Encrypt Certbot includes built-in monitoring if you configure it to send email alerts when renewal fails.

Pick one tool, set it up, configure alerts to go to multiple people, and test it actually works by temporarily setting an alert threshold that triggers immediately.

The Bottom Line

SSL certificate expiration is the most preventable outage your site can experience. Unlike complex technical failures, this is purely about process and attention.

Use Let’s Encrypt with verified auto-renewal. Monitor certificates with external tools. Establish clear ownership with redundant alerting. Test renewal regularly.

The alternative is watching your site go down, losing sales, and scrambling to fix a problem that never should have happened.

Your certificate will expire eventually. The only question is whether you’ll know before your customers do.

Read more Technical Translation

Let's Encrypt, Maintenance, Security, Site Availability, SSL Certificates

Previous Next

The Friday Deploy

The plain English newsletter for people who run the business, not the tech stack. No jargon. Every Friday.