
A homepage can return 200 OK while login fails, checkout serves a JavaScript error, a background job stalls, or one region cannot resolve the domain. A full-stack website monitoring checklist maps each customer-visible capability to the signal that can disprove it is healthy.
The checklist has two parts:
- Coverage (items 1–11): which layers and failure modes to observe.
- Outage readiness (items 12–17): who owns each alert, how it escalates, and how you tell customers. A long monitor inventory is not readiness if nobody knows which alert should open an incident.
1. Public Reachability
Yes, start with the basics.
Your homepage is usually the first thing users hit. If it's down, nothing else matters.
What to check:
- HTTP status code returns 200
- Response time stays within the endpoint's defined service objective
- Check frequency supports the service's detection objective
Why it matters: If your homepage is down for 10 minutes and you don't know, that's 10 minutes of lost visitors, signups, and trust.
2. Critical User Flows
Your homepage might be up, but is your signup form working? Is your checkout process functional?
What to monitor:
- Login page
- Signup/registration flow
- Checkout or payment pages
- Dashboard or main app entry point
Pro tip: Create a dedicated health endpoint for each critical flow that actually tests the underlying functionality, not just serves a static page.
3. API Endpoints
If your product has an API (or is an API), you need dedicated endpoint monitoring.
What to check:
- Response status codes (200, 201, etc.)
- Response time thresholds
- Response body validation (optional but powerful)
- Authentication still working
Common blind spots:
- Background job endpoints
- Webhook receivers
- Third-party API integrations
APIs fail silently all the time. Don't let yours be one of them.
4. SSL Certificate Expiration
Certificate expiration is preventable when renewal and expiry alerts are both tested.
When your SSL certificate expires:
- Browsers show scary security warnings
- Users can't access your site
- Google may temporarily de-index pages
- Trust evaporates instantly
What to monitor:
- Days until expiration (alert at 30, 14, and 7 days)
- Certificate chain validity
- Certificate issuer and renewal status
Best practice: Set up automated alerts well in advance. SSL renewal should never be a surprise.
5. Domain Expiration and DNS
Similar to SSL, but even more catastrophic when it fails.
What happens if your domain expires:
- Complete site inaccessibility
- Potential domain squatting by third parties
- Email delivery failures
- Massive SEO damage
What to monitor:
- Days until domain expiration
- Registrar lock status
- DNS configuration changes
Set alerts for 90, 60, 30, and 7 days before expiration.
DNS can also make your site unreachable while the servers are healthy. Monitor that your primary domain and critical subdomains like app, api, and status resolve to the expected targets, and review records after registrar or CDN changes. Related reading: DNS monitoring.
6. Response Time / Performance
Your site might be "up" but unusably slow.
Slow websites can frustrate users, reduce conversion, and precede capacity-related outages. Use your own historical latency and business metrics instead of a universal conversion-loss claim.
What to track:
- Time to First Byte (TTFB)
- Full page load time
- API response latency
- Response time degradation over time
Define warning and critical thresholds from baseline percentiles and user impact. A static page, an API request, and a browser checkout need different limits; see latency percentiles explained.
7. Error Rates and Status Codes
HTTP 200 is great. But what about the 500s, 502s, and 503s happening on other pages?
What to monitor:
- 5xx error rates (server errors)
- 4xx error rates (client errors, especially 404s)
- Error spikes vs. baseline
Why this matters: A single broken endpoint throwing 500 errors might not bring down your whole site — but it could break a critical feature your users depend on.
8. Database Connectivity
Many outages are database-related:
- Connection pool exhaustion
- Replica lag
- Query timeouts
- Disk space running out
What to monitor:
- Database connection success
- Query response times
- Connection count and pool health
- Storage utilization
Tip: Create a lightweight /health endpoint that checks only critical dependencies such as a basic database read. Return 200 when healthy and 503 when degraded, keep it fast, and monitor it for true application health.
9. Third-Party Services
Your site depends on services you don't control:
- Payment processors (Stripe, PayPal)
- Email providers (SendGrid, Mailgun)
- CDN (Cloudflare, Fastly)
- Authentication (Auth0, Firebase)
- Analytics (Google, Segment)
What to do:
- Monitor their status pages
- Track their response times from your end
- Have fallback plans for critical services
When Stripe goes down, your checkout goes down. Know about it instantly.
10. Multi-Region Availability
Users don't all come from one place.
Your site might be fast in Europe but slow in Asia. It might be up from your office but down for California users.
What to monitor:
- Latency from multiple geographic regions
- Regional outages (CDN issues, routing problems)
- DNS resolution times globally
Why it matters: A regional outage can affect thousands of users while your local tests show everything as "green."
11. Background Jobs and Heartbeats
Background jobs fail silently more often than teams expect. If backups, imports, report generators, billing syncs, or queue workers stop running, the damage may not be visible for hours or days.
What to monitor:
- A heartbeat for every critical scheduled task
- An alert when a job does not report in on time
- Separate thresholds for critical and low-priority jobs
Review heartbeat thresholds whenever a schedule changes. See cron job monitoring.
Outage Readiness Checklist
Coverage tells you something broke. Readiness decides whether the right person acts on it. Answer these before the next outage:
- Will the right person actually see the alert?
- Can we tell a real outage from a transient blip?
- Do we have a way to communicate with customers during an incident?
- Who owns each check and its runbook?
12. Route alerts to the right people
- Send alerts to at least two channels
- Use chat for visibility and email, SMS, or phone for action
- Define who owns each critical monitor
- Alert on repeated failures, not a single failed request
For many teams, Slack, Teams, or Discord for awareness plus email or SMS for the responder is enough.
13. Add escalation rules for critical incidents
If the first person misses the alert, what happens next?
- Define a primary and a backup responder
- Set an escalation delay for unacknowledged incidents
- Document who owns after-hours response
See the incident escalation policy guide.
14. Set up a status page before you need one
A status page is easiest to build before the outage, not during it.
- Add your critical services and components
- Decide who can post updates
- Prepare a simple incident update template
- Make sure support knows where to send customers
Without a status page, support becomes your incident communication system. Related reading: how to build a status page that increases customer trust.
15. Configure maintenance windows
- Schedule windows before deployments or infrastructure work
- Suppress alerts only for the affected monitors
- Keep the window narrow and re-enable alerting right after
16. Test your monitoring setup regularly
A monitor that has never been tested is only theoretically useful.
- Trigger test notifications for every alert channel
- Simulate a failure on a non-critical endpoint
- Confirm the right people receive the alert, and the recovery notice too
- Use a monitoring provider that is itself reliable, with redundant notification channels
17. Review coverage every quarter
Monitoring coverage decays unless someone owns it. Every quarter, review:
- New domains, subdomains, environments, APIs, and user flows
- New background jobs or integrations
- Alert ownership and escalation coverage for vacations and team changes
- Status page components and messaging
- Thresholds that no longer match production reality
The Complete Checklist Summary
Here's your quick-reference checklist:
| What to Monitor | Alert Threshold | Check Frequency |
|---|---|---|
| Homepage uptime | Unexpected status, content, or timeout | Detection objective |
| Critical user flows | Business outcome assertion fails | Journey objective |
| API endpoints | Contract, status, or latency fails | Endpoint objective |
| SSL certificate | <30 days expiry | Daily |
| Domain expiration | <90 days expiry | Weekly |
| Response time | >3 seconds | Every 1-5 min |
| Error rates | Spike above baseline | Continuous |
| Database health | Connection failure | Every 1-5 min |
| Third-party services | Degraded/down | Every 5 min |
| Multi-region | Regional failures | Every 5 min |
| Background jobs | Missed heartbeat | Job schedule |
| Alert routing | Untested channel or no owner | Quarterly test |
How to Avoid Alert Fatigue
A checklist this comprehensive sounds like a recipe for notification overload.
Here's how to stay sane:
- Set appropriate thresholds — Not every blip is an emergency
- Use escalation policies — SMS for critical, email for warnings
- Group related alerts — Don't get 10 notifications for the same root cause
- Schedule downtime windows — Silence alerts during planned maintenance
- Review and tune regularly — Adjust thresholds based on real patterns
The goal is actionable alerts, not noise.
Getting Started Is Easy
You don't need to implement every check on day one. A practical starter setup for a small team:
- 1 homepage monitor and 1 app or API monitor
- SSL certificate monitoring
- 1 health endpoint monitor
- 1 heartbeat for your most critical background job
- Alerts to chat plus email or SMS
- A simple status page
That setup alone catches a surprising number of real-world failures. Then expand as you go.
Most monitoring tools (including Webalert) let you set up these checks in seconds — and scale from there.
If you want to see what’s included, check the full Webalert features and compare plans on pricing.
Final Thoughts
"Is my site up?" is a great starting question.
But true reliability means asking:
- Is it fast?
- Is it secure?
- Is it working for all users?
- Will it still be working next month?
- Will the right person know when it is not?
This checklist helps you answer all of those questions — and catch problems before your users do.
Ready to monitor your full stack?
Start monitoring for free with Webalert — uptime, SSL, response time, and more in one simple dashboard.