Switching from UptimeRobot? Import your monitors in one click with a read-only API key.Start free →
  1. Home
  2. Solutions
  3. WordPress
For WordPress sites

WordPress breaks politely, so check for the polite breakage

Most WordPress failures return a cheerful 200. These are the checks that notice anyway.

WordPress

The five-monitor set

Monitor set for one site

Five monitors per site

  • Home pagecontains “wp-content”, must not contain “Error establishing a database connection”
    KeywordFree
  • wp-login.phpstatus 200 (or 200-399 if it redirects to https)
    HTTPFree
  • wp-crona real server cron pings every hour
    HeartbeatStarter
  • /wp-json/status 200 and contains “namespaces”
    JSONStarter
  • Certificate and registrationwarnings at 30, 14 and 3 days
    SSL + domainStarter

Illustrative mock-up

What actually goes wrong

If you have run WordPress for a few years you have met all of these. The database server restarts and every page shows "Error establishing a database connection", delivered with a perfectly healthy status code. A plugin update throws a fatal error that takes down the front end while the admin still loads. A caching plugin stores the maintenance page and serves it to the world for six hours. A security plugin starts challenging everyone on the login URL, including the client. An SSL certificate renewed by a cron job that quietly died three months ago expires on a Saturday.

A bare "is the URL returning 2xx" monitor misses most of this. The approach below layers checks so each kind of failure has something looking for it, using ordinary monitor types rather than a plugin.

The five-monitor set

  1. Home page with a keyword. Require a string that only appears on a properly rendered page, such as a footer phrase or wp-content, and forbid Error establishing a database connection. Run it every 1 min on Starter or every 30 s on Pro.
  2. wp-login.php reachable. A plain HTTP check with expected status 200, or 200 to 399 if your login redirects to https. It catches lock-outs from security rules.
  3. wp-cron heartbeat. A heartbeat URL pinged by a real server cron, or by a WP-CLI job running wp cron event run --due-now. If scheduled posts and backups stop, the missing ping tells you.
  4. REST API probe. Request /wp-json/ and expect a 200 with the string namespaces in the JSON. Headless front ends, the block editor and many plugins depend on it, and it fails separately from the theme.
  5. SSL and domain expiry. One certificate check and one domain check, with warnings at 30, 14 and 7 days.

The WordPress monitoring page describes each of these in detail, and the blog post on five WordPress checks goes through the reasoning. There is no one-click WordPress template: when you import a list of sites each URL becomes an HTTP monitor, and you add the keyword, certificate and domain checks per site or as extra CSV rows.

Page-cache poisoning, the failure nobody notices

Full-page caches are wonderful until they cache the wrong thing. A request that arrives during a database blip gets an error page; the cache stores it and keeps serving it long after the database is back. A logged-in variation leaks into the anonymous cache. A 302 to a staging domain gets stored. From the server's point of view everything is healthy, because it is serving responses at high speed.

Two cheap checks help. First, a keyword rule on the home page that requires a phrase only the real page contains, so a cached error page counts as down. Second, a second monitor on the same page with a cache-busting query string such as /?tenium=1: if the plain URL fails but the busted one passes, you have a cache problem rather than a server problem, and the evidence in the incident (response excerpt, status per region) shows which. Purging the cache then becomes the first step in your runbook rather than the fifth.

Plugin and core updates

Monitoring does not install updates, and it is not a substitute for a maintenance routine. What it does is close the loop on one. Run updates, then let the next few checks confirm the site is still rendering. If you update on a schedule, put a maintenance window around it so you do not get alerts for work you started, and keep the keyword check live afterwards so a bad update is flagged within a minute. For sites you do not control, the monthly client report turns the incident list into evidence that someone is watching.

Which plan, for how many sites

The Free plan includes 30 monitors every 5 min, enough for one site with a home page check and a keyword rule, but without SSL, domain, DNS or heartbeat checks. Starter ($7) adds JSON checks, SSL and domain expiry, DNS and cron heartbeats, Telegram and Slack alerts and three status pages. At five monitors per site it covers 20 sites. Pro ($29) raises that to 60 sites with 30-second checks and a branded monthly report. Agency ($59) adds client workspaces for agencies who manage sites for other people, described on the agency page. Compare the options on pricing.

WordPress questions

Why does a 200 response not prove my WordPress site is fine?

Because WordPress renders its own error pages with a success code in several failure modes, the database error screen being the best known. A check that also requires a phrase from the real page turns that silent failure into an alert.

Do I have to install a plugin?

No. The checks run from outside and need nothing installed. A plugin or a one-line mu-plugin is only useful if you want a heartbeat that proves wp-cron itself is executing.

Can I use the free plan for a WordPress site?

Yes, for an HTTP check on the home page plus a keyword rule that catches the common database-error page. SSL and domain expiry, DNS monitoring and the wp-cron heartbeat start on Starter at $7, so sites that need the full set move up from Free.

Will a security plugin block the monitor?

It can, because repeated requests to wp-login.php look like probing. Allow the published checker addresses or send a secret header, and read the Cloudflare allow-list guide if your site sits behind it.

How many WordPress sites fit on one plan?

With five monitors per site, Starter covers 20 sites, Pro covers 60 and Agency covers 200.

Check your WordPress site the way a visitor sees it

Free plan, no card. Add the home page and a keyword rule, then upgrade when you want SSL and cron heartbeat checks.