DEV Community

velprove
velprove

Posted on • Originally published at velprove.com

7 Uptime Monitoring Mistakes That Cost Small Businesses Customers

Quick take: The seven mistakes that quietly cost small businesses customers are monitoring only the homepage, ignoring SSL certificate expiry, not checking page content, monitoring from a single region, ignoring slow response times, skipping a public status page, and relying on customers to report outages. Each one looks small in isolation. Together they are why your dashboard says green at the same moment a customer is emailing you that the site is broken. The biggest of the seven, broken logins that return HTTP 200, is what our free browser login monitor catches. Each fix below is configurable on the free plan with no credit card.

Every small business owner I talk to has had the same morning at least once. The monitor dashboard is green. Uptime for the month is 99.98 percent. And there is an email from a customer that starts with "hey, is your site down?" The gap between what your monitor reports and what your customers experience is where the money leaks out, and almost all of it traces back to how the monitor was configured, not whether one is running.

This post is the operator-mistake companion to why uptime monitors miss real outages . That post covers blind spots inside the monitor itself. This post is about the configuration choices that turn a perfectly good monitor into a green-light machine. Seven mistakes, the fix for each, and a 10-minute self-audit at the end you can run on whatever monitor you are using today.

The 7 mistakes, in order of how much they cost you

Mistake 1: You only monitor the homepage

This is the single most common mistake, and it is also the most expensive. You set up monitoring, you point it at https://yourbusiness.com, and you call it done. The homepage is the page you look at most often, so it feels like the important one. It is not. The homepage is usually static, served from a cache, and almost never the page that breaks.

The pages that actually break are the ones with logic behind them. The checkout page that depends on Stripe.js loading. The login page that depends on a session backend. The contact form that depends on an email API. The pricing page that depends on a feature-flag service. Any of these can fall over while the homepage stays perfectly happy, and a homepage-only monitor will report 100 percent uptime through the entire incident.

The fix. Monitor at least three pages. The homepage, the page that makes you money (checkout, signup, contact form), and the page your customers log into. Velprove's free plan includes 10 free monitors covering HTTP, multi-step API (up to 3 steps), and a browser login monitor, so all three pages fit inside the free tier with room left over. New to this and not sure where to start? Our plain-English website monitoring guide walks through what to monitor and why.

Mistake 2: Ignoring SSL certificate expiry

Let's Encrypt is supposed to renew silently every 60 days. Most of the time it does. The times it does not are the times you find out about it the hard way, usually on a Monday morning when the auto-renew cron failed three weeks ago and nobody noticed because nobody was monitoring it.

When a certificate expires, every browser shows your customers a full red interstitial page. Chrome calls it NET::ERR_CERT_DATE_INVALID. There is no recovery from that visual on a customer who has never been to your site before. They do not click through. They close the tab. They never come back. And the monitoring dashboard, if it only checks HTTP status codes, may still show green because the server is technically responding.

The fix. Every HTTPS monitor in Velprove can run an SSL expiry check alongside the HTTP probe, free plan included. SSL monitoring is opt-in per monitor (off by default to keep configs minimal), and you set one warning threshold per monitor between 1 and 90 days. The default of 14 is fine for most teams. Bump it to 30 if you want a full month's runway before the cert dies. When the certificate drops below your threshold, the monitor flips to degraded. Turn on degraded alerts in the monitor settings to receive the email. It is a separate toggle from the standard down alert, and it is off by default. Full setup walkthrough in our SSL certificate expiry monitoring guide .

Mistake 3: Not checking page content

HTTP 200 OK does not mean the page is working. It means the server produced a response. Those are two very different things, and the gap between them is where most silent outages live.

Real examples I see every week. The page returns 200 but the body is empty because a database query timed out and the template rendered nothing. The page returns 200 but Stripe.js failed to load, so the checkout button is just a styled div that does not do anything when clicked. The page returns 200 but the price is rendered as $NaN because a feature flag service flipped to a default while you were sleeping. In every case, an HTTP-status-only monitor reports green and customers report a broken site.

The fix. Add a content assertion to every monitor. A content assertion is just a string the page must contain, like "Add to cart" or "Sign in" or your real price. Velprove supports content assertions on every HTTP monitor on the free plan. If the string disappears, the monitor goes red even when the status code is 200. Step-by-step setup in our landing page content monitoring guide .

Mistake 4: Monitoring from a single region

Single-region monitoring is the mistake most small businesses do not realize they are making. You set up a monitor, it reports your site is up, and you assume that means the site is up for everyone. It does not. It means the site is up from one specific city, on one specific cloud provider's network, on one specific upstream peering arrangement.

When a CDN edge in Europe drops, your North American monitor never notices. When a transit provider in Asia has a routing issue, your US monitor stays green while every customer in Singapore sees a timeout. This matters more in 2026 than it used to because most small business sites now sell internationally even if the owner does not think of it that way. A regional outage you cannot see is still a regional outage your customers feel.

The fix. Run checks from the region closest to your customers, and add a second monitor from a second region for the pages that matter most. UptimeRobot's free plan is single-region only, with multi-location available as a paid add-on. See UptimeRobot's locations documentation for the details. Velprove gives you 5 monitoring regions on every plan including free (North America, Europe, UK, Asia, Oceania). Pick the region closest to your customers in the monitor settings. Before alerting, Velprove waits for 2 consecutive failures from your chosen region (configurable up to 5) so a single dropped packet doesn't page you at 3 a.m.

Mistake 5: Ignoring slow response times

A 200 OK that takes 12 seconds to arrive is not really a successful response. Your customers do not wait 12 seconds. They close the tab somewhere around 4. By the time the monitor records a successful check, the customer has already given up and gone to a competitor, and your dashboard is still showing 100 percent uptime.

Worse, slow response times are almost always the warning sign before a full outage. A database that is starting to thrash, a connection pool that is filling up, a memory leak that is half an hour from a crash. The signal is in the response time before it is in the status code. Teams that watch only status codes find out about every outage at the exact moment it happens. Teams that watch response times find out 20 minutes earlier and usually prevent the outage entirely.

The fix. Watch the response-time trend, and add a hard alert before customers start closing tabs. Velprove records response times on every check and surfaces them in the trends tab on the free plan, so you can see degradation building over days. For the alert, add a Response Time assertion to any HTTP monitor. For example, fail the check if response time exceeds 2000ms. The free plan supports this. The monitor goes red and emails you the moment the threshold is breached.

Mistake 6: Not having a public status page

This one looks like a polish item until you have lived through one outage without it. When your site goes down, your customers do not know whether it is your site, their internet, or something else. So they email support. All of them. At the same time. While you are already trying to fix the problem.

A public status page solves this in five minutes of setup. When something goes wrong, you flip a switch (or your monitor flips it for you), and every customer who lands on the status page gets a clear message saying you know about the issue and you are working on it. Your support inbox stays manageable. Your customers feel respected. Your team gets to focus on fixing the problem instead of answering 40 copies of the same question.

The fix. Set up a public status page and link to it from your contact page and your support inbox auto-responder. Velprove includes one free public status page on every plan, including free, with auto-updating incident timelines pulled from your monitors. Full setup walkthrough in our public status page guide .

Mistake 7: Relying on customers to report outages

This is the mistake that ties all the others together. If your monitoring is configured well enough to catch real problems, you find out about outages from a dashboard. If it is not, you find out about outages from a support ticket. Support tickets are not monitoring. They are a 30-minute-to-2-hour delay on every incident, plus a stack of angry customers who already had a bad experience.

The most expensive version of this mistake is the 200 OK login that does not actually log anyone in. The login page renders. The form submits. The status code is fine. But the post-login redirect lands on a blank screen, or the session cookie never sets, or the database rejects the new session because a recent migration broke something subtle. An HTTP monitor cannot see any of that. The first signal you get is a customer email, and by then the broken login has been live for hours.

The fix. Add a browser login monitor on the page that matters most. Velprove drives a real browser to your login URL, types in a dedicated low-privilege test account, clicks submit, and verifies the post-login state. If the login is broken, you know in minutes, not the next time a customer emails support. Velprove includes one free browser login monitor on every plan with commercial use allowed. Setup walkthrough for the most common case is in our WordPress login monitoring guide , and the same pattern works for any session-based login.

How to fix all 7 in 10 minutes

Open your monitor dashboard right now and walk this checklist. Each step is configurable on Velprove's free plan with no credit card.

Add monitors for your three most important pages. Homepage, money page, login page. Two minutes. Turn on SSL expiry monitoring at a 30-day threshold. One minute per HTTPS monitor. Don't forget the degraded-alerts toggle in the same panel. Add a content assertion to every monitor. One short string per page that proves the page actually rendered. Two minutes. Enable monitoring from at least 3 regions. One minute on Velprove because all 5 regions are on by default. Open the response-time trends tab. Bookmark it. One minute. Publish a public status page. Two minutes. Your free status page lives at velprove.com/status/your-slug, custom logo included. Add one browser login monitor on your most important login. Use a dedicated low-privilege test account, never real admin credentials. One minute.

Create a free Velprove account and run the checklist. No credit card, no trial clock.

Frequently Asked Questions

What is the most common uptime monitoring mistake small businesses make?

Monitoring only the homepage. The homepage is usually static and cached, so it almost never breaks. The pages that actually break are checkout, login, contact forms, and pricing pages, because each one depends on a backend service that can fail independently. A homepage-only monitor reports 100 percent uptime while customers cannot complete the action they came to do. Add monitors for at least three pages: homepage, money page, and login page.

How do I know if my SSL certificate is about to expire?

Toggle on SSL expiry monitoring in any HTTPS monitor's settings, pick a warning threshold between 1 and 90 days (default 14, recommended 30), and turn on degraded alerts to receive the email when the cert drops below your threshold. SSL monitoring is opt-in and off by default in Velprove, so it won't fire if you never flip the switch. Do not rely on Let's Encrypt's own expiry email, because it goes to whatever address was used during the initial cert request, which is often a teammate who has since left.

Why does my monitor say 'up' when my site looks broken?

Because most monitors only check that the server returned an HTTP 200 status code. The server can return 200 with an empty body, with a broken Stripe.js script tag, with a price rendered as $NaN, or with a checkout button that does nothing when clicked. To catch these failures, add a content assertion (a specific string the page must contain) to every monitor, and add a browser login monitor on any page that requires authentication.

How many regions should a small business monitor from?

At least one chosen deliberately for where your customers are. If you have customers on multiple continents, set up separate monitors from separate regions for the pages that matter most. Single-region monitoring misses regional CDN outages, transit provider issues, and DNS propagation problems that affect a slice of your customers without ever touching your origin. UptimeRobot's free plan is single-region only. Velprove offers 5 regions (North America, Europe, UK, Asia, Oceania) on every plan, including free, and waits for 2 consecutive failures from your chosen region before alerting so flaky packets don't page you.

Should I get alerted on slow response times or only on outages?

Both, and Velprove's free plan supports both. Watch the response-time trend on every monitor in the trends tab to spot creeping slowdowns over days. Add a Response Time assertion to any HTTP monitor (for example, fail if response time exceeds 2000ms) to get a hard alert the moment the threshold is breached. Response-time degradation is usually the warning signal that precedes a full outage by 15 to 30 minutes. A database starting to thrash, a connection pool filling up, a memory leak.

Do I need a public status page if I only have a few customers?

Yes, even more so. With a small customer base, every support ticket is a meaningful chunk of your day, and every angry email is a disproportionate hit to your reputation. A public status page costs five minutes to set up, eliminates the "is your site down?" inbox flood during incidents, and signals that you take operations seriously. Velprove includes one free status page on every plan, auto-updated from your monitors.

Closing

None of these mistakes are sophisticated. They are configuration defaults that small business owners inherit from whatever monitor they picked first. The good news is that fixing them takes 10 minutes and costs zero dollars on the free plan. Create a free Velprove account and run the checklist before the next outage finds you.

Top comments (0)