Introduction: WordPress monitoring without a plugin
Most WordPress problems are visible from the outside first. A plugin update leaves an error page behind, a certificate expires over the weekend, or a scheduled post never goes live because WP-Cron didn’t run. WordPress monitoring checks exactly these things at regular intervals and tells you as soon as something changes.
You don’t need to install anything in WordPress for this. This guide shows what to monitor on a WordPress site, how to set up each check and how agencies keep many client sites under control.

What to monitor on a WordPress site
| What you want to know | Check | Why it matters |
|---|---|---|
| Does the homepage load with the right content? | Keyword check | Catches error pages, white screens and maintenance notices, even when the server still answers with HTTP 200 |
| Do your key pages work? | HTTP(S) or keyword check | Contact forms, shop and checkout pages are where visitors convert |
| Do PHP and the database answer? | HTTP check with a JSON assertion on /wp-json/ | The REST API index is generated by WordPress and reads from the database |
| Is the SSL certificate valid? | SSL certificate check | Alerts before expiry and flags a broken certificate chain |
| Will the domain expire? | Domain expiry check | Keeps renewals on your schedule |
| Do scheduled tasks and backups run? | Heartbeat | Turns a missed WP-Cron or backup run into an alert |
| Is the server reachable? | Ping or TCP check on port 443 | Separates a hosting problem from a WordPress problem |
Why monitor WordPress from the outside
A monitoring plugin lives inside WordPress. When PHP crashes, the database is unreachable or the hosting provider has an outage, the plugin stops running too, which is exactly the moment you need an alert.
External checks don’t depend on your site. They request your pages from the internet, the same way visitors do, so they also see problems with DNS, certificates or a CDN in front of the site. And because nothing is installed, there is no extra code to update, no extra load on the server and nothing new for attackers to target.
WordPress uptime monitoring, step by step
1. Check the homepage with a keyword
A plain HTTP check confirms that the server answers. A keyword check also confirms that the page shows what it should. Pick a phrase that only appears when the page renders correctly, such as a heading on your homepage or a line in the footer. If a plugin conflict replaces the page with an error message, the keyword is missing and you get an alert.
Add keyword checks for the pages that matter most to your visitors, such as the contact page, the shop or the checkout.
2. Monitor the REST API
WordPress answers at /wp-json/ with a JSON document that includes your site name. Because WordPress reads the name from the database, this endpoint is a good health check for PHP and the database together.
URL: https://www.example.com/wp-json/
Method: GET
Expect: status 200
JSON path: $.name == "Example Site"If a security plugin restricts the REST API, check a page with a keyword instead, or allow the index endpoint for anonymous requests.
3. Add SSL certificate and domain checks
An expired certificate makes browsers show a warning instead of your site. An SSL certificate check opens a real TLS connection, verifies the certificate chain and alerts you before the expiry date, 14 days ahead by default or any window up to a year. A domain expiry check does the same for the domain registration.
4. Make WP-Cron reliable and monitor it with a heartbeat
WP-Cron isn’t a real scheduler. It runs only when someone visits the site, so on a quiet site scheduled posts, emails and backups can run late or not at all. The reliable setup is to disable the visitor-triggered WP-Cron and run it from a system cron job instead.
define( 'DISABLE_WP_CRON', true );Then run the due events every five minutes with WP-CLI and send a heartbeat ping after each successful run:
*/5 * * * * cd /var/www/html && wp cron event run --due-now && curl -fsS https://your-heartbeat-url > /dev/nullSet the heartbeat’s grace period a little longer than the interval, for example ten minutes. If the job stops running, the ping doesn’t arrive and you get an alert. You can add a heartbeat to backup scripts the same way.
5. Pause alerts during updates
Core, theme and plugin updates can put a site into maintenance mode for a short time. Plan a maintenance window for your update slot, and alerts pause automatically while the site is being updated.
Monitoring many WordPress sites
Agencies often look after dozens of WordPress sites. A few habits keep that manageable:
- One service per client. Group each client’s checks into a service, so you see at a glance which client is affected.
- Alerts per client. Send each client’s alerts to the team or person responsible for that site.
- A status page per client. Give clients their own status page on their domain, so they see the status without having to ask.
- Read-only access. Invite clients as read-only viewers if they want to look at the monitoring themselves.
How TrustComponent Monitoring helps
TrustComponent Monitoring checks your WordPress sites from the outside, with nothing to install in WordPress:
- Keyword, HTTP(S) and API checks with JSON-path assertions for the REST API
- SSL certificate and domain expiry checks with alerts up to a year ahead
- Heartbeats for WP-Cron and backups with a grace period from 10 seconds to 24 hours
- Checks as often as every 30 seconds from multiple locations, alerts in 16 channels and escalation chains
- Status pages on your clients’ domains, in their branding and in 10 languages
The Free plan includes 10 monitors with HTTP, ping and TCP checks. Paid plans add more check types and faster intervals, each with a 14-day free trial. Team and Enterprise add all check types and escalation chains.
Conclusion
Monitoring WordPress from the outside covers what visitors actually experience: the page loads, shows the right content, has a valid certificate and keeps its scheduled tasks running. A handful of checks per site is enough, and none of them needs a plugin.
Get started
👉 Start a free trial of TrustComponent Monitoring and add your first WordPress checks in minutes.


