Cron visibility & repair for WordPress

The backup said weekly. The last one ran in March.

Scheduled emails not sending, backups not running, nobody knows why. WP Cron Repair shows every scheduled job with the plugin that owns it, diagnoses what's overdue, flags what deleted plugins left behind — and repairs it, with undo.

FROM $49/YEAR · LIFETIME OPTION · 14-DAY GUARANTEE

Every job attributed to the plugin that owns it Overdue diagnosed — site-level health verdict Repair with undo — run-now, snapshot delete Stall alerts + server cron + report (Pro)
“The abandoned-cart emails just stopped. Three weeks ago. Nothing errored, nothing warned — they simply stopped going out.”
— Every store owner who trusted the word “scheduled”

WP-Cron only runs when someone visits. Deleted plugins leave their schedules behind. A forgotten DISABLE_WP_CRON silences everything. WP Cron Repair shows every job, names its owner, diagnoses how late it really is — and repairs it, reversibly.

How it works

See every job. Fix the ones that lied.

The plugin reads the whole cron queue, traces each job back to the code that owns it, checks every schedule against reality, and gives you safe tools to put it right — with a snapshot behind every change.

SEE

Every job, attributed

The full cron inventory, with each job traced to the plugin, theme or core that owns it — its schedule, its next run, and how often it has actually fired. The anonymous hook list becomes a named ledger: whose job, doing what, due when.

DIAGNOSE

Overdue detection, site verdict

Every job is checked against its own schedule, and the gaps are stated in plain terms — 21 days overdue, missed six times — not raw timestamps. The site gets a single health verdict (on time, drifting, or stalled with the hours counted), so “is cron working?” has a one-line answer. It pairs with WP Drift Auditor without overlap: Drift Auditor checks cron policy; this fixes cron reality.

FLAG

Likely orphans, honestly labelled

Deleted plugins leave their schedules behind — jobs queued forever, pointing at code that's gone. The plugin flags them, and it's honest about certainty: because plugins register their handlers conditionally, an unclaimed job is a “likely orphan”, never a verdict. You see the evidence — no owner found across this many requests — and decide.

REPAIR

Run now, delete with undo

Run-now fires a job immediately and captures what happens — output, errors, duration, whether it rescheduled itself — so “broken or just late?” takes two seconds to answer. Delete always takes a snapshot first: hook, arguments, schedule, next run, all stored, one click to put it back exactly as it was.

WATCH

The heartbeat monitor — Pro

Records a heartbeat on every request and emails you when cron stalls. Honest physics: WordPress code only runs when a request arrives, so detection is opportunistic — the alert fires at the first opportunity after the gap, usually minutes or hours, never magically at the exact second. The email names the gap, the last successful run, and the likely cause.

MIGRATE

Real server cron — Pro

Visitor-triggered cron is the disease; real server cron is the cure. The migration helper gives you the exact crontab line for your site — copy, paste, done — and a verify panel that watches for the real cron's first calls and confirms it's firing before you rely on it. It never edits wp-config itself; it tells you the one line to add and checks the result.

REPORT

Branded cron-health report — Pro

Print-ready HTML and a real downloadable PDF in your agency's logo, name and colours: the verdict, the job ledger with owners, what was overdue, what was repaired, what's now watched. The scheduled work nobody sees, made visible for the retainer file.

Who it's for

Every “it was scheduled” moment.

?The silent store

Abandoned-cart emails stopped three weeks ago and revenue quietly followed. The ledger shows the job 21 days overdue with its owner named — run it now, watch the output, fix the cause.

The March backup

The backup plugin said weekly — the last snapshot is from March. Overdue detection states the gap in plain days, and the verdict says whether it's one broken job or a site-wide stall.

The inherited site

Years of installed-and-deleted plugins leave a queue full of ghosts. Likely-orphan flags map the leftovers with evidence, and snapshot undo makes cleaning them reversible.

The forgotten constant

Someone set DISABLE_WP_CRON during a migration and never removed it — or added it without the server cron to replace it. The verdict names it as the cause instead of leaving you to guess.

The quiet site

A brochure site with little traffic means WP-Cron rarely fires and schedules drift for days. The migration helper moves it to real server cron — exact crontab line, then verified firing.

The retainer file

Care-plan clients ask what they pay for. The branded cron-health report answers on paper: verdict, ledger, repairs applied — your logo on the invisible work.

The report

Anatomy of the cron-health report.

AThe site verdict

Stalled for 41 hours, now on time after three repairs. One line the client understands, with the itemised ledger behind it to back it up.

BThe job ledger, by owner

Every scheduled job with the plugin that owns it and its true status — 21 days overdue stated in days, not timestamps. The anonymous queue becomes a named list you can act on.

CThe orphan and the repairs

A schedule left behind by a plugin deleted in March, removed with a snapshot taken first. Three repairs applied, undo available — every change on the record and reversible.

DThe heartbeat trail

Fourteen days of cron's pulse, the stall visible, the alert timestamped. On Pro this whole page becomes the branded report — print-ready HTML and a real PDF in your agency's colours.

Honest comparison

How we compare to the alternatives.

The usual options: reinstall everything and hope, hand-roll server cron over SSH, or install WP Crontrol. Here's what changes against the strongest of the three — Crontrol is free, capable, and on over a million sites.

WP Cron Repair (us)WP Crontrol
View, edit and run cron jobs✓ Yes✓ Does this well — credit where due
Attributes each job to its owning plugin✓ Owner named on every row✗ Raw hook names — you decode them
Overdue detection & site health verdict✓ Gaps in plain days + one-line verdict✗ Shows next-run times; you do the maths
Flags schedules from deleted plugins✓ Likely-orphan flags, with evidence✗ You spot the unfamiliar hooks yourself
Delete with undo✓ Snapshot first, one-click restore✗ Delete is permanent
Run-now with output capture✓ Output, errors, duration recorded◐ Runs the job; you watch nothing
Emails you when cron stalls✓ Heartbeat monitor (Pro)✗ No monitoring
Migration to real server cron✓ Exact crontab line + verify panel (Pro)✗ Docs suggest it; you're on your own
Client-ready evidence✓ Branded report + PDF (Pro)✗ Nothing to show
Free to run✗ Pro from $49/yr (free edition: visibility & repair)✓ Free

Crontrol is a good tool and we'd rather say so than pretend otherwise — it edits cron well. It just doesn't diagnose, attribute, monitor or prove. Full comparison →

Pricing

Simple prices. One is forever.

Every plan includes every Pro feature — the heartbeat monitor with stall alerts, the server-cron migration helper and the branded cron-health report with the PDF. You're only choosing how many sites.

10 Sites
$49/yr

Up to 10 sites

  • All features included
  • Updates & support for a year
  • 14-day guarantee
Choose 10 Sites
Agency
$99/yr

25 sites · for agencies

  • All features included
  • Updates & support for a year
  • 14-day guarantee
Choose Agency
100 Sites
$149/yr

Up to 100 sites

  • All features included
  • Updates & support for a year
  • 14-day guarantee
Choose 100 Sites
Lifetime
$599 once

Up to 100 sites, forever

  • All features, all future updates
  • Never renew, never re-buy
  • 14-day guarantee
Own it forever

Prices in USD. Licence keys are domain-based — no accounts, no phoning home. VAT invoices available.

Questions

Asked and answered.

Why do scheduled jobs stop running in WordPress?

Three usual suspects. WP-Cron isn't a real clock — it only runs when someone visits the site, so a quiet site means a late schedule and a dead-quiet site means a dead one. Deleted plugins leave their schedules behind, still queued, pointing at code that no longer exists. And DISABLE_WP_CRON gets set in wp-config during a migration or a debugging session and forgotten, which silences everything. WP Cron Repair shows you which of these is happening: every job, its owner, its schedule, and how late it actually is.

Is deleting a cron job dangerous?

It can be — delete the wrong one and a plugin's scheduled work quietly stops, which is the exact disease you're treating. That's why delete in WP Cron Repair always takes a snapshot first: the job's hook, arguments, schedule and next-run time are stored before removal, and one click puts it back exactly as it was. You can experiment on an inherited site without holding your breath.

How can it alert me that cron is dead, if cron is what runs alerts?

Honest answer: it can't do magic. WordPress code only runs when the server receives a request, so detection is opportunistic — the heartbeat monitor records a timestamp on every request the site gets, and when a request arrives after a silent gap, it spots the stall and emails you then. On most sites that means you hear within minutes or hours, not the exact second. On a site with genuinely zero traffic, no plugin can raise the alarm from inside — which is exactly why Pro also includes the migration helper to move you onto real server cron.

Does the migration helper edit wp-config.php?

No. It never touches wp-config or your server config. It shows you the exact crontab line for your site — copy, paste into your server's crontab, done — and tells you which line to add to wp-config yourself if you choose to disable the visitor-triggered fallback. Then the verify panel watches for the real cron's first calls and confirms it's actually firing before you trust it. You stay in control of both files; the plugin does the checking.

How is this different from WP Crontrol?

WP Crontrol is a good free plugin — it views, edits, adds and runs cron jobs well, and over a million sites use it. The difference is the question each answers. Crontrol shows you the raw hook list and lets you operate on it; you still have to know what slidestack_cleanup is, whether 21 days late matters, and whether deleting it is safe. WP Cron Repair attributes every job to the plugin that owns it, diagnoses what's overdue with a site-level verdict, flags likely orphans from deleted plugins, captures output on run-now, snapshots before delete so there's an undo, and on Pro adds stall alerts, the server-cron migration helper and the branded client report. If you know your hooks and want a free editor, use Crontrol. If you want diagnosis and evidence, that's us.

What does "likely orphan" mean — can't you be certain?

No, and we won't pretend otherwise. Plugins register cron callbacks conditionally — some only hook up their handler in admin requests, or when a setting is on, or on certain days. A job whose handler wasn't found on this request might still have an owner that shows up on the next one. So the plugin watches across requests and says "likely orphan" when no owner has claimed a job over time, with the evidence listed. It flags honestly rather than declaring falsely — and because delete takes a snapshot, acting on a "likely" is reversible anyway.

What's in the free edition, and what does Pro add?

Free is the full visibility-and-repair engine: every job attributed to its owner, overdue detection with the site health verdict, likely-orphan flags, safe run-now with output capture, and delete with snapshot undo — enough to diagnose and fix any single site. Pro adds the cron heartbeat monitor that emails you when cron stalls, the migration helper for moving to real server cron with the verify panel, and the branded cron-health report — print-ready HTML and a real downloadable PDF for the retainer file.

What does run-now actually do?

It fires the job's callback immediately, in a controlled request, and captures what happens: output, errors, how long it took, and whether the job rescheduled itself afterwards. That turns "is this job broken or just late?" into a two-second test with a readable answer, instead of waiting a week to see whether the backup appears.

How is the licence delivered?

Order through the form and your licence key and invoice arrive by email, usually within the hour. Keys are long codes starting VPC1. — paste the whole thing into the licence textarea rather than typing it. Domain-based, no account, no phoning home, no lock-in.

What if it's not for me?

14-day money-back guarantee, no questions. Email us and we refund you.

Get started

Scheduled starts meaning scheduled.

Order below and your licence key and invoice arrive by email — usually within the hour. Install it, read the ledger, run the repairs, and the next time a client asks about the backups, the answer is a verdict, not a guess.

14-DAY MONEY-BACK GUARANTEE · SUPPORT BY ACTUAL HUMANS

You'll receive an invoice by email — pay by card or bank transfer. Nothing is charged on this page.