# Why no WordPress plugin can tell you your site is down

> Uptime plugins run on the server they are watching, so they go silent exactly when it fails. Why that is unfixable, and what a plugin can honestly do.

Published: 2026-08-23 | Canonical: https://yoping.me/blog/no-wordpress-plugin-can-tell-you-your-site-is-down

Search the plugin directory for "uptime" and you will find a good number of
plugins that promise to watch your site and tell you the moment it stops
working. Install one, and it does look like it is doing that. There is a
settings page, a check interval, somewhere to put your email address.

It cannot work, and the reason is worth understanding before you rely on it.

## A plugin is code your site runs

WordPress plugins are PHP. PHP runs when a request arrives at your server, your
web server hands that request to PHP, and PHP boots WordPress. That is the only
time your plugin's code exists at all. It is not a program sitting in memory
watching things. It runs, it produces a page, it stops.

So consider what "your site is down" actually means. Your host has an outage.
The server is unreachable, or the web server is refusing connections, or PHP is
failing to start, or the database it depends on is gone. A request arrives and
nothing answers it.

In every one of those cases, the code that was supposed to notice the problem is
part of the thing that is broken. The plugin does not run, so it does not check,
so it does not send anything. The moment you most need it is precisely the
moment it is guaranteed to be silent.

This is not a limitation of any particular plugin. It is not something better
engineering fixes. A watchman who is locked inside the building cannot tell you
the building is on fire.

## What those plugins are actually doing

Mostly one of two things, and both are reasonable as long as you know which one
you have got.

Some of them use WP-Cron to check *other* things - a third-party API you depend
on, an external service, another site of yours. That is genuinely useful, and it
works, because the thing being checked is not the thing doing the checking. It
just cannot be pointed at itself.

The others are clients for an external service, the way an email app is a client
for your mail server. The checking happens elsewhere, on machines that have
nothing to do with your host, and the plugin shows you what those machines
found. That is a real answer to the problem. It is also, in fairness, less
exciting to describe on a listing page, which is probably why so few of them say
so plainly.

The distinction matters when you are choosing. Ask one question: if my server
were switched off right now, would this still work? If the answer is no, it is
not monitoring your uptime, whatever the settings page implies.

## What actually watching a site looks like

Something outside your infrastructure has to make the request. It asks for your
page on a schedule, from a machine you do not own, on a network you do not
control. When your site stops answering, that machine is still running, so it
can still tell you.

A few properties follow from that, and they are the things worth comparing
between services rather than the numbers on the pricing page:

**More than one location.** A single probe cannot tell "your site is down" apart
from "the route between this one machine and your site is down". Two probes on
different networks disagreeing is information; one probe is a guess.

**More than one kind of check.** A server can answer with a perfectly healthy
200 and still be serving a database error, or an empty page, or a checkout form
that no longer submits. A keyword check reads the response and looks for
something that should be there. Certificate expiry is its own category of outage
and one of the few that arrives on a known date.

**A record you can look at afterwards.** Most outages are short and happen while
you are asleep. The useful question is rarely "is it down right now" - you would
know. It is "did anything happen last night, and how often is this happening".

## Where the plugin comes back in

Once the checking lives outside your site, a plugin has an honest job: showing
you the results where you already are.

That is what ours does, and we say so on the listing in about as many words. It
is a viewer, not a monitor. YoPingMe's probes do the checking from outside; the
plugin puts a widget on your dashboard with each monitor's current state and its
uptime over the last day, week and month, and it tells you when the numbers were
read rather than pretending they are live. If an outage happened while you were
away, it says so at the top of wp-admin the next time you log in - how long, when,
and what the check saw.

None of that makes the plugin a monitor, and if your site is down while you are
reading this, the plugin is not running either. The difference is that something
else was.

If you want to try it, the plugin is
[in the directory](https://wordpress.org/plugins/yopingme/) and the free plan
covers ten monitors at five-minute intervals, which is usually enough for
somebody's own sites or a small client roster.

And if you would rather use something else entirely, that is fine - use the
question above on whatever you pick. The thing you are looking for is a service
that keeps running when your server does not.
