Monitoring Guide

How to Monitor Website Uptime for Free: Tools, Intervals, and Alert Configuration

Website uptime monitoring dispatches HTTP probes at fixed intervals from external infrastructure and alerts you when they fail. The difference between knowing about downtime in 30 seconds vs 30 minutes determines whether users notice before you do.

The Minimum Viable Setup

Free tier, 5 minutes to configure: Create a free account on UptimeRobot or Freshping → add your homepage URL as an HTTP monitor → add your API health endpoint as a second monitor → configure email alerts to your engineering team → set confirmation count to 2 (prevents false-positive alerts from transient failures). Done. You will receive an email alert within 5 minutes of any outage onset — before your users open support tickets.

What Uptime Monitoring Actually Does (HTTP Probe Mechanics)

An uptime monitor is an external HTTP client that sends a GET request to your URL at a fixed interval and records the result — nothing more, nothing less. The sophistication is not in the probe itself but in the infrastructure running it: external, independent servers that are not on your hosting provider’s network, sending requests at consistent intervals and alerting you when responses deviate from the expected result. The probe is functionally equivalent to a user opening your website in a browser, except it runs automatically, continuously, 24/7.

T+0
T+5m
T+10m
T+15m ⚠
T+20m
T+25m ✓
T+30m
Probe returned HTTP 200 within timeout
Probe failed — alert triggered at T+15m (2nd consecutive fail)

Each probe records three pieces of data: the HTTP status code returned (200 = up, anything else = potential issue), the response time in milliseconds (TTFB — Time to First Byte, which DownCheck’s methodology tracks), and a pass/fail verdict based on whether the response was received within the timeout window. A probe that receives HTTP 200 after 9 seconds is counted as up. A probe that receives HTTP 200 after 11 seconds (if your timeout is 10 seconds) is counted as down, because users waiting 11 seconds for a response have functionally experienced downtime.

The critical property of external monitoring: it measures availability from outside your infrastructure, on the same network path your users travel. Internal process monitors (systemctl status nginx, container health checks, server CPU dashboards) tell you whether your process is running. External HTTP monitors tell you whether your users can actually reach your service. These are different questions with frequently different answers — a crashed application returning 500s will show as “process running” internally but “down” externally. Only external monitoring catches the failures that matter to users.

Monitoring Interval — 1 Minute vs 5 Minutes vs 30 Seconds

The monitoring interval determines your maximum detection latency — the longest possible gap between an outage beginning and your alert firing. A 5-minute interval means you could be down for up to 4 minutes and 59 seconds before your monitoring even checks. A 1-minute interval cuts that maximum to 59 seconds. The right interval depends on your downtime cost per minute: for a blog, 5-minute intervals are sufficient; for an e-commerce checkout processing $5,000/minute in transactions, 30-second intervals are justified.

IntervalMax Detection LagDaily Data PointsAvailabilityBest For
30s 29 seconds 2,880 Paid plans only High-revenue e-commerce, payment processing, real-time SaaS
1 min 59 seconds 1,440 Freshping free, Better Uptime paid SaaS products, API services, apps with active user bases
3 min 2m 59s 480 Better Uptime free Business websites, lead-generation sites, internal tools
5 min 4m 59s 288 UptimeRobot free, DownCheck Most websites — sufficient for detecting outages before users report them
30 min 29m 59s 48 Some free tiers Low-traffic sites, development/staging environments only

Five-minute intervals are sufficient for the vast majority of websites because most outages are detected by users and reported as support tickets faster than 5 minutes anyway — the monitoring system provides a structured alert ahead of the user complaints, not a 5-minute faster detection. The real value of monitoring is not the 5 minutes of detection time saved but the structured escalation it triggers: a monitor alert fires to your engineering team immediately, while user-reported downtime takes 10–20 minutes to reach engineering via support channels. The monitoring alert gets the right person working on the problem faster, regardless of whether the actual detection was 1 minute or 5 minutes earlier than user reports.

Interval ≠ accuracy: A 1-minute interval monitor does not guarantee you detect all outages within 60 seconds. If the outage begins at T+0 seconds after a probe just fired, you will not detect it until T+60 seconds. Real-world average detection time is interval/2 — so a 5-minute monitor has an average detection time of 2.5 minutes and a maximum of 5 minutes. A 1-minute monitor averages 30 seconds.

Single-Location vs Multi-Location Monitoring — Why It Matters

Single-location monitoring detects origin failures but cannot distinguish them from regional network failures, ISP routing issues, or CDN PoP failures that affect only a subset of your users. If your monitoring probe is in Virginia and your CDN’s Frankfurt PoP fails, your Virginia probe will never fire because European users are affected while the Virginia-based probe continues to succeed. Your European users are down; your monitoring says everything is fine.

Single-Location Monitoring

  • Free on virtually all tools
  • Detects global origin failures reliably
  • Simple to set up and interpret
  • Cannot detect regional CDN failures
  • Cannot detect ISP-specific routing failures
  • Cannot confirm if downtime is global or regional
  • Probe itself may experience ISP issues, causing false positives

Multi-Location Monitoring

  • Detects regional failures invisible to single-location probes
  • Reduces false positives — failure confirmed from multiple locations
  • Shows which geographic regions are affected
  • Matches real user experience across distributed user base
  • Typically requires paid plan (most free tiers are single-location)
  • More complex to interpret: partial failures across regions

The practical rule: for a site using a global CDN (Cloudflare, Fastly, CloudFront), multi-location monitoring is the only monitoring that accurately represents your users’ experience. A Cloudflare PoP failure in Asia-Pacific affects millions of users while a Virginia-based probe continues to report the site as up. For sites without a CDN (origin-only hosting), single-location monitoring from a location near your server is sufficient — the failure point is the origin, which affects all users equally. See the CDN guide for how CDN architecture changes the monitoring requirements for your stack.

What to Monitor — Homepage, API Endpoints, Login, Checkout

Monitoring only your homepage is the most common uptime monitoring mistake. A homepage returning HTTP 200 means the web server is alive and served one HTML file. It says nothing about whether your database is accepting connections, your API is processing requests, your authentication system is functional, or your payment processing is operational. Partial failures — where the homepage is up but critical functionality is broken — are extremely common and completely invisible to homepage-only monitoring.

Critical

Homepage / Main Entry URL

Confirms the web server is running and serving basic content. A 200 here is necessary but not sufficient — it is the baseline check, not the complete picture.

https://yourdomain.com/
Critical

API Health Endpoint

A dedicated endpoint that returns 200 only when all critical dependencies (database, cache, external APIs) are responsive. A 200 here confirms the application stack is fully operational, not just the web server. If you do not have one, create /health or /api/status that queries the database before returning 200.

https://yourdomain.com/health
High

Authentication / Login Page

Confirms your authentication system is serving the login UI. For SaaS applications, a down login page means zero users can access the product even if all other endpoints are functional. Monitor the login page URL, not the login POST endpoint (which requires credentials to return 200).

https://yourdomain.com/login
High

Checkout / Payment Page

The highest revenue-impact page on an e-commerce site. A broken checkout is a direct revenue outage even if every other page works. Monitor the checkout URL for a 200 response to confirm the page loads. Pair this with transaction monitoring (synthetic transactions) for production revenue assurance.

https://yourdomain.com/checkout
Medium

Third-Party Dependency Status

Monitor the status pages of your critical dependencies: Stripe, Twilio, SendGrid, AWS, your hosting provider. When your service goes down due to a third-party outage, monitoring their status page confirms the root cause and tells you when it resolves — so you are not debugging your own code when the problem is upstream. Most providers offer status page RSS feeds that monitoring tools can consume.

https://status.stripe.com/  |  https://status.aws.amazon.com/
Medium

SSL Certificate Expiry

Not a URL probe but a separate check most monitoring tools offer: alert 30 days before your TLS certificate expires. An expired certificate takes your entire site down for all HTTPS users simultaneously and takes hours to fix during business hours, days to fix if it expires on a weekend. This check pays for itself the first time it prevents a certificate expiry incident.

Certificate monitor on: yourdomain.com  →  alert at 30d remaining

Design your health endpoint correctly: A /health endpoint that always returns 200 without checking dependencies is worse than no health endpoint — it gives false confidence. Your health check should execute a SELECT 1 against the database, a ping to your cache (Redis), and any other critical dependency your app requires. Return 200 only if all checks pass; return 503 if any fail.

Alert Configuration — Who Gets Notified and When

An alert that wakes the wrong person at 3am or fires for every transient network blip will be silenced within a week — making your monitoring system ineffective when a real incident occurs. Alert fatigue is the single biggest failure mode of uptime monitoring systems. The solution is a structured escalation policy that differentiates between transient single-probe failures (which are often noise) and confirmed multi-probe outages (which require immediate response).

1st fail

No alert — start confirmation count

A single probe failure is often a transient network issue affecting only the monitoring provider’s network path. Do not alert. Start the confirmation counter. The next probe will confirm whether this is real or noise.

2nd fail

Notify engineering team

Two consecutive failures confirm a real problem. Send an immediate alert to the on-call engineer and team channel. Include the URL, error code, and response time. This is the signal to begin investigation.

EmailSlackTeams
5 min down

Escalate to on-call / PagerDuty

If the outage is not resolved within 5 minutes of the first alert, escalate to the on-call rotation via PagerDuty, OpsGenie, or direct SMS. Five minutes of confirmed downtime is a real incident, not a blip.

PagerDutySMSOpsGenie
15 min down

Update public status page

Post an incident update on your public status page acknowledging the outage. Users who check the status page stop filing support tickets. This single action reduces support volume by 40–60% during an active incident by giving users a reliable information source.

Status pageTwitter/X
Recovery

Send all-clear notification

When monitoring confirms recovery (2 consecutive successful probes), send an all-clear alert to the same channels that received the down alert. Close the incident, update the status page, and schedule a post-mortem if the outage lasted over 10 minutes.

EmailSlackStatus page

Free Uptime Monitoring Tools Compared (UptimeRobot, Better Uptime, Freshping)

Three tools dominate the free uptime monitoring space, each with a distinct trade-off between check frequency, monitor count, and feature completeness. All three are external SaaS services that run probes from their own infrastructure — independent of your hosting provider. All three offer email alerts on the free tier. The differences that matter for free-tier selection are the check interval and the number of monitors allowed.

UptimeRobot
Free Forever
50 monitors 5-min intervals Email + Slack alerts Basic status page 90-day history

The most widely used free monitoring tool. 50 monitors is sufficient for most small-to-medium sites monitoring homepage + API + checkout + dependencies. The 5-minute interval is the limitation: you will detect outages within 5 minutes at worst, which is acceptable for most use cases but not for high-revenue production systems.

The free status page is functional but branded with UptimeRobot branding. The paid plan ($7/month) adds 1-minute intervals, multi-location probes, and custom-branded status pages. For teams on the free tier, UptimeRobot is the default recommendation.

Limitation: single monitoring location (Virginia, US) on free tier. Cannot detect regional failures affecting non-US users.
Freshping (by Freshworks)
Free Forever
50 checks 1-min intervals Email + webhook alerts 5 monitoring locations Status page included

The best free-tier check frequency: 1-minute intervals across 5 global locations simultaneously. Freshping is the strongest free option for teams that need faster detection and multi-location probing without paying. 50 checks (their term for monitors) covers homepage + critical endpoints for most sites.

The multi-location probing on the free tier is Freshping’s differentiating feature. A probe failing from 3 of 5 locations is a strong signal of a real outage; a probe failing from 1 of 5 is likely a transient network issue — this built-in multi-probe validation significantly reduces false positives compared to single-location tools.

Limitation: Freshping is part of the Freshworks suite; the interface is more complex than UptimeRobot and requires navigating to the Freshping product within the Freshworks dashboard.
Better Uptime
Free Tier (Limited)
10 monitors 3-min intervals Email + Slack alerts On-call scheduling Hosted status page

The best free option for teams that need on-call scheduling and a polished public status page. Better Uptime’s status page is significantly more professional than UptimeRobot’s free tier and includes incident management features (incident creation, updates, resolution). The on-call scheduling lets you define who gets alerted at what times, reducing alert fatigue.

The 10-monitor limit on the free tier is the primary constraint — it is sufficient for monitoring critical endpoints but leaves little room for dependency monitoring. The 3-minute check interval sits between UptimeRobot (5 min) and Freshping (1 min).

Limitation: 10 monitors is restrictive for sites with many critical endpoints. The paid plan starts at $20/month and adds unlimited monitors and 30-second intervals.

Status Pages — Why Public Transparency Reduces Support Load

A public status page is the single highest-ROI addition to your monitoring stack because it converts support ticket demand into self-serve information consumption during outages. When your service goes down, users have two options: file a support ticket or check your status page. Without a status page, 100% of downtime-related contacts become support tickets. With a status page, users who find it check it first — typically reducing support ticket volume by 40–70% during active incidents.

40–70%

Fewer support tickets during outages

Users who can see a status page confirming the outage stop filing tickets. Every ticket not filed saves 5–15 minutes of support team time.

< 2 min

Faster stakeholder communication

A status page update takes 60 seconds to post. It replaces email chains, Slack threads, and executive escalations with a single source of truth.

+Trust

Builds user confidence

Public acknowledgment of incidents with honest timelines demonstrates operational maturity. Users trust services that communicate transparently during outages more than those that go silent.

A status page must be hosted on infrastructure independent of your primary hosting provider — a status page running on the same server as your application will go down at the same time as your application, defeating its purpose entirely. All three recommended monitoring tools (UptimeRobot, Freshping, Better Uptime) host status pages on their own infrastructure. Link your status page from your homepage footer, your API documentation, your error pages (so users who land on a 503 can find it), and your support portal. A status page that users cannot find provides zero support deflection benefit.

How DownCheck Fits Into Your Monitoring Stack

DownCheck serves a different function than continuous uptime monitors: it provides on-demand multi-probe verification that distinguishes CDN failures, origin failures, and DNS failures in real time. Where UptimeRobot tells you “your site is down”, DownCheck tells you “your site is down because Cloudflare cannot reach your origin (HTTP probe succeeds, CF Edge probe fails, DNS resolves)”. This incident diagnosis capability compresses the investigation phase of an outage from 15–30 minutes to under 60 seconds.

Continuous

UptimeRobot / Freshping / Better Uptime

Runs probes every 1–5 minutes. Fires the initial alert when your site goes down. Tracks uptime % over time. Hosts your public status page. Tells you something is wrong.

DownCheck

DownCheck On-Demand Multi-Probe

Run immediately when your continuous monitor fires an alert. 3 simultaneous probes (HTTP, Cloudflare Edge, DNS) identify the failure layer in seconds. Tells you exactly what is wrong and where. Also monitors 55+ major services so you can check if your hosting provider, CDN, or database-as-a-service is experiencing an incident.

APM

Datadog / New Relic / Sentry (Optional)

Application Performance Monitoring captures internal metrics: slow database queries, error rates by endpoint, memory usage, deployment correlation. Complements external uptime monitoring by providing the internal “why” after DownCheck identifies the failing layer externally.

The workflow during an active incident: (1) Continuous monitor alerts → (2) Run DownCheck to identify the failing layer in 30 seconds → (3) If origin is down, check APM for crash logs and slow queries → (4) If CDN is the issue, check the CDN provider’s status page (tracked on DownCheck’s services dashboard) → (5) Update status page → (6) Execute fix. This structured workflow is how teams reduce MTTR from 30 minutes to under 10 minutes. See the uptime and SLA guide for how MTTR improvements compound into measurable uptime gains.


Frequently Asked Questions

How does uptime monitoring work?
Uptime monitoring works by dispatching HTTP GET requests to a target URL at fixed intervals from external infrastructure. Each probe records whether the response was a valid HTTP 200–399 status code received within the timeout. Failed probes trigger alerts. Uptime % is calculated as successful probes ÷ total probes over a rolling time window.
What is the best free uptime monitoring tool?
For most websites: UptimeRobot (50 monitors, 5-minute intervals, email + Slack alerts, basic status page — free forever). For faster detection: Freshping (50 checks, 1-minute intervals, 5 monitoring locations simultaneously — free). For teams needing on-call routing and a polished status page: Better Uptime (10 monitors, 3-minute intervals, on-call scheduling — free tier).
How often should I monitor my website?
5-minute intervals are sufficient for most websites. This detects outages within 5 minutes at worst and generates 288 data points per day for reliable uptime calculation. For SaaS or e-commerce where every minute of downtime has measurable revenue impact, 1-minute intervals reduce maximum detection time to 60 seconds.
What is the difference between single-location and multi-location monitoring?
Single-location monitoring detects origin failures but cannot detect regional CDN failures or ISP routing issues affecting only a subset of users. Multi-location monitoring confirms whether a failure is global or regional by probing from multiple continents. For CDN-proxied sites, multi-location monitoring is the only approach that accurately represents your global user base’s experience.
What should I monitor beyond the homepage?
Monitor your API health endpoint (/health), login page, and checkout/payment page separately. The homepage can return 200 while the database is down and API calls are failing — homepage-only monitoring is blind to these partial failures that affect 100% of logged-in users. Also monitor SSL certificate expiry (alert at 30 days remaining).
How do I reduce false positive alerts from uptime monitoring?
Set a confirmation count of 2–3 consecutive failed probes before triggering alerts. A single probe failure is often a transient network blip in the monitoring provider’s network. Two or three consecutive failures confirm a real outage. Most tools call this setting “confirmation count”, “retry count”, or “consecutive failures before alerting”.

Check a site right now

While you set up continuous monitoring, DownCheck gives you an instant 3-probe verdict on any URL — HTTP, CDN edge, and DNS simultaneously.

Run a free check →