Guides
Written for the failures that tell nobody: the cron job that stopped three weeks ago, the certificate nobody was watching, the checkout that answers 200 and takes nine seconds. Every one of them is meant to be useful even if you never sign up.
When a scheduled job stops
The failure nothing reports: no error page, no failed job, nothing in the log — because nothing ran. Each of these ends with a way to be told.
Laravel scheduler not running? Here is how to prove it, and how to be told next time
schedule:run stops and Laravel says nothing. The usual causes, the one command that tells you the truth, and how to get a message the next time it stops instead of finding out from a missing report.
WP-Cron not running: why scheduled posts stop and backups quietly stop happening
WP-Cron only fires when somebody visits your site. On a quiet site that means scheduled posts, backups and WooCommerce renewals can stall for weeks with no error anywhere.
A cron job failed and nobody noticed: how to catch the ones that fail quietly
Cron only emails you if it can, and on most servers it cannot. Here is why failures vanish, and the one-line change that turns a silent failure into a message.
Monitor a Vercel cron job and get told when it stops
Vercel runs your cron and retries nothing. Add a dead-man's switch so a job that stops firing, or starts failing, actually reaches you.
Monitor a cPanel cron job and get alerts when it stops
cPanel emails you when a cron job produces output, which means a job that stops running entirely tells you nothing. Add a heartbeat instead.
Get alerted when a Kubernetes CronJob stops running
A suspended, mis-scheduled or evicted CronJob produces no events worth alerting on. A heartbeat catches all three without a metrics stack.
Monitor a cron job and get an alert when it stops
Add one line to your crontab and get a message if the job stops running. Includes handling for jobs that fail rather than silently doing nothing.
Get alerted when a GitHub Actions workflow stops running
Scheduled GitHub Actions workflows are disabled automatically after 60 days of repository inactivity, silently. Here's how to find out.
Monitor Laravel's scheduler and know when it stops
Laravel's scheduler depends on one cron entry. If that entry is lost in a server move, every scheduled task stops silently. Here's how to catch it.
When a certificate is about to expire
Cheap to prevent, embarrassing in public, and the one outage your customers screenshot.
SSL certificate expired: what breaks, how to fix it now, and how to never repeat it
An expired certificate takes a site offline for every visitor at once, with a browser warning that looks like a hack. The immediate fix, and why auto-renewal is not enough on its own.
Get an alert before an SSL certificate expires
Certificates expire at inconvenient times and browsers make it everyone's problem instantly. Get warned at 14, 7, 3 and 1 days, wherever you are.
When a site or an API goes down
Including the outage a status-code check sleeps through — the page that answers 200 in nine seconds and loses the sale anyway.
Monitoring an API endpoint that needs authentication
A health check behind a bearer token, asserting on the JSON body rather than the status code, with a response-time budget. Because 200 OK does not mean the database is up.
The site is up but slow — why uptime monitoring misses your worst outages
A page that takes nine seconds is 200 OK to every uptime monitor and abandoned by most visitors. How to catch slow before it becomes down.
Know when your WordPress site goes down — or WP-Cron quietly stops
Monitor a WordPress site from outside, and separately prove WP-Cron is still firing. Scheduled posts, backups and WooCommerce renewals all depend on it, and nothing in WordPress tells you when it stops.
Know your Shopify store is down before a customer tells you
Shopify rarely goes down entirely, but checkout, apps and DNS all fail independently. Monitor the pages that take money, and get told the moment one breaks.
Getting the alert somewhere you read it
For people already running another monitor who just want the message to arrive somewhere they look.
Why these are long
Because the short version does not work. Somebody searching “wp-cron not running” wants the command that proves it, not four paragraphs explaining that monitoring matters and a signup button. Each guide leads with the thing you came for and mentions us at the end, if at all.