How to Monitor Website Uptime: A Step-by-Step Guide

A step-by-step guide to monitoring website uptime: which pages and endpoints to check, intervals, keywords, SSL, DNS, domain expiry and alert routing.

Updated 8 min readBy the Uptime Tracker team

Short answer

To monitor website uptime, set up an external HTTP(S) check on your homepage and key pages (login, checkout, API health endpoint) at a 1-minute interval, add a keyword assertion so error pages are caught, and route confirmed alerts to a channel someone watches. Then cover the layers underneath: TLS certificate validity, DNS records and domain registration expiry. Finally, publish a status page and review availability monthly.

Monitoring website uptime means checking your site from outside your own infrastructure, at a fixed interval, and alerting when it fails. The steps below take about 15 minutes for a typical site and work with most monitoring tools. Examples refer to Uptime Tracker where a concrete setting helps.

Step 1: List what actually needs to work

A homepage check alone misses many real outages. Write down the user journeys that matter and the infrastructure they rely on:

TargetCheck typeWhy
HomepageHTTP(S) + keywordFirst thing users and search engines see
Login page or auth endpointHTTP(S) + keywordIf login fails, the product is effectively down
Checkout or pricing pageHTTP(S) + keywordDirect revenue impact
API health endpointHTTP(S) or advanced HTTPCatches backend failures behind a cached frontend
TLS certificatePart of the HTTPS checkAn expired certificate blocks visitors with a browser warning
DNS (A/AAAA, MX)DNS checkBroken or hijacked DNS takes everything down
Domain registrationDomain expiry checkA lapsed domain is one of the most avoidable outages
Background jobsHeartbeatFailed jobs do not produce HTTP errors

Step 2: Create an HTTP(S) monitor for the homepage

  1. Enter the full URL, including https://. Monitor the canonical address (for example https://www.example.com/) to avoid testing a redirect chain on every check.
  2. Set the expected status code. A 2xx response is the usual default.
  3. Set a timeout. 10 to 15 seconds catches real hangs without alerting on a single slow response; tighten it once you know your normal response times.
  4. Choose the interval. 1 minute is a good default for business sites. On Uptime Tracker the fastest interval is 5 minutes on Free, 60 seconds on Starter and 30 seconds on Team.

Step 3: Add a keyword check

A keyword check catches pages that return 200 OK but show an error. CDNs, frameworks and hosting providers often serve a friendly error or maintenance page with a success status. Pick a string that appears only when the page rendered correctly, such as a footer phrase or product name, and require it to be present. You can also require that strings like "Internal Server Error" or "Database connection failed" are absent.

Step 4: Monitor login, checkout and the API

Add a monitor for each critical journey. For pages behind authentication, monitor the public login page plus a backend health endpoint rather than storing real user passwords in a monitor. For APIs, use an endpoint that exercises the database and key dependencies; see how to monitor API endpoints for what a good health endpoint returns.

If you need to send a POST request, custom headers or an API key, use an advanced HTTP check (Starter plan and above on Uptime Tracker), which stores secrets encrypted and supports JSONPath and regex assertions. Avoid monitoring endpoints that create orders or send email, since every check would trigger the side effect.

Step 5: Cover SSL, DNS and domain expiry

  • SSL/TLS. On Uptime Tracker, every HTTPS check validates the certificate: an expired, untrusted or wrong-hostname certificate fails the check and alerts you, and the certificate's expiry date is shown on the monitor. Pair this with automated renewal; see SSL certificate expiry.
  • DNS. Add a DNS check for your apex and www records, and for MX if you receive email on the domain. Setting an expected answer catches records that change unexpectedly.
  • Domain expiry. A domain expiry monitor reads the registration date via RDAP and warns you a configurable number of days ahead (30 by default on Uptime Tracker). See domain expiry monitoring.

Step 6: Set up alerts that reach a person

Route alerts to where someone will see them within minutes. A typical setup:

  • A shared Slack, Microsoft Teams or Discord channel for every alert.
  • Email to the site owner as a fallback.
  • SMS, push (Pushover, ntfy) or PagerDuty for critical monitors, so outages at night wake someone.

Test every channel once by sending a test notification. On Uptime Tracker, failures are confirmed by two consecutive failed checks before an alert goes out, and recovery needs two consecutive successes, which keeps one-off network blips out of your inbox. More on this in reducing false positive alerts.

Step 7: Schedule maintenance windows

Planned deployments and migrations should not page anyone or count against your uptime. Create a maintenance window before planned work. During a window, alerts are suppressed and the time is excluded from availability. Uptime Tracker supports one-off windows on all plans and recurring weekly windows on Starter and above.

Step 8: Publish a status page

A public status page tells users you already know about a problem, which reduces duplicate support tickets. Map each component (website, API, dashboard) to its monitors so the page updates automatically, and post short written updates during incidents. See what is a status page.

Step 9: Review availability every month

Look at the monthly availability per monitor, the number and length of incidents, and response-time trends. A slowly rising time to first byte often precedes an outage. Compare results with your target using the nines table; 99.9% allows 43 minutes 12 seconds per 30-day month.

A starter configuration

MonitorIntervalAssertionAlert channel
Homepage1 min2xx + keyword presentChat + email
Login page1 min2xx + keyword presentChat + SMS/pager
Checkout30 s to 1 min2xx + keyword presentChat + SMS/pager
API /health1 min2xx + JSON status "ok"Chat + SMS/pager
DNS A record5 minExpected IPChat
Domain expiryDaily or hourlyWarn 30 days aheadEmail
Nightly backupHeartbeatPing after successChat + email

Common mistakes

  • Monitoring only the homepage, which may be served from a CDN cache while the application is down.
  • Running checks from inside the same network or server you are monitoring, which fails together with the site.
  • Sending every alert to one person's email with no backup.
  • Timeouts so tight that normal latency spikes cause alerts.
  • Forgetting to add new critical pages to monitoring after a launch.
FAQ

Frequently asked questions

How do I check if my website is down?

Set up an external uptime monitor that requests your site every minute and alerts you on failure. For a one-off check, load the site from a different network, such as mobile data, and test the URL with curl -I to see the status code. A monitor is better because it catches outages while you are not looking.

What pages of my website should I monitor?

Monitor the homepage, login, signup, checkout or pricing pages, and a backend health endpoint for each service. Also monitor DNS records, TLS certificate validity and domain registration expiry, and use heartbeats for background jobs such as backups.

Can I monitor my website uptime for free?

Yes. Several services offer free plans. Uptime Tracker's Free plan includes 2 monitors at 5-minute intervals, enough for your homepage and one more check, with email, Slack, Discord, Telegram and webhook alerts, plus one status page, and allows commercial use.

Why does my monitor say down when the site works for me?

Common causes are a firewall or bot protection blocking the monitoring probe, a timeout set too low, a regional network issue between the probe and your server, or a keyword assertion that no longer matches the page. Check the failure reason and timing breakdown on the monitor.

Should I monitor www and non-www versions of my site?

Monitor the canonical version with a full check, and add a lighter check on the other version if it should redirect. That catches both a down site and a broken redirect, which can hurt users who type the short address.

Uptime Tracker

Start monitoring in under five minutes

Start on the free plan — commercial use allowed. No credit card, no password, just your email address.

  • Free forever plan
  • No credit card
  • Cancel anytime