WordPress uptime monitoring for agencies and client sites
UptimePilot monitors WordPress and WooCommerce sites from the outside, with no plugin to install. A keyword check reads the page itself, so a white screen or "Error establishing a database connection" counts as down even when the server still answers 200. Every failure is confirmed from a second region before anyone gets an email, SMS or Slack alert, and each client gets its own group, report and status page.
WordPress downtime that a plain ping never sees
Most WordPress outages are not a dead server. The host is up, the network answers and a simple "is it reachable" check stays green. The site is still broken for every visitor. These are the failures we see most often on client portfolios.
- A plugin or theme auto-update throws a fatal error and the front end turns into a blank white page or the "There has been a critical error on this website" notice.
- The database server restarts or hits its connection limit, and every page shows "Error establishing a database connection".
- PHP runs out of memory on one heavy template, so the homepage works while the shop or the booking page fails.
- An automatic certificate renewal fails quietly and browsers show a full-page security warning.
- The WooCommerce cart or checkout breaks after an update to a payment or shipping extension.
- wp-cron stops firing on a low-traffic site, so scheduled posts, backups and subscription renewals pile up.
- A compromised plugin injects a redirect to a spam domain on mobile visits only.
- The client forgets to renew the domain and the whole site disappears.
Each one ends the same way when nobody is watching. The client finds it first, usually from a customer, and calls the agency.
What to monitor on each client WordPress site
A useful setup has three to five monitors per site. Each one answers a different question, and together they cover the failures above.
| Check | What it catches | UptimePilot check type |
|---|---|---|
| Homepage with a keyword, such as the client's phone number or a footer phrase | White screen, critical error notice, database connection error, hacked content | Keyword check |
| A key landing or contact page | Template level PHP errors that leave the homepage working | Keyword check |
| /wp-login.php returns 200 | Broken admin access after an update, security plugin lockouts | HTTP(S) check |
| WooCommerce cart or checkout page with "Place order" or a similar phrase | Checkout broken by an extension update | Keyword check |
| /wp-json/ endpoint with a JSON assertion | REST API failures that break headless front ends, apps and block editor saves | API check |
| SSL certificate | Expiry, failed renewal, broken chain | SSL certificate check |
| Domain registration | Lapsed or soon to expire domains | Domain expiry check |
| Backup job or a real system cron that replaces wp-cron | Jobs that silently stop running | Heartbeat monitor |
The keyword check is the one that matters most on WordPress. A status code alone says the web server answered. The keyword says the page your client paid for actually rendered. Certificate and domain checks run alongside, with warnings weeks ahead, described on ssl certificate monitoring and domain expiration monitoring.
Alert Slack #ops and email the on-call engineer when 2 regions report down. Escalate by SMS after 5 minutes.
WordPress uptime monitoring plugin or an external monitor
Uptime plugins are popular because they install in a minute. They have one structural weakness: they run on the same server as the site, or report through it. When PHP crashes, the database is down or the host is offline, the plugin goes down with the thing it is supposed to watch.
| Question | Monitoring plugin on the site | External monitor such as UptimePilot |
|---|---|---|
| Works when the server or PHP is down | Not reliably, it shares the failure | Yes, checks run from outside |
| Adds load or code to the client site | Yes, another plugin to update | No, nothing to install |
| Confirms from more than one location | Depends on the service behind it | Yes, US East and EU Central |
| One view across all client sites | One dashboard per site or per vendor account | One account with a group per client |
| Client facing status page and report | Rarely | Yes, per client group |
| Survives a plugin conflict or a hack | No, it can be disabled with the site | Yes |
Plugins still have a place for in-dashboard things such as update logs or security scans. For knowing when a site is down, the check has to live somewhere else.
-
01
Create one group per client
Add a group for each client and name it the way your team talks about the account. Alert rules, reports and status pages all work per group, so a broken site at one client never pages the person who looks after another. Our uptime monitoring for agencies page covers roles and escalation in more detail.
-
02
Add URLs, keywords and certificate checks
Paste the client's homepage, a key landing page, the login page and the checkout if it is a store. Set one keyword per page that only appears when the page renders correctly. Add the SSL and domain checks for each hostname. A REST API key lets you create these monitors from your own onboarding scripts on Business and Enterprise.
-
03
Route alerts and plan update days
Send alerts to the developer on the account by email or Slack, with SMS for the stores where every minute costs orders. Schedule a maintenance window for the time you run plugin and core updates, so planned restarts do not wake anyone up while checks keep recording the history.
-
04
Show clients the proof every month
Turn on the monthly report for each group. It lists uptime percent, response times, every incident with its duration and the certificate and domain renewals coming up. Larger clients can also get a branded status page on their own subdomain. More on the numbers behind it on uptime monitoring service.
WordPress care plans that include monitoring the client can see
Monitoring is part of almost every WordPress care plan, yet clients rarely see it, so it is the first line they question at renewal. A monthly report turns it into visible work. It shows the uptime percent for the month, the certificate the agency renewed before it lapsed and how long a failed update took to roll back.
The math is simple at portfolio scale. Business costs $249 a month, or $124 a month billed yearly, and covers 1,000 monitors with 25 team members. A portfolio of 150 client sites with a homepage keyword check, an SSL check, a domain check and one extra page each uses 600 monitors, leaving room for checkout checks and heartbeats on the stores. Business also adds white-label client reports and 20 password protected status pages. If your care plans already carry a monitoring line, a handful of retainers covers the plan.
Stores need a little more attention. Put a keyword check on the cart and the checkout, and SMS the person on call, as described on ecommerce uptime monitoring. If client contact forms stop reaching inboxes after a site move, it is worth checking whether the sending domain has landed on an email blacklist, since that looks like a broken form from the client's side.
Which plan fits your WordPress portfolio
Every plan includes every check type, two-region confirmation and every alert channel. Full details on uptime monitoring pricing.
- Starter, $49 a month or $24 a month billed yearly: 50 monitors, 1 minute checks, 1 status page, 3 members. Enough for a freelancer with ten or so client sites.
- Team, $99 a month or $49 a month billed yearly: 200 monitors, 30 second checks, 5 status pages on custom domains, 10 members, monthly SLA PDF.
- Business, $249 a month or $124 a month billed yearly: 1,000 monitors, 20 password protected status pages, 25 members, white-label client reports, REST API.
- Enterprise, $599 a month or $299 a month billed yearly: 3,000 monitors, 50 status pages, 100 members, SSO (SAML) and audit log.
Most agencies with 30 to 250 WordPress clients choose Business because of the white-label reports.
01
How do I monitor my WordPress site uptime?
Use an external monitor that checks the site from outside every minute and reads a keyword on the page. Add the homepage, a key inner page, the login page and checkout for stores, plus SSL and domain checks. With UptimePilot each failure is confirmed from a second region before an email, SMS or Slack alert goes out.
02
Do I need a plugin for WordPress uptime monitoring?
No. External uptime monitoring needs no plugin, and that is an advantage. A plugin runs on the same server as the site, so it fails when PHP, the database or the host fails. UptimePilot checks the public URLs from outside, adds nothing to the client site and keeps working when the site does not.
03
What is the best uptime monitor for WordPress?
The best uptime monitor for WordPress is an external service with keyword checks, SSL and domain checks and confirmation from more than one location. UptimePilot does all of that in every plan and adds per client groups, status pages and white-label monthly reports, which matters most to agencies running many client sites.
04
Why does my WordPress site go down?
WordPress sites most often go down after a plugin, theme or core update causes a fatal error, when the database stops accepting connections, when PHP runs out of memory, or when a certificate or domain expires. Hosting outages and hacked plugins are less common but harder to spot without a keyword check.
05
Can uptime monitoring detect the white screen of death?
Yes, if the monitor checks page content and not only the status code. A white screen often still returns HTTP 200 or 500 with an empty body. A UptimePilot keyword check looks for a phrase that only appears on a working page, so a blank page is marked down and alerted.
06
How often should a WordPress site be checked?
Every minute is the right default for client sites, and every 30 seconds for stores and lead generation sites where an hour of downtime costs real money. UptimePilot runs 1 minute checks on every plan and 30 second checks from Team upward, with a second region confirming before an alert.
Put every client WordPress site under one monitor
Create a group per client, add a keyword check to each homepage and send the first report at the end of the month.