
When your website or API goes down, your users notice. Without a status page, they flood your support inbox asking "is your service down?" — adding to your workload precisely when you're busiest trying to fix the problem.
A public status page gives users a single place to check the live status of your service, see historical uptime data, and follow incident updates. It reduces support volume, builds transparency, and demonstrates professionalism.
This guide explains what a status page should include, how to create one, and how to make it most effective.
A status page is a publicly accessible webpage — typically at a URL like status.yourdomain.com — that displays the current operational status of your services. It typically shows:
Well-known examples include status.github.com and status.slack.com — both of which are visited by millions of users during incidents.
When users can check your status page themselves, a significant portion won't raise a support ticket. For a service with 10,000 users, a 30-minute outage without a status page might generate 50+ support tickets. With a status page that shows "we're aware and working on it," many users will wait rather than contact support.
Acknowledging an outage publicly — rather than hoping users don't notice — builds credibility. Users understand that outages happen. What they don't forgive is finding out from Twitter that your service was down while your own status page said "all systems operational."
An active incident post with regular updates ("investigating → identified → fixing → resolved") keeps users informed and reduces uncertainty. Users who know what's happening are more patient than users who have no information.
A status page at a custom domain signals operational maturity. For SaaS products, it's increasingly expected by enterprise customers who want to know you take reliability seriously.
Break your service into the components users care about:
Not every internal component needs to be public. Focus on the components users interact with directly.
A 90-day uptime bar (similar to GitHub Status) gives users a visual sense of your reliability track record. Green bars for days with no incidents, yellow for degraded days, red for significant outages.
During an outage:
The cadence matters. Update your status page at least every 30 minutes during an active incident, even if there's nothing new to report. "Still investigating, no updates" is better than silence.
The simplest approach. Many monitoring tools — including Domain Monitor — generate a public status page directly from your monitor data. Your uptime checks automatically populate the status page with real-time data and uptime history.
This is the fastest setup and ensures your status page reflects actual monitor data rather than manually updated statuses.
See introducing public status pages for how Domain Monitor handles this.
Dedicated status page services like Statuspage.io (now part of Atlassian), Freshstatus, or Instatus offer more customisation options but require separate setup and often have higher costs.
Best for: large teams needing advanced incident management and subscriber notification features.
Open-source options like Cachet or Upptime (GitHub-hosted) let you self-host a status page. This gives maximum control but requires ongoing maintenance.
Best for: teams with strong DevOps capabilities who want full control.
A status page at status.yourdomain.com looks more professional than yourmonitor.com/status/yoursite. Most monitoring tools support custom domains via a CNAME record.
To set this up:
status CNAME yourmonitor-status-page-urlImportantly: use a different hosting provider for your status page than for your main site. If your main hosting goes down, your status page needs to still be accessible.
If your status page lives on the same server as your application, it goes down when your application goes down — which is exactly when users need it most. Best practice:
Your status page doesn't need to rank for search queries, but you should ensure:
noindex meta tag if you don't want it in search resultsGood incident communication follows a pattern:
| Phase | Status | Message |
|---|---|---|
| Discovery | Investigating | "We are investigating reports of degraded performance on the API." |
| Diagnosis | Identified | "We have identified the cause as a database connection pool exhaustion issue." |
| Remediation | Fixing | "We have deployed a fix and are monitoring recovery." |
| Resolution | Resolved | "The issue has been resolved. Root cause was X, fix was Y." |
Avoid vague language like "we're experiencing some issues." Be specific about what's affected, what's not affected, and when you expect resolution.
A basic status page powered by your monitoring tool can be set up in minutes. Domain Monitor includes public status pages for all plans, automatically showing real-time data from your uptime monitors.
Create a public status page for your service at Domain Monitor.
Generative AI creates new content — text, images, code, and more. This guide explains how it works, what tools are available, and where it's genuinely useful versus overhyped.
Read moreCursor AI is an AI-powered code editor built on VS Code. Learn what it does, how it works, and whether it's the right tool for your development workflow.
Read moreClaude Opus is Anthropic's most capable AI model, built for complex reasoning and demanding tasks. Learn what it does, how it compares, and when to use it.
Read moreLooking to monitor your website and domains? Join our platform and start today.