Front page and key templates
HTTP checks on the home page, a post, and any template customers rely on — with expected status codes so a redirect loop or a 500 is caught, not just a refused connection.

PageLantern for WordPress
A monitoring plugin runs inside the site it is supposed to watch — when PHP dies, the database drops, or the host suspends the account, the plugin goes down with everything else and the alert never sends. PageLantern checks your WordPress site from the outside, the way your visitors reach it.
Why external
Most WordPress monitoring lives in wp-admin: a plugin that pings from within the install, emails you on errors, and shows a dashboard widget. All of that depends on WordPress itself being up. The failures that actually take a site offline — PHP-FPM crashing, the database connection dropping, a full disk, an expired domain, a hosting suspension — take the plugin down in the same instant, so the tool that was supposed to raise the alarm is part of the outage.
External monitoring inverts that. PageLantern requests your pages from outside your hosting stack on a schedule, checks the status code, the response time, and the content, and opens an incident when the site stops answering the way a visitor would expect. Nothing is installed in WordPress, no plugin slows down your admin, and the check keeps running no matter what state the site is in.
What to watch
A WordPress site fails in more ways than "down". These are the checks a typical site actually needs, and every one of them is a monitor type PageLantern runs today.
HTTP checks on the home page, a post, and any template customers rely on — with expected status codes so a redirect loop or a 500 is caught, not just a refused connection.
Assert that a phrase from the rendered page is present (or that an error string is absent). A bad deploy, a broken theme update, or a half-rendered page fails the check even when the status code still says 200.
Auto-renewal quietly failing is one of the most common WordPress outages. PageLantern warns before the certificate expires — on Free, too.
Registrar renewal falls through more often than anyone admits. A domain expiry check via RDAP warns you while there is still time to renew.
If you have replaced visitor-triggered wp-cron with a system cron job (the standard fix for missed schedules on low-traffic sites), point that job at a PageLantern heartbeat URL. When backups or scheduled publishing silently stop, you get an alert instead of discovering it weeks later.
On paid plans, hosted browser checks walk the flows a plain HTTP check cannot judge — the login form, a WooCommerce cart — and capture screenshots as evidence.
wp-cron
WordPress schedules everything — backups, scheduled posts, update checks, WooCommerce housekeeping — through wp-cron, which fires on page loads rather than on a clock. On a quiet site, "hourly" jobs can run hours late or not at all, and nothing tells you. The usual fix is to disable WP-Cron's visitor trigger and run wp-cron.php from a real system cron.
That fix creates a new silent failure: the system cron itself can stop — after a migration, a permissions change, or a crontab typo — and a job that never runs never produces an error. Give the cron job a PageLantern heartbeat URL to ping on success. If the ping does not arrive on schedule plus a grace window, PageLantern opens an incident. Heartbeat monitors are included on every plan, including all 15 free monitors.
Hosting reality
Managed WordPress hosts front their sites with anti-bot filters. Those filters answer some automated requests with a challenge page — sometimes served with an ordinary 200-range status code. A naive monitor scores that challenge as "site up" and reports uptime it never measured; a different naive monitor scores the refusal as "site down" and pages you about an outage that is not real. We have watched both happen at hosting scale — including a shared-host filter that answered most probe requests with an HTTP 202 captcha interstitial.
PageLantern detects vendor challenge and block signatures and treats them as what they are: no measurement at all. The monitor shows "Not measured" instead of a fake verdict, a probe-blocked incident tells you our probe cannot reach the site, and the fix — allowlisting the probe by its User-Agent substring, never by IP — is documented step by step in the operational states guide.
At a glance
| What breaks | The check that catches it | Plan |
|---|---|---|
| Site down, 500s, redirect loops | HTTP uptime check with expected status codes | Free |
| Page renders wrong but returns 200 | Content check — body contains / not contains | Free |
| SSL certificate auto-renewal fails | SSL certificate expiry monitoring | Free |
| Domain registration lapses | Domain expiry / RDAP check | Free |
| Backups or scheduled posts silently stop | Heartbeat monitor with a grace window | Free |
| DNS records changed at host or registrar | DNS checks and nameserver drift | Starter ($9/mo) |
| Login or WooCommerce flow breaks in the browser | Hosted browser check with screenshots | Starter ($9/mo) |
Plan shapes are the published plans — Free is 15 monitors at 5-minute checks; Starter is 50 monitors at 1-minute checks.
Plans at a glance
| Limit | Free | Starter | Team |
|---|---|---|---|
| Price | $0 | $9/mo or $7/mo annual | $24/mo or $19/mo annual |
| Monitors | 15 | 50 | 500 |
| Check speed | 5 minutes | 1 minute | 30 seconds for 25 critical monitors |
| Users | 1 | 3 | 10 |
| History | 30 days | 90 days | 1 year |
| Status pages | 1 hosted page | 3 pages | 10 pages |
| SMS alerts | Not included | 50 SMS per month | 200 SMS per month |
| Alert channels | 1 channel | 5 channels | Unlimited |
Figures are the published plans — the full matrix is on the pricing page.
Next step
FAQ
No. PageLantern runs entirely outside your site — you add the URL, choose what to check, and the probes request your pages the way a visitor would. Nothing is installed in WordPress, nothing runs in wp-admin, and monitoring keeps working when the site, the plugin stack, or the whole host is down.
Because a plugin shares fate with the site. Hosting-level failures — PHP crashing, database connection loss, disk full, suspension, an expired domain — take the plugin down at the same moment as the site, so it cannot send the alert about the one failure that matters most. An external check has no shared fate and also measures what visitors actually experience, including response time.
Yes, through heartbeat monitoring. Run wp-cron.php from a real system cron (the standard fix for missed schedules), and have that job ping its unique PageLantern heartbeat URL on success. If a ping is late beyond the grace window you set, PageLantern opens an incident — catching backups and scheduled publishing that silently stopped. Heartbeats are included on the Free plan.
It can affect any external monitor, but PageLantern detects hosting bot-protection challenges and refusals and reports them as "not measured" rather than a fake up or down verdict, and raises a probe-blocked incident so you know. The fix is to allowlist the probe by the User-Agent substring PageLantern-Probe — the operational states doc has copy-paste rules for common hosts.
15 monitors at 5-minute checks, including HTTP uptime and content checks, SSL certificate expiry, domain expiry, and heartbeat monitors, plus one hosted status page and one alert channel — enough for a typical site: front page, a key template, SSL, domain, and a backup-job heartbeat, with room to spare.