
A website monitoring policy defines what the agency checks, how failure is confirmed, who receives an alert, when the client is informed, and what evidence is required before the incident is closed. It prevents two opposite failures: discovering outages through clients and overwhelming engineers with unactionable alerts.
The policy should monitor business outcomes in layers. Homepage uptime is useful, but it cannot prove that a lead arrived, checkout completed, a scheduled import ran, or the application is safe to use.
For every client website, document:
| Check | Business reason | Method | Frequency | Confirmation | Severity | Owner |
|---|---|---|---|---|---|---|
| Homepage marker | Basic reachability | HTTPS + content | 1 min | 2 failures from 2 locations | P2 | On-call |
| Lead form | Revenue path | Synthetic submit | 5 min | Retry once | P1/P2 | Support lead |
| Lead email | Delivery path | Unique marker + mailbox check | 5 min | Missing after delivery window | P1/P2 | Support + client ops |
| Checkout milestone | Ecommerce path | Synthetic browser/API | 10 min | 2 consecutive failures | P1 | On-call |
| ERP order freshness | Fulfilment | Reconciliation/heartbeat | 5 min | Age exceeds 15 min | P1 | Integration owner |
| TLS expiry | Preventable outage | Certificate inspection | Daily | Alert at 30/14/7 days | P3→P2 | Service owner |
| Domain expiry | Preventable outage | Registrar/registry evidence | Daily | Alert at 60/30/14 days | P2 | Client owner |
| Backup age | Recovery readiness | Provider/API heartbeat | Daily | Exceeds policy | P2 | Infrastructure owner |
Thresholds are examples. Set them from business tolerance and observed behaviour, not copied defaults.
“Check the contact form” is not testable enough. A good success condition includes input, action, observable result, and maximum delay.
Given a synthetic visitor on /contact,
when the visitor submits a uniquely marked test enquiry,
then the website displays the expected success state,
the message appears in the agreed mailbox within 180 seconds,
and the test record is removed or labelled automatically.
Where inbox access is not permitted, agree on a less complete signal and state the limitation. A 200 response proves only that the endpoint answered.
Use confirmation deliberately:
The objective is not fewer alerts at any cost. It is fewer alerts that do not lead to a decision.
| Severity | Primary route | Fallback | Client notification | Escalation |
|---|---|---|---|---|
| P1 | Pager/phone + incident channel | SMS/second engineer | Immediately after confirmation | Incident commander now |
| P2 | On-call chat/help desk | Email/backup owner | Within agreed update target | Service owner if unowned |
| P3 | Help-desk task | Digest/email | Normally in planned update | Maintenance lead |
| P4 | Backlog/report | None | Usually not immediate | Product/service owner |
Do not use Slack or Microsoft Teams as the only route for a P1 unless the team has verified after-hours delivery and a fallback outside that platform.
A maintenance window must include:
Never disable the whole portfolio because one plugin update is planned.
# Website monitoring policy
Owner: [role]
Version: [number]
Effective: [UTC date]
Review cadence: [quarterly / after material change]
## Scope
Websites and environments: [list or inventory reference]
Service hours: [24/7 or schedule with time zone]
Excluded systems: [explicit list]
## Criticality
Project classes: [A/B/C or equivalent]
Severity model: [P1-P4 policy link]
## Required checks
- Canonical URL and critical pages: [standard]
- Business journeys: [per-site map]
- TLS/domain/DNS: [standard]
- Scheduled jobs/integrations: [standard]
- Backup age: [standard]
## Confirmation
- Failure count: [rule]
- Regional confirmation: [rule]
- Business-path exception: [rule]
- Recovery confirmation: [rule]
## Notifications
- P1: [primary + fallback]
- P2: [primary + fallback]
- P3/P4: [ticket/digest]
- Client communication owner: [role]
## Planned maintenance
Notice period: [value]
Suppression approval: [role]
Maximum suppression: [value]
Post-change validation: [checklist]
## Evidence and retention
Event timestamps: [UTC]
Result retention: [value]
Incident link: [system]
Sensitive-data rules: [policy link]
## Review triggers
- New critical journey
- Hosting, DNS, CDN, CMS, or integration change
- Material incident or missed detection
- SLA change
- Client ownership change
The agency originally pings 40 homepages every minute and sends all failures to one Slack channel. Engineers mute the channel after intermittent hosting errors. A client's lead form later stops delivering mail for nine days without an alert.
The revised policy groups sites into three criticality classes, moves actionable events into the help desk, keeps paging for P1/P2, and adds end-to-end form checks for 12 lead-generation sites. The agency has more checks but fewer messages, because every notification has an owner and decision path.
Frequency should reflect the maximum acceptable detection delay. A critical revenue path may justify one-minute checks; a domain-expiry check may run daily.
Use regions that represent the audience or help distinguish origin failure from regional network failure. More regions are not automatically better if nobody interprets the differences.
It can be, with agreed test data, rate limits, cleanup, privacy controls, and protection against triggering real sales or support workflows. Confirm the client's policy first.
For most maintained sites: canonical URL, one critical page, TLS/domain, the main conversion journey, and at least one recovery or scheduled-job signal.
Reviewed: 8 August 2026.
Next: Website outage incident response playbook and critical user journey monitoring.
Pingvera can automate the external checks in this policy, including forms and delivery to a mailbox. Keep ownership, severity, communication, and recovery decisions in the agency's operating model.
Pingvera watches whether an online business actually works — uptime, checkout, orders, domain, SSL and server — and alerts you in Telegram, email or a webhook before a customer has to tell you.
Start freeRead next: Ecommerce Unit Economics: Practical Template · Monitor 50 Client Websites Without Alert Fatigue · Monitoring inside your AI assistant: connect Claude or Cursor to… · WordPress Mass Hacks of 2026: How Monitoring Warns You Early · Run a free site check.