How to monitor WordPress site uptime and get downtime alerts
WordPress does not provide a complete external uptime alert system by itself. Use Site Health for diagnosis, then configure an outside monitor to check a public URL, confirm failures, and send email or SMS alerts when the site stays unavailable.
- 01Choose the page to monitor
- 02Use Site Health for diagnosis
- 03Create an external HTTP check
- 04Set and test the alerts
- 05Reduce false downtime alerts
- 06Use the fast centralised route
What you need
- A live WordPress site with a public HTTPS URL
- Administrator access to WordPress
- An email address or phone number for alerts
- Access to your DNS, CDN, or firewall settings if monitoring requests are blocked
Choose the page to monitor
Monitor the public HTTPS URL that matters most, usually the home page. For a shop, also consider a lightweight product or checkout-related page, but do not monitor a page that requires a login unless your monitoring service supports authentication.
Use a URL that returns normal content without depending on a visitor session. A cached page can still return a successful response when the origin server is down, so decide whether you need to monitor the visitor-facing site, the origin, or both.
Use Site Health for diagnosis
In WordPress, open Tools → Site Health and review the Status and Info screens. Site Health checks WordPress configuration, HTTP communication, loopback requests, scheduled tasks, PHP, the database, and other conditions that can explain an outage.
Do not treat this screen as your uptime alert system. It is an administrator-facing diagnostic, so an outside monitor is still needed to tell you when visitors cannot reach the site.
Create an external HTTP check
In your monitoring service, create an HTTP or HTTPS monitor for the chosen URL. Set the expected response to a normal success status, follow legitimate redirects, and use an interval that suits the site. If the service supports keyword checks, add a short phrase that should appear on the page so a generic error page is not counted as healthy.
For a single site, an external service is usually simpler than writing a WordPress plugin. WordPress cron runs when site requests trigger it, so a low-traffic or completely unavailable site cannot reliably run its own alert job.
Set and test the alerts
Attach the alert contact to this specific monitor, enable both downtime and recovery notifications, and set a short delay or confirmation retry if the service provides one. Send alerts to an address or phone that is checked outside the affected website.
Trigger a controlled test, such as briefly pausing the monitor or using a staging URL, then confirm that the downtime and recovery messages arrive. A common mistake is creating an alert contact without attaching it to the monitor, or leaving the contact inactive or scoped to the wrong event.
Reduce false downtime alerts
Check from more than one region when possible, and allow the monitor to retry before declaring the site down. Review the incident timestamp, HTTP status, DNS, TLS certificate, redirects, server logs, and recent plugin or theme changes before contacting your host. Multiple checking locations can reduce alerts caused by one monitor region or network path.
Be careful with CDNs, WAF rules, bot protection, and maintenance windows. A CDN may serve cached content while the origin is unavailable, while a security challenge may block the monitoring agent even though normal visitors can load the site.
Use the fast centralised route
If you manage several WordPress sites through MainWP, MainWP Advanced Uptime Monitor is the quicker route. It is designed to centralise uptime checks and provide email or SMS downtime alerts from one dashboard, rather than requiring separate monitoring work for every installation.
Configure the sites, check interval, recipients, and alert rules, then run a recovery test before relying on it. Keep an external check or a second alert path for sites where a missed notification would have serious consequences.
Let MainWP Advanced Uptime Monitor do it
Centralized uptime checks and email or SMS alerts for multiple WordPress sites, ideal for MainWP-managed installations.
Sources
- jetpack.com /support/monitor/?utm_source=openai
- wordpress.org /documentation/site-health/?utm_source=openai
- help.uptimerobot.com /en/articles/11358364-how-to-create-your-first-monitor-on-up…
- developer.wordpress.org /plugins/cron/?utm_source=openai
- help.uptimerobot.com /en/articles/16160089-missing-alert-notifications-in-uptimer…
- help.uptimerobot.com /en/articles/11358466-how-to-debug-a-monitor-showing-as-down…
- wordpress.org /support/topic/monitor-does-not-send-alerts-when-homepage-is…
Questions
- Can WordPress monitor its own uptime without a plugin?
- WordPress can diagnose several health conditions through Tools → Site Health, but it does not provide complete external uptime monitoring and downtime alerts on its own. You can build a custom scheduled check with code and server cron, but that adds maintenance and can fail when the site or WP-Cron is unavailable. An outside HTTP monitor is the safer manual route.
- Why did I get a downtime alert when the site was working?
- A downtime alert can be caused by a temporary timeout, slow shared hosting, excessive redirects, a firewall rule, a CDN challenge, or a monitor being blocked. Check the incident status and timestamp, test the page from another network, and review server, DNS, CDN, and security logs. Confirmation retries and multiple monitoring regions help reduce false positives.
- Should I monitor the home page or a specific WordPress URL?
- Monitor the home page for basic availability, then add a second check for a critical visitor journey such as a product page, contact form endpoint, or checkout page. Use a page that does not require a login and has stable content. A keyword check can catch a branded error page or unexpected content when the server still returns a technically successful response.
- Does a cached page prove that WordPress is working?
- No. A CDN or page cache may continue serving an old copy while the origin host or PHP application is unavailable. This can make an uptime monitor report the site as healthy even though changes, logins, forms, or checkout are failing. If the origin matters, configure a separate origin or authenticated health check where your hosting and security setup allow it.
- What should I check first after a downtime alert?
- First, open the incident details and note the time, response code, timeout, redirect, DNS, or TLS error. Then check the site from another connection, review recent WordPress updates and hosting changes, inspect server logs, and contact the host if the error persists. Do not immediately disable plugins or restore a backup before recording useful evidence.