← Blog
Tutorial 10 min read

How to Monitor a WordPress Site: The Complete Guide

WordPress powers 43% of the web — but it fails in very specific ways. A plugin update breaks the homepage. The database hits its connection limit. PHP throws a fatal error and serves a blank white page. Here's how to catch all of it.

A basic uptime monitor that checks whether your homepage returns 200 will miss most WordPress failures. WordPress has a particular failure signature: the server is up, PHP is running, but the page returns 200 with a blank body or a PHP error message embedded in the HTML. A content check catches this. A status-only check doesn't.


What to monitor on a WordPress site

Monitor Check Catches
HomepageHTTP GET, status 200, content check for site nameOutages, white screen of death, fatal errors
SSL certificateSSL expiry monitorCert expiry before it causes browser warnings
Admin login pageHTTP GET /wp-admin, status 200 or 302Admin access issues, plugin-broken admin
WP REST APIHTTP GET /wp-json/wp/v2/posts, status 200Headless WP issues, API availability
Response timeSlow threshold alert (e.g. 3000ms)Hosting slowdowns, query performance issues
Contact/conversion pageHTTP GET key page, status 200Plugin-broken forms, broken landing pages

The content check: your most important WordPress monitor setting

WordPress's most common failure mode is the "white screen of death" — a PHP fatal error that produces a blank page or a page that says "There has been a critical error on this website." The HTTP status code is still 200. A basic monitor doesn't fire.

A content check monitors the response body, not just the status code. Configure your homepage monitor to check for text that only appears on a healthy page — your site name, a navigation item, or a specific string from your header.

If WordPress has a fatal error, the content check fails even though the status code is 200. You get the alert. Without it, you'd find out when a visitor emails you.

In PingBase, set this under Content must contain when creating or editing a monitor. Use something stable — your company name is a safe bet. Avoid dynamic content like post titles or dates that change.


Common WordPress failure modes

Plugin or theme update breaks the site

This is the most common cause of WordPress downtime. A plugin update introduces a PHP conflict or modifies the database schema in a way that crashes the site. The fix is usually deactivating the plugin — but you can only do that if you know it happened.

Caught by: Homepage content check. If the site serves a PHP error or blank page, the content check fails.

Database connection failure

WordPress requires a MySQL/MariaDB connection. If the database server goes down, hits its connection limit, or the credentials change, WordPress serves "Error establishing a database connection." This is a 200 response with an error message in the body.

Caught by: Content check. "Error establishing a database connection" won't contain your site name.

Memory limit exceeded

WordPress has a PHP memory limit. A plugin that leaks memory or processes a large import can hit the limit, causing fatal errors on affected pages. The homepage might be fine while a category page crashes.

Caught by: Monitor the specific pages that are most likely to be affected by heavy plugins (category archives, WooCommerce pages).

SSL certificate expiry

Managed hosting often handles SSL renewal automatically via Let's Encrypt — until it doesn't. Auto-renewal can fail silently if your domain's DNS has changed, if your hosting control panel has a bug, or if the renewal script hasn't run in time.

Caught by: SSL certificate expiry monitor with 30-day advance warning.

Slow response times from caching issues

WordPress without caching can be very slow — 2–8 second page loads are common on underpowered shared hosting. A caching plugin (WP Super Cache, W3 Total Cache, WP Rocket) normally keeps this fast. If the cache gets invalidated or the caching plugin is deactivated, response times spike.

Caught by: Response time threshold alert. Set a threshold at 3–5x your normal cached response time.


Hosting-specific considerations

Shared hosting: Response times vary significantly with shared hosting — your site shares server resources with other sites. Set a generous slow threshold (5+ seconds) and focus on outage detection rather than performance.

Managed WordPress hosting (WP Engine, Kinsta, Flywheel): These providers handle SSL, caching, and updates. Outages are rarer but still happen. A content check on the homepage is the most valuable monitor.

VPS/self-managed: You're responsible for everything. Monitor the homepage, SSL, and response time. Consider also monitoring your server's web server process (nginx/Apache) health endpoint if you've set one up.

WooCommerce sites: Add monitors for your shop page (/shop), cart (/cart), and checkout (/checkout). These are the pages where downtime directly costs revenue.


Complete WordPress monitoring setup in PingBase

  1. Homepage monitor
    URL: https://yoursite.com
    Expected status: 200 | Content check: your site name | Slow threshold: 3000ms
  2. SSL certificate monitor
    Domain: yoursite.com
    Alert: 30 days before expiry, again at 7 days
  3. Admin login monitor
    URL: https://yoursite.com/wp-admin
    Expected status: 200 or 302 | No content check needed
  4. Key conversion page (contact/shop/checkout)
    URL: the page where your business happens
    Expected status: 200 | Content check: a stable string from the page

Four monitors. No code. Takes under 10 minutes to set up. PingBase's free tier covers all four.

Monitor your WordPress site in minutes

Content checks, SSL expiry monitoring, response time alerts. Free for up to 5 monitors — enough for a complete WordPress setup.

Start free →

Related