How to Create a Status Page (Free, Step by Step)

A practical guide to creating a public status page: choosing hosted vs self-hosted, setting up monitors, connecting a custom domain, and going live in under five minutes.

By the QUICCSTATUS team · Updated

A status page is a public web page that shows whether your service is up, what its recent uptime looks like, and what you're doing about incidents when things break. It's the difference between fifty "is it down for everyone?" support emails and one link you post once.

This guide walks through creating one from scratch. The specific steps use QUICCSTATUS because it's free and takes minutes, but the decisions — what to monitor, how to structure components, how to handle the domain — apply to any tool.

Step 0: Decide hosted vs self-hosted

Self-hosted options like Uptime Kuma are excellent — if you want to run, patch, and back up another service. The catch is structural: a status page hosted on your own infrastructure tends to go down at exactly the moment it's needed, because it shares fate with what it reports on. A hosted status page runs on someone else's infrastructure, so it keeps answering while your servers don't.

Rule of thumb: if the status page is for other people (customers, clients, teammates), host it externally. If it's a homelab dashboard for yourself, self-hosting is fine.

Step 1: Create the page

  1. Sign up at quiccstatus.com — email or OAuth, no credit card.
  2. Create a status page and give it the name your users know, usually your product name.
  3. Add a short description. This appears on the page and in search results, so "Live status and incident history for Acme API" beats "My status page".

You now have a working public page on a shared URL. Everything after this point is making it yours.

Step 2: Add monitors for the things users actually feel

Monitors are the checks that drive the page. Resist the urge to monitor everything you own — a status page is for user-visible services, not internal metrics. A good starter set:

  • HTTP monitor on your main site or app — checks a real URL returns a healthy status code.
  • HTTP monitor on your API — point it at a health endpoint (/health or a cheap read endpoint), not your homepage.
  • TCP monitor for non-HTTP services — databases, mail servers, game servers: anything that speaks a port.
  • Ping monitor for raw host reachability — useful for VPSes and on-prem boxes.

Name monitors in user language. Users understand "File uploads"; they do not understand "s3-proxy-eu-1". If you have many monitors, group them into components (Website, API, Dashboard) so a visitor can tell at a glance which part of the product is affected.

Step 3: Connect a custom domain

A status page on status.yourdomain.com is more trustworthy than one on a vendor URL, and it's what users type when your main site is unreachable. Setup is one DNS record:

  1. In your DNS provider, create a CNAME record for status pointing at your QUICCSTATUS page's domain target.
  2. Add the domain in your page settings and wait for verification.
  3. SSL is issued and renewed automatically — no certificates to manage. (Details on how custom domains work.)

Step 4: Wire up alerts

The status page tells your users; alerts tell you. Connect a Discord webhook, Microsoft Teams, or email notifications so a failing monitor pings you the moment it flips. Your goal is to know before the first support ticket arrives.

Step 5: Put the link where people will look

  • Your site footer — the conventional spot, and where users look first.
  • Support email templates and auto-responders.
  • Your docs, your API error responses, your Slack/Discord community topic.
  • Embed the status widget on your site so state is visible without a click.

When something breaks: use incidents

Monitors flipping red is automatic; communication isn't. When there's real user impact, open an incident, say what's affected, and post short updates as you learn more. See our incident communication templates for exact wording you can copy.

Total cost and time

With QUICCSTATUS this whole setup — page, monitors, custom domain, SSL, alerts — is free and realistically takes under five minutes, most of it waiting for DNS. Compare that with the $29+/month that the usual suspects charge for the same checklist.

Put it into practice

Create a free status page with monitoring, custom domain, and incident management.

Start Free