Judgement rules — status code, keywords, response time & DNS
Each check is one real HTTP request, evaluated in order:
#The judgement chain
- Network: DNS resolution, TCP connect, TLS handshake — any failure here fails the check (the error type is labeled separately).
- Status code: 2xx required by default; redirects are followed and the final status is what counts.
- Response time: over the site's configured timeout = failure; the detail page also shows the long-term trend.
- Page content: a hit on a "must not contain" keyword → failure; a missing "must contain" keyword → failure; a recognized framework error page (PHP Fatal, database connection failure, framework exception pages — about 15 kinds) → failure.
Once consecutive failures reach the site's consecutive-failure threshold → judged Incident, an incident is recorded and alerts fire.
#Filling in keywords
- Must contain: a word that's always present when the page is healthy, like a footer copyright or a heading.
- Must not contain: an error marker such as
Fatal errororError establishing a database connection. - Keyword matching scans the full page text; framework error detection works independently of keywords — see Page error detection.
#DNS verification
On the site detail page you can declare the "expected IPs / records". During a check the authoritative answer is compared against the IP actually connected to — hijacked resolution or changed records are treated as failures. For a new domain that hasn't propagated yet, an unresolvable lookup is only flagged as a hint, not a violation.
Related: Reading the site detail page · HTTPS certificate monitoring