How uptime monitoring works: intervals, incidents, alerts and the extra checks
Check intervals by plan, when a failure becomes an incident, WordPress critical-error and WP-Cron checks, domain expiry, DNS changes, the response time breakdown, alert channels and what the panel shows.
Every site you connect to WP Safer is requested on a schedule from our node in Finland. The check is deliberately boring: ask for the page, look at what comes back, and write down exactly what happened. What follows is what that produces, and what each plan actually runs.
How often a site is checked
The interval comes from your plan: every 5 minutes on Free, every minute on Starter and Pro, and every 30 seconds on Agency. Checks run from a single location; WP Safer does not verify an outage from a second region, and no page in the product claims otherwise.
When an outage becomes an incident
A single failed request is not an outage — a momentary blip should not wake you up. The check has to fail twice in a row, and then an immediate confirmation check is made; only if that also fails is an incident opened. The incident records the cause (DNS failure, connection refused, timeout, TLS certificate error, HTTP error status, keyword rule broken, WordPress critical error or an empty page) together with the first failing response. It closes itself on the first successful check, and the downtime is measured from the first failed check to that recovery.
Beyond “does it answer?”
A WordPress fatal error still answers with HTTP 200. A ping-only monitor would call that site healthy while visitors read “There has been a critical error on this website”. On every paid plan WP Safer therefore reads the page itself:
- Critical error and blank page. A 200 response whose body is a WordPress fatal-error screen, a database connection error or practically empty counts as downtime, with the cause recorded.
- WP-Cron. The WP Safer plugin reports when its hourly event last ran. If it falls behind, scheduled posts, backups and updates on that site are probably stuck too.
- Plugin connection. A site that answers while its WP Safer plugin has stopped syncing is shown as a separate state — it is not an outage, but your backups and updates have stopped.
On Pro and Agency three more checks run:
- Domain expiry. The expiry date is read from the domain registry once a day and you are warned 30, 14 and 7 days ahead. Extensions that do not publish the date are skipped silently rather than guessed.
- DNS changes. The site’s A, AAAA and CNAME records are read hourly. The first reading is the baseline; a later change is recorded and notified.
- Response time breakdown. Each check is split into DNS lookup, TCP connect, TLS handshake and server response, so “the site is slow” becomes a place to look. It is measured on the uptime check itself — no extra traffic is sent to your site.
Pro and Agency also include the TLS certificate expiry date and a keyword check: a word that must appear on the page — or must not appear, which is the useful way to catch an error screen.
Where the alerts go
Alerts always go to your account e-mail address, on every plan including Free. From Starter upwards you can add your own channels — Slack, Discord, Telegram or a signed webhook of your own — and test each one before you rely on it. You are notified when an incident opens and again when the site recovers; an optional reminder repeats while a site stays down. There is no SMS channel.
Planning maintenance? Set a maintenance window on the site: incidents are still recorded, but no alerts are sent for that period.
What you see in the panel
The site list shows a live state and a 24-hour strip. A site’s Uptime tab adds the 90-day history, the hourly response-time chart, the incident timeline with cause and duration, the extra checks described above and the maintenance window. Monitoring collects the whole fleet: sites that are down right now, uptime across all sites, the slowest sites, certificates and domain names expiring soon, sites that answer but are not healthy, and the recent notices.
Nothing on these screens is estimated. A day with no measurement is drawn empty, a percentage with no data is shown as “—”, and a check your plan does not include is shown locked rather than filled with a plausible number.