How to Set Up Website Monitoring (and Catch Outages Before Customers Do)
What website monitoring actually checks, which monitors are worth running, and how to get outage alerts by email, Slack or Telegram before your visitors notice.
Kaspar 8 min read
When a website goes down, it rarely announces itself with a bang. The shop stops loading, the customer portal times out, the API returns errors instead of data. Customers often notice first. Website monitoring reverses that order: an external service checks your pages on a schedule and tells you as soon as something is wrong.
This article covers what website monitoring actually measures, which checks are worth running, how to avoid false alarms, and how to route alerts so someone can act on them.
What website monitoring really checks
Website monitoring, also called uptime monitoring, means a service outside your infrastructure requests a URL at regular intervals and checks whether the response matches what you expect. Typical criteria:
- Reachability: the server responds at all, DNS resolves, the TCP connection succeeds.
- HTTP status code:
200is fine,500or502is not. Some URLs should deliberately return301or302, for example redirects. - Content: a specific string or marker in the body confirms that the right page loaded, not a generic maintenance or error page.
- Response time: how long DNS, connect, TLS and time to first byte take. Slow responses are often an early warning of larger problems.
- TLS: for HTTPS, the certificate is part of the picture. If it expires, visitors see a security warning even though the server is still up. See our guide to SSL certificate monitoring.
The outside view matters. A check running on the same server as the app often misses failures in the firewall, load balancer or DNS — the layers your visitors hit first.
Why ping alone is not enough
Classic ICMP ping only tells you whether a host is roughly reachable. It does not check HTTP, TLS or application content. Many hosting environments block ICMP anyway. A green ping and a dead shop can both be true at the same time.
Useful website monitoring works at the application layer: HTTP or HTTPS against the URL your users open. The same applies to APIs and the endpoints clients actually call. Internal health checks in the app are still valuable for deployments and orchestration; they do not replace an external uptime check.
Which URLs to monitor first
You do not need a monitor for every subpage. Start with the addresses whose failure hurts immediately:
- Homepage and key landing pages. That is where most visitors arrive and often the first impression for search engines.
- Login, checkout and other critical flows. Status codes alone are sometimes not enough: a login page can return
200and still show a broken auth screen. A keyword check on expected text helps. - Public API endpoints. Machines rarely complain on their own. A monitor on a lightweight, unauthenticated health or status endpoint catches many integration failures early.
- The status or health URL behind the load balancer. If you run several instances, check the address real traffic hits, not only an internal instance.
Agencies benefit from consistent naming, for example client-project-homepage. When an alert arrives, you see immediately who is affected.
Intervals, locations and what “up” means
Shorter check intervals mean you see outages sooner and collect more data points. Very short intervals also create more load and more potential false alarms when the network blips. For most sites, checks on the order of a minute are a solid compromise; business-critical pages justify shorter intervals.
A single failed check is not an outage. Brief DNS issues, a provider blip or a busy node can fail one request while the next succeeds. Good website monitoring confirms a failure before it alerts: it re-checks promptly and only notifies you once the failure is confirmed. Real outages stay visible without every network flicker waking someone's phone.
Where the check runs from matters too. A probe in the same data centre as your hosting can miss a regional routing problem. A location outside your infrastructure, for example from Germany, is closer to how customers see your site.
Using status codes and keyword checks well
Not every status code means the same thing:
- 2xx signals success. For most public pages,
200is the goal. - 3xx means redirects. Whether that is a failure depends on the URL. An intentional canonical redirect is fine; a loop or a redirect to the wrong domain is not.
- 4xx points at client-side problems. A monitor for a page that should return
404because it was removed on purpose needs different expectations than the homepage. - 5xx is a server error and usually worth an alert.
Add keyword checks when the page still returns 200 on failure. That happens with application servers that render an error inside the site layout, with feature flags that hide content, or with maintenance pages that share the success status code. An expected marker in the HTML or JSON tells you whether the app is really in the state you want.
Reading response times without getting lost
Latency data only helps when you split it into phases. DNS, TCP connect, TLS handshake and time to first byte (TTFB) tell different stories:
- Rising DNS time often points at resolvers or DNS changes.
- Long connect times suggest network or firewall issues.
- An expensive TLS handshake can mean certificate problems or an overloaded TLS terminator.
- High TTFB usually sits in the application, database or cache.
Website monitoring is not a substitute for APM or real-user monitoring. It does show you early that something is getting slower, before the page is fully down. Day to day, watching for sudden jumps matters more than chasing every millisecond.
Alerts people will actually read
The best check is useless if the message lands in spam or in a channel nobody opens after hours. Treat alerts like a small on-call process:
- Email is a reliable baseline and reaches people who are not always in chat tools.
- Slack reaches teams that already work there. A dedicated monitoring channel keeps noise out of project chats.
- Telegram works well for on-call on a phone without opening work email.
Decide who responds during business hours and who covers evenings. Bundle follow-on failures: if a page is down for five minutes, you need one clear alert and later an all-clear when checks are green again, not fifty separate emails.
For agency client work, put the client name in the alert. Otherwise the first minutes go to figuring out which of twenty monitored sites is meant.
Common setup mistakes
- Monitoring only the homepage. Checkout, API and login can fail while the homepage is still served from a CDN.
- Checking HTTP instead of HTTPS. Your users land on HTTPS. The monitor should do the same, or you will miss certificate and redirect problems.
- Aggressive intervals without confirmation. Without a re-check on failure, you train the team to ignore alerts.
- Keyword checks on copy that changes often. Marketing headlines make poor markers. Prefer stable fragments, such as a technical marker or a fixed product name.
- Not aligning monitoring with deployments. Planned maintenance should not look like an outage, or you need a clear window when checks are expected to fail.
- Alerting engineering without a process. If nobody knows who informs the customer or whether a rollback is needed, the alert's value stays limited.
Website monitoring and the rest of operations
Uptime checks answer: “Is the site reachable from the outside?” Other failures stay invisible:
- Cron jobs and batch processes fail quietly. Those need heartbeats, as we describe in How to Monitor Cron Jobs with Heartbeats.
- Broken links leave the site online but hurt users and SEO. See How to Find Broken Links and Protect Your SEO.
- Certificates can expire while HTTP checks on port 80 stay green. HTTPS monitors with expiry warnings close that gap.
Together, these pieces are closer to what your users experience than a single ping.
A checklist to get started
- List the five most business-critical URLs (homepage, login, checkout, API, and a status page if you have one).
- Create an HTTP(S) monitor for each with a sensible interval.
- Define expected status codes and keyword checks where needed.
- Set up at least two alert channels, for example email plus Slack or Telegram.
- Trigger a test alert on purpose so it is clear who responds.
- Add certificate warnings on HTTPS monitors and check whether cron jobs and important link structures are covered separately.
How Kaspar helps
Kaspar checks your websites over HTTP(S) from Germany, measures DNS, connect, TLS and time to first byte, verifies status codes and keywords, and warns you 30, 14, 7 and 1 day before an HTTPS certificate expires. When a check fails, we re-check within seconds and only alert you once the outage is confirmed — by email, Slack or Telegram. In the same account you can add cron heartbeats and broken-link scans. See our pricing page for the plans and features for the details.
Wrapping up
Website monitoring is not a luxury for large platforms. It is the baseline whenever downtime costs money, trust or contracts. Monitor the URLs that matter, from the outside and at the application layer, confirm failures before you alert, and make sure the message reaches people who can act. Pair uptime checks with heartbeats, link scans and certificate warnings, and you will see more than whether the homepage answers — you will see whether operations are healthy.
If you are setting up website monitoring from scratch or cleaning up existing checks, an afternoon is often enough: define critical URLs, test alerts, write down who owns the response. The payoff shows up at the next outage — ideally before your customers report it.
- Website monitoring
- Uptime
- Alerting
- DevOps
- Agencies