Uptime Monitoring for WordPress Sites - What to Watch and How to Set It Up
WordPress powers 40% of the web but crashes in ways unique to its ecosystem. Here's how to monitor your WordPress site's uptime, catch plugin failures, and avoid downtime you didn't know about.
Your WordPress Site Is Down More Than You Think
WordPress is the most popular CMS in the world, powering over 40% of all websites. It's also one of the most common sources of unexpected downtime - and most site owners don't find out until a customer tells them, traffic drops, or revenue stops.
The problem isn't WordPress itself. It's the ecosystem around it: plugin updates that break compatibility, shared hosting that throttles under load, SSL certificates that expire on auto-pilot, and PHP memory limits that silently kill requests during traffic spikes.
If your WordPress site generates revenue - through e-commerce, lead generation, ads, or SaaS - you need monitoring that catches failures in real time, not monitoring that checks once every 5 minutes and hopes for the best.
Why WordPress Sites Go Down
Understanding the failure modes helps you set up monitoring that actually catches them.
Plugin and Theme Conflicts
Every WordPress update is a roll of the dice. A plugin update can conflict with your theme, another plugin, or the WordPress core itself. The result: a white screen of death (WSOD), a 500 error, or a partially rendered page that looks fine at first glance but is missing critical functionality.
The worst part: auto-updates can trigger these failures at any time. Your site could break at 3 AM because a plugin author pushed a buggy release, and you won't know until morning.
Shared Hosting Resource Limits
Cheap shared hosting plans are the default for many WordPress sites. They work fine under normal traffic - until a blog post gets shared on social media, a product goes viral, or a bot starts crawling aggressively. When you hit the hosting plan's CPU or memory limit, requests start failing with 503 errors.
Your hosting provider might even suspend your site temporarily for "excessive resource usage" without notifying you.
PHP Fatal Errors
A PHP fatal error kills the entire request. Common causes: incompatible PHP version upgrades, deprecated function calls in plugins, and memory exhaustion from poorly optimized queries. The site returns a 500 error or a blank page, and the PHP error log grows quietly in the background.
Database Connection Failures
WordPress depends on MySQL or MariaDB. When the database server is overloaded, unreachable, or misconfigured, WordPress shows the dreaded "Error establishing a database connection" page. This is a complete outage - no content, no admin panel, nothing.
SSL Certificate Expiry
Many WordPress sites use free SSL certificates from Let's Encrypt with auto-renewal via their hosting provider. When auto-renewal fails - due to DNS changes, hosting migrations, or provider issues - the certificate expires and every browser shows a full-page security warning. Visitors leave immediately.
Security Compromises
WordPress is the most targeted CMS for attacks. A compromised site might redirect visitors to malicious URLs, inject spam content, or get flagged by Google Safe Browsing. Monitoring can catch these by checking for unexpected content changes.
What to Monitor on a WordPress Site
The Homepage
The obvious first monitor - but set it up correctly:
- Check the HTTP status code - Assert a 200 response, not just "any response"
- Use keyword monitoring - Assert that your site title, a known heading, or a footer element is present in the response. This catches the white screen of death, database errors, and partially rendered pages that return 200 but display error messages.
- Check from multiple regions - If your site uses a CDN, a regional edge failure can serve stale or error pages to some visitors while others see the site normally.
A homepage check that only verifies the status code will miss WordPress's most common failure modes. Keyword monitoring is essential.
The Login Page
/wp-login.php is the gateway to your WordPress admin. If it's down, you can't manage your site. If it's returning errors, there might be a deeper PHP or database issue.
Monitor /wp-login.php and assert that the response contains a known element like "wp-login" or "log in". A login page that returns 200 but shows a PHP error is a common failure mode after updates.
WooCommerce or E-Commerce Pages
If your WordPress site sells products, your shop pages are your revenue. Monitor these specifically:
- Shop page (
/shop) - Assert products are rendering, not an empty page - Cart page (
/cart) - Verify the cart functionality loads - Checkout page (
/checkout) - This is the most critical. A broken checkout means zero conversions. - Account page (
/my-account) - Customers need to log in and view orders
Set these monitors to check every 30 seconds to 1 minute. Every minute of checkout downtime is lost revenue.
The REST API
WordPress has a built-in REST API at /wp-json/wp/v2/. Many themes, plugins, and headless WordPress setups depend on it. If the REST API is down, parts of your site - or your entire frontend - may break even if the main site appears to load.
Monitor /wp-json/wp/v2/posts and assert the response is valid JSON. A broken REST API often indicates a deeper PHP or plugin issue.
The XML Sitemap
Your sitemap (/sitemap.xml or /sitemap_index.xml if using an SEO plugin) is what search engines use to discover and index your content. If it's returning errors or empty results, your SEO will silently degrade.
Monitor your sitemap URL and assert it returns a 200 with XML content. A broken sitemap won't cause user-facing downtime, but it will cost you organic traffic over time.
SSL Certificate
WordPress sites with expired SSL certificates get a full-page browser warning that makes visitors leave immediately. Even if you use Let's Encrypt auto-renewal, monitor the certificate expiry date independently.
Vantaj checks SSL certificates alongside your uptime monitors and alerts you at 30, 14, 7, and 1 day before expiry - giving you time to fix the renewal before it becomes an outage.
Cron Jobs (wp-cron)
WordPress has a built-in pseudo-cron system (wp-cron.php) that handles scheduled tasks: publishing scheduled posts, sending email notifications, processing WooCommerce orders, and running plugin maintenance tasks.
The catch: wp-cron only runs when someone visits the site. On low-traffic sites, scheduled tasks can be delayed by hours. Many hosting providers disable wp-cron and run it via a real system cron job instead - and if that job stops running, all scheduled tasks silently stop.
If you've replaced wp-cron with a system cron job, add a heartbeat monitor. The cron job should ping Vantaj after each successful run of wp-cron.php. If the ping stops arriving, you'll know before scheduled posts stop publishing and orders stop processing.
Setting Up WordPress Monitoring
Here's a practical monitoring setup for a WordPress site, ordered by priority:
| Monitor | URL / Method | Assertion | Interval |
|---|---|---|---|
| Homepage | GET / | Status 200 + contains site title | 1 min |
| Login page | GET /wp-login.php | Status 200 + contains "wp-login" | 2 min |
| REST API | GET /wp-json/wp/v2/posts | Status 200 + contains "id" | 2 min |
| Shop page (WooCommerce) | GET /shop | Status 200 + contains product name | 1 min |
| Checkout (WooCommerce) | GET /checkout | Status 200 + contains "checkout" | 30 sec |
| SSL certificate | Domain SSL check | Valid cert, expiry > 14 days | Daily |
| wp-cron (if external) | Heartbeat monitor | Ping received on schedule | Matches cron interval |
| Sitemap | GET /sitemap.xml | Status 200 | 5 min |
This covers the core failure modes: PHP crashes, database failures, plugin conflicts, SSL expiry, and broken cron jobs.
WordPress-Specific Monitoring Tips
Monitor After Every Update
WordPress core updates, plugin updates, and theme updates are the #1 cause of unexpected downtime. After any update - manual or automatic - watch your monitors closely for the next hour. If you have auto-updates enabled, consider adding a 30-second check interval on your most critical pages so you catch breakages within a minute.
Use Keyword Monitoring to Catch the WSOD
The WordPress White Screen of Death returns a 200 status code with an empty or error-filled body. A status-code-only check will miss it entirely. Always include a keyword assertion that verifies actual page content is present - your site title, a known heading, or a specific text string.
Monitor Your Staging Site Too
If you use a staging environment to test updates before pushing to production, monitor it separately. A staging site that's been down for weeks means your testing environment is broken - and you might push untested changes to production without realizing it.
Set Up a Status Page for Client Sites
If you manage WordPress sites for clients (agency or freelancer), a public status page per client builds trust and reduces "is it down?" emails. Vantaj lets you create hosted status pages connected to your monitors - no code, live in two minutes.
Don't Forget the Admin Panel
/wp-admin/ is easy to overlook because visitors never see it. But if the admin panel is down, your team can't publish content, manage orders, or fix problems. Add a monitor for /wp-admin/ with a keyword assertion - it should redirect to the login page (302) or display the dashboard (200).
Common Mistakes
Only Monitoring the Homepage
Your homepage can load perfectly while your checkout is broken, your REST API is erroring, and your login page is showing a PHP fatal error. Monitor the pages that matter, not just the front door.
Relying on Your Hosting Provider's Monitoring
Most hosting providers only monitor server-level metrics - CPU, memory, disk. They don't check whether your WordPress site actually renders correctly. A server that's "up" can still serve blank pages if PHP is crashing.
Ignoring SSL Until It Expires
"I have auto-renewal" isn't a monitoring strategy. Auto-renewal fails more often than people expect - especially after DNS changes, hosting migrations, or provider configuration updates. Monitor SSL expiry independently.
5-Minute Check Intervals
A lot can go wrong in 5 minutes. If your WordPress site is revenue-generating, use 1-minute check intervals for critical pages and 30-second intervals for checkout and payment flows.
Monitoring WordPress With Vantaj
Vantaj monitors WordPress sites with multi-region checks, keyword assertions, and SSL monitoring - the exact combination needed to catch WordPress-specific failure modes.
- Keyword monitoring catches the white screen of death, database errors, and PHP fatal errors that return 200 status codes
- Multi-region checks verify your site works globally, not just from your own location
- SSL monitoring alerts you days before certificate expiry
- Heartbeat monitoring catches broken wp-cron jobs before scheduled tasks pile up
- 30-second check intervals on paid plans mean you know about downtime in under a minute
The free plan covers up to 20 monitors - enough to cover a WordPress site's homepage, login, shop, checkout, REST API, sitemap, and more. No agents to install, no plugins required, no code changes to your WordPress site.