Put WordPress in Maintenance Mode the Right Way

A maintenance page is more than a message—it's the right HTTP status so you don't wreck your SEO, plus access control so you can keep working. Here's how to do it properly.

You need to redo a design, migrate content, or fix something visitors can see—so you want to show a tidy “we’ll be right back” page while you work. Simple, right? Except the message is the easy part. Do maintenance mode carelessly and you can quietly damage your SEO, lock yourself out of your own site, or let Google index a placeholder as your homepage. Doing it right is about the response your server sends and who’s allowed past it. Here’s the proper way.

The essentials

  • The HTTP status matters more than the message: temporary downtime should return 503, not 200.
  • The module has four modes: Maintenance (503) and Coming Soon (503) hide the site from search engines; Staging (200) and Development (200) are reachable preview environments.
  • Access control: whitelist by user role (Administrator by default) and by IP address, with an optional login link.
  • Build the page with no code: headline, message, logo, background and text colours—plus an optional countdown timer and native email capture for launches.
  • A persistent admin reminder stops the classic mistake: finishing work and forgetting the site is still hidden.

Why does the HTTP status code matter so much?

Because search engines read the status, not just the text. Two situations, and getting the code wrong hurts you:

  • Temporary downtime (a live site you’re updating): the right response is 503 Service Unavailable, which tells Google “this is temporary, come back later”—so your rankings survive the outage. Send a 200 and Google may index your “we’ll be right back” text as real content.
  • A site that isn’t launched yet: this is the one most guides get wrong. A pre-launch “coming soon” page should also return 503, not 200. A 200 invites search engines to index the placeholder as your finished site; a 503 says “not ready—check back,” which is exactly what you mean.

That’s why this module sends 503 for both Maintenance and Coming Soon, complete with a Retry-After header, and even seals off the REST API while a 503 mode is active so nothing leaks the site through a side door.

How do you enable maintenance mode properly?

Activate the Maintenance module in Blaminhor Essentials, pick one of its four modes, and it sends the correct HTTP status automatically—503 to hide the site from search engines, 200 to keep a preview reachable. Then design the holding page in plain fields and whitelist the roles and IP addresses that should still reach the live site while you work.

The Maintenance module: a mode selector (Maintenance, Coming Soon, Staging, Development), page content fields, and access-control settings for roles and IPs. Pick the mode—which sets the right HTTP status for you—then style the page and choose who gets through.

Choose the mode

Select Maintenance, Coming Soon, Staging or Development. The correct HTTP status (503 or 200) is sent automatically, so you never have to think about it.

ModeHTTP statusSearch enginesUse for
Maintenance503Hidden (temporary downtime)Updating a live site
Coming Soon503Hidden (not yet launched)Warming up before a launch
Staging200ReachableA client reviewing work
Development200ReachableYour team testing features

Design the page (no HTML)

Set a headline, message, logo, background colour and text colour to match your brand—just fill in fields. For a launch, add a countdown timer to the go-live date and turn on native email capture so visitors can leave their address (with your own button and thank-you text)—no third-party form plugin needed. You can also drop in a contact or signup shortcode if you already use one.

Control who gets through

  • Whitelist roles — Administrators by default; add Editors or any role that needs live access.
  • Whitelist IPs — let your whole office see the real site without logging in.
  • Login link — optionally show a link to log in straight from the maintenance page.

When should you use it?

  • A major theme or design change on a live site (Maintenance).
  • Migrating content or restructuring URLs (Maintenance).
  • A database update or cleanup (Maintenance).
  • Before launching a brand-new site (Coming Soon)—with a countdown and email capture to warm up an audience.
  • Sharing work in progress with a client or your team (Staging / Development).

A simple need, done correctly

Maintenance mode doesn’t need to be complicated—but it does need to be correct: the right HTTP status so you don’t harm your SEO, access control so you can keep working, and a reminder so you don’t leave it on. That’s the whole job, and it’s what this module handles. Pair it with a backup before any risky change and you can work behind the curtain with confidence.

Maintenance is one of the 20+ tools in Blaminhor Essentials—free and open-source on WordPress.org.

Download Blaminhor Essentials

– blaminhor

FAQ

Why is my WordPress site stuck in maintenance mode, and how do I get out?

The classic cause: an update failed halfway and left a .maintenance file in your site root, so WordPress keeps showing its built-in maintenance screen. Delete that file over FTP or your host's file manager and the site returns. That's separate from the Maintenance module, which you simply toggle off from the dashboard.

How do I enable maintenance mode without a plugin (.maintenance file)?

WordPress creates a temporary .maintenance file automatically during updates; you can place your own in the site root with a one-line PHP snippet to trigger the same screen. But it's bare—no styled page, no access control, no way in for yourself—and you must remember to delete it. A module gives you all three.

How do I let myself see the site while it's in maintenance mode?

Whitelist access. The Maintenance module lets logged-in users of chosen roles (Administrator by default) through, and you can whitelist specific IP addresses so a whole office sees the live site without logging in. There's also an optional login link on the maintenance page for authorized users.

What's the difference between maintenance, coming soon and staging modes?

Maintenance (503) is temporary downtime on a live site; Coming Soon (503) is a not-yet-launched site—both are hidden from search engines. Staging and Development modes return 200 because they're preview environments meant to be viewed by clients or your team, so they stay reachable rather than signalling downtime to crawlers.

Will maintenance mode hurt my Google rankings?

Not if you return the right status. A 503 tells Google the downtime is temporary, so it holds your rankings and comes back later. The danger is a page that returns 200: Google may then index your placeholder as real content. The Maintenance module sends 503 automatically, so this stays a non-issue.

How long can I safely leave my site in maintenance mode?

A 503 with a Retry-After header is fine for hours, even a day or two—Google expects to return. Leave it up for weeks and search engines may start treating the downtime as permanent and dropping your pages. Keep maintenance windows short, and never forget to switch it off once the work is done.

blaminhor Building what's missing.

Comments