Automate Website Monitoring for Free: Uptime, Audits and Alerts

Set up free automated website monitoring: uptime checks with UptimeRobot, Better Stack or Uptime Kuma, scheduled audits, sensible alert rules and less noise.

By the MakeItFlow team Updated 10 min read
Share LinkedIn X Facebook WhatsApp
Automate Website Monitoring for Free: Uptime, Audits and Alerts

You can automate website monitoring for free by combining two layers: a hosted or self-hosted uptime checker (UptimeRobot, Better Stack or Uptime Kuma) that tests your site every few minutes and alerts you when it fails, and a slower scheduled audit that catches gradual problems like slowing pages, weakening security headers or broken SEO tags.

This post is the hands-on setup. If you want the broader list of what to watch after launch, read our website monitoring guide first. When an alert does fire and you want a quick second opinion from outside your network, our free website down checker tells you whether the site is unreachable for everyone or just for you.

Key takeaways

  • A free monitoring setup needs two layers: frequent uptime checks that page you, and slower scheduled audits that report gradual problems by email.
  • Hosted free tiers such as UptimeRobot and Better Stack check every few minutes, while self-hosted Uptime Kuma has no monitor limit but needs a server outside your main host.
  • Alert only on things a person must act on now, and require a failure to be confirmed by retries or more than one location before anyone is notified.
  • Cron jobs such as backups and certificate renewals fail silently, so a heartbeat monitor that alerts when a job does not check in closes that gap.

The two layers, and why one is not enough

Uptime monitoring and auditing answer different questions.

Layer Question it answers How often How it tells you
Uptime checks Is the site reachable and serving the right page right now? Every 1 to 5 minutes Push, SMS, chat or email, immediately
Scheduled audits Has anything got slower, less secure or worse for SEO since last time? Daily or weekly Email digest or report

An uptime monitor will happily report "100% up" while your homepage has picked up a noindex tag, your Largest Contentful Paint has doubled after a plugin update, or your HSTS header disappeared during a server move. An audit tool, on the other hand, is far too slow to tell you the site went down at 2am. You need both, and they should alert in different ways.

Layer 1: free uptime monitoring options

Free tiers change, so check each provider's pricing page before you commit. As of October 2026 the main options look like this.

Tool Free allowance Shortest free interval Notes
UptimeRobot 50 monitors 5 minutes One basic status page; the free plan is pitched at hobby and non-profit projects, so read the current terms if you monitor client or revenue-generating sites
Better Stack 10 monitors and heartbeats 3 minutes Email and Slack alerts on free; one status page
Uptime Kuma Unlimited (self-hosted, MIT licence) 20 seconds You run it, so it needs a server that is not on the same host as your site
Healthchecks.io 20 checks n/a (heartbeat) Watches cron jobs rather than web pages

For most small business sites, a hosted free tier is the simplest choice. Five-minute checks mean you could miss a very short blip, but you will know about any real outage within minutes.

Self-hosting Uptime Kuma

Uptime Kuma is a good fit if you manage several client sites, want more than 10 monitors without paying, or want shorter intervals. The project's own Docker command gets it running:

docker run -d --restart=always -p 3001:3001 \
  -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2

Then open port 3001, create the admin account, and put it behind a reverse proxy with HTTPS before exposing it to the internet.

The one rule that matters: don't run your monitor on the same server, or even the same hosting provider, as the sites it watches. If that host goes down, your monitor goes down with it and nobody gets told. A small VPS with a different provider, a Raspberry Pi at the office, or a spare home server all work. Ideally, point a free hosted monitor at Uptime Kuma itself so you know if the watcher dies.

What each uptime check should test

A bare "did the server answer?" check misses a lot. Set up each monitor like this:

  1. Check the final URL. Monitor https://example.com/, not http://, so a redirect loop or broken HTTPS shows up as a failure. You can confirm what a URL really returns with our HTTP status checker.
  2. Use a keyword check. Ask the monitor to look for a word that only appears on a healthy page, such as your business name in the footer. A page that returns 200 OK with "Error establishing a database connection" is down for your customers.
  3. Monitor the money pages. Add the checkout, booking form or login page, not just the homepage. These often depend on extra services that fail independently.
  4. Add DNS and port checks if you run email or an API. Uptime Kuma supports DNS record, TCP port and ping monitors, so you can watch your MX host or an API endpoint too.

Layer 2: scheduled audits

Uptime tells you the lights are on. Scheduled audits tell you whether the house is slowly falling apart. There are three free or low-cost ways to automate them.

Option A: a scheduled PageSpeed and Lighthouse check

Google's PageSpeed Insights API is free with an API key. A small script on a daily cron, or a scheduled GitHub Actions workflow, can record your performance score and Core Web Vitals and email you when they cross a threshold:

#!/bin/sh
# Daily mobile performance score for one URL
URL="https://example.com/"
KEY="your-api-key"
SCORE=$(curl -s "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=$URL&strategy=mobile&key=$KEY" \
  | jq '.lighthouseResult.categories.performance.score * 100')
echo "$(date -I) $SCORE" >> /var/log/psi-score.log
[ "${SCORE%.*}" -lt 60 ] && echo "Mobile score dropped to $SCORE" | mail -s "PSI alert" you@example.com

Lab scores move around from run to run, so alert on a sustained drop rather than a single bad result. Our PageSpeed Insights score explainer covers why the number keeps changing.

Option B: our Website Monitoring feature

If you'd rather not maintain scripts, MakeItFlow has a Website Monitoring feature on the Starter plan and above. It re-scans your saved sites daily or weekly across speed, SEO, security, email authentication and DNS, emails you when the score changes, and keeps an audit history chart so you can see when something started to slip.

To be clear about what it isn't: it is not an uptime pager. It won't ping your site every minute or text you when it goes down. Pair it with one of the uptime tools above. It also doesn't send SSL expiry alerts, although each scan does show the certificate's expiry date. On the Pro plan you can trigger audits from your own scripts through the REST API and receive results by HMAC-signed webhook, which is useful if you want audits to run after every deploy.

Option C: free one-off audits on a calendar reminder

The zero-cost, zero-maintenance version is a monthly calendar reminder to run a free audit and compare it with last month's. It's manual, but it works, and learning to read an audit report makes it quick.

Heartbeat monitoring for jobs that fail silently

Some of the most damaging failures make no noise at all. A nightly backup stops running after a server migration. A certificate renewal cron job loses its permissions. Nothing is "down", so no uptime monitor fires, until the day you need the backup or the certificate expires.

Heartbeat (or "dead man's switch") monitoring flips the logic. The job pings a unique URL each time it finishes, and the monitor alerts you when the ping doesn't arrive on schedule. Healthchecks.io, Better Stack heartbeats and Uptime Kuma's Push monitor all do this. Adding one to a cron job is a single line:

# Run the backup, then report success to the heartbeat monitor
0 2 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 https://hc-ping.com/your-uuid > /dev/null

Set the expected period (daily) and a grace time (say, two hours). If the backup fails, && stops the ping and you hear about it the next morning. Good candidates: backups (see our website backup guide), certificate renewals, sitemap generation and any scheduled import or email job.

What to alert on

The goal of alerting is to interrupt a person only when they need to act. Sort every signal into one of three tiers before you connect it to a notification channel.

Tier Examples Channel
Page now Homepage or checkout down for 2+ checks; keyword missing; certificate expired or invalid Push or SMS to whoever is on call, plus chat
Fix this week Certificate under a third of its lifetime with renewal failing; backup heartbeat missed; performance score down for 3 days in a row Email or a chat channel
Review monthly Audit score trends; Core Web Vitals field data; new crawl errors in Search Console Email digest or report

A useful test for the top tier: "Would I want to be woken up for this at 3am?" If not, it belongs in a lower tier.

How to avoid alert fatigue

Alert fatigue is what happens when monitoring sends so many false or trivial alerts that people start ignoring all of them, including the real ones. These settings prevent most of it.

  • Confirm before alerting. Require two or three consecutive failures, or a failure from more than one location, before a notification goes out. Uptime Kuma calls this "retries". Hosted tools usually confirm from a second region automatically.
  • Use maintenance windows. Pause monitors, or schedule a maintenance window, before planned work. Otherwise every deploy trains people to dismiss alerts.
  • Send recovery notices. An alert that never resolves leaves people unsure whether to keep looking. Make sure "back up" messages go to the same place as "down" messages.
  • Don't duplicate. If the homepage monitor and the keyword monitor test the same page, an outage sends two alerts. Use the keyword check alone.
  • Route by tier. Push notifications for the top tier only. Everything else goes to email or a quiet chat channel.
  • Review monthly. Look at every alert from the past month. Delete or downgrade any monitor that fired without anyone needing to act.

A free monitoring stack for a typical small business

Putting it together, here is a setup that costs nothing for a single site:

  1. Uptime: a free hosted monitor with keyword checks on the homepage and your main conversion page, alerting by push notification to two people.
  2. Heartbeats: free heartbeat checks on the backup job and the certificate renewal job.
  3. Audits: a monthly free audit, or a scheduled PageSpeed script, with results emailed.
  4. Search signals: our free Search Console and Bing Webmaster dashboard, with its daily rank tracker and weekly email, to catch indexing and visibility drops. See free rank tracking with Search Console data.

When you outgrow that (more client sites, or you want audit history without scripts), upgrade the piece that hurts first rather than buying everything at once.

FAQ

Is free uptime monitoring good enough for a business website?

For most small business sites, yes. Free tiers check every three to five minutes, which is fast enough to catch real outages. Paid plans mainly add shorter intervals, SMS or phone alerts, more monitors and team features. If downtime costs you significant money per minute, the faster checks and phone alerts are worth paying for.

Can I monitor my site from the same server it runs on?

You shouldn't. If the server or hosting provider goes down, the monitor goes down too and can't alert anyone. Run your monitor with a different provider, or use a hosted service, and ideally have a second monitor watching the first.

How often should uptime checks run?

Every one to five minutes is normal. Shorter intervals find problems slightly sooner but produce more noise from brief network blips, so combine them with retries. Scheduled audits only need to run daily or weekly, because the problems they find develop slowly.

What is the difference between uptime monitoring and website monitoring in MakeItFlow?

Uptime monitoring checks whether your site responds, every few minutes, and alerts you immediately when it doesn't. Our Website Monitoring feature re-scans saved sites daily or weekly for speed, SEO, security and email issues and emails you when the score changes. It doesn't do uptime pings, so use it alongside a dedicated uptime tool.

Why do I get alerts when my site seems fine?

Usually because a single check from one location failed due to a network blip, or because the monitor is checking a URL that redirects or times out occasionally. Add retries or multi-location confirmation, check the site from outside with our website down checker when an alert arrives, and make sure the timeout is realistic for your server.

Do I need a status page?

Only if customers or clients depend on your service and would otherwise contact you during an outage. Most free uptime tools include one basic status page. A small brochure site rarely needs one.

#website monitoring #uptime monitoring #automation #alerting

Written by the MakeItFlow team

We build the website audit these guides are based on. Every fact is checked against the primary sources listed above and this guide was last reviewed on 25 October 2026 . How we research and check

Share LinkedIn X Facebook WhatsApp

Check your own site in 30 seconds

Run a free audit covering speed, SEO, DNS, email authentication and security headers — and get a prioritised fix list.

Weekly newsletter

One practical website fix, every week

New guides on speed, SEO, email deliverability and security — straight to your inbox. No spam, unsubscribe in one click.

Keep reading