Maintenance Page
Definition
A maintenance page is deliberate, unlike an outage: you put it up because the site would otherwise show something half-finished. It normally carries four things — a line saying the site is temporarily unavailable, when it is expected back, a way to get in touch, and a link to the status page if there is one. The status code is the part people get wrong. A maintenance page served with 200 tells a crawler that this thin holding text is now the content of every URL, while 503 Service Unavailable with a Retry-After header says come back later and leave the index alone. Modern static hosting needs this far less than it used to, because an atomic deployment swaps the whole site at once and there is no window in which half the files are new.
Why It Matters
A three-hour window with the wrong status code can cost weeks. If Google recrawls a busy site during the window and sees 200 on every URL with identical text, it may drop those pages or collapse them as duplicate content, and recovery takes far longer than the maintenance did. Visitors matter as much: a page with no return time reads as abandoned, whereas one that names an hour converts into someone who comes back. And a maintenance page you forget to remove is an outage with a polite message on it — it has happened to plenty of people, and monitoring that checks for the real content rather than a 200 is what catches it.
How It Works
Keep the page as one self-contained file with its CSS inline, so it depends on nothing that might be mid-upload. Serve it for every path, not just the root, and set the response to 503 with Retry-After giving either a number of seconds or an HTTP date. If you can, exempt your own IP address so you can view the work in progress while everyone else sees the notice. Post the same message on the status page and, if the window is planned, give notice a few days ahead rather than announcing it as it starts. Set an alarm for the end of the window, and have your uptime monitoring look for a word from the real homepage, so the monitor fails if the maintenance page is still up.
Real-World Example
A membership body rewrites its rulebook across a weekend and publishes at ilford-rules.99helpers.site. Rather than leave half the sections replaced, they put a one-file holding page in place on the Saturday morning saying the rulebook returns by 18:00 Sunday, with the secretary's email address. Because the whole site is static, the alternative was open to them too — build the new version separately, check it, and swap it in one go on Sunday afternoon with no holding page at all. They take the second option for the next revision, and the site is never unavailable.
Common Mistakes
- ✕Returning 200 for the maintenance page — crawlers take the holding text as the real content of every URL and pages start dropping out of the index
- ✕Omitting Retry-After, which leaves crawlers and clients no hint of when to come back and encourages more aggressive retries
- ✕Serving it only at the root, so deep links and shared URLs still hit broken or half-updated pages
- ✕Leaving it up after the work is done, which is invisible to you if your monitor only checks that something returned a response
Related Terms
Downtime
Any period in which a site does not do its job for the people trying to use it. That includes a page that loads but is broken, not only a server that refuses to answer.
Status Page
A separate page that says whether a service is working and what is being done if it is not. Its whole value comes from being hosted away from the thing it reports on.
Custom 404 Page
A custom 404 page is the page a site shows when someone asks for an address that does not exist, written by you rather than left to the host's default. It is returned with a 404 status code.
HTTP Status Code
An HTTP status code is the three-digit number a server returns at the head of every response, saying what happened to the request. It is the first thing on the first line — a 200 means here is the file, a 404 means there is nothing at that address.
Atomic Deployment
An atomic deployment switches a site from the old version to the new one in a single step, so visitors never see a mixture of the two. Either every file is new, or every file is still the old one.
Put a file online in seconds
Drop in a document, an image, a page or a whole static website and share the link — free, with no build step and no server to set up.
Host a file free →