Guides

Why Let's Encrypt auto-renewal fails (and how to catch it)

Let's Encrypt certificates last 90 days and renew automatically, until they don't. Renewal is usually attempted about 30 days before expiry, so a certificate with only a week or two left almost always means renewal has been failing for weeks.

The usual causes

How to diagnose

sudo certbot renew --dry-run
sudo journalctl -u certbot --since "-7 days"

On managed hosting (cPanel AutoSSL, SiteGround, Kinsta, WP Engine and others) the SSL page in the control panel shows the last error. It's usually a DNS or CDN problem.

Catch it early

Let's Encrypt stopped sending expiry reminder emails in 2025, so nothing warns you anymore unless you set it up. Lapse connects to each site like a browser does, reads the certificate actually served, and alerts you at 14, 7, 3 and 1 days, which is only when auto-renewal has clearly failed.