Skip to content
Website Maintenance

WordPress Maintenance Mode: How to Do It Properly

WordPress maintenance mode is the holding page a site shows while you work on it — the “website under maintenance, back shortly” screen a visitor sees instead of a half-broken layout or a fatal error. It takes about two minutes to switch on, and the two minutes people usually skip are the ones that stop it costing them search rankings.

When you actually need it, and when you do not

Turn it on for work a visitor should not see mid-flight: a theme change, a plugin migration, bulk edits to prices or products, a restore from backup, moving the site to a new host. Anything where the site will look wrong or behave oddly for more than a moment.

Do not bother for routine plugin updates. Most take a few seconds, WordPress puts the site into its own brief maintenance state automatically while they run, and putting up a holding page for thirty seconds achieves nothing except making the site look down.

And do not use it as a soft launch. A site sitting behind a maintenance page for weeks while you “get it ready” is a site Google is repeatedly told not to index. If it is not ready, leave it unpublished; if it is live, let it be live.

The setting that decides whether this costs you rankings

This is the part most guides leave out, and it is the whole reason to read one.

When Google requests a page and finds a maintenance screen, what matters is the HTTP status code the server sends alongside it — a number the visitor never sees.

  • 503 Service Unavailable is the correct one. It tells Google “this is temporary, come back later.” Rankings are held while you work.
  • 200 OK is what a lazily built maintenance page sends. It tells Google “this is the page, and it is fine” — so Google may index your holding message as the content of that URL, and drop what was there before.

A maintenance plugin that sends 503 is doing the job. One that sends 200 is quietly replacing your pages with a placeholder in the index. If you use a plugin, check this in its settings before you rely on it; if it does not mention the status code at all, assume 200 and look for another.

Adding a Retry-After header alongside the 503 tells Google roughly when to come back. WordPress itself does both: when core puts your site into maintenance mode during an update, it sends 503 and Retry-After: 600. That is a useful standard to hold a plugin to — if WordPress core manages it for a thirty-second update, a plugin advertising maintenance mode has no excuse.

Three ways to switch it on

A plugin is the normal answer, and there are plenty. What separates them is not the design templates: it is whether they send 503, whether logged-in administrators can still browse the real site, and whether you can allow specific IP addresses through so a client can preview. Those three settings are the ones to look for.

WordPress does it itself during updates, using a temporary .maintenance file in the site root. If an update fails partway, that file can be left behind and the site stays stuck on “Briefly unavailable for scheduled maintenance.” Deleting the file over FTP or your host’s file manager fixes it immediately — that is the whole cure for the most alarming-looking version of this problem.

Manually, for anybody comfortable with code: a short snippet or a server rule that returns 503 with your holding page. More control, no plugin, and the responsibility for getting the status code right sits with you.

Most of the work that needs maintenance mode would be safer on a private copy first. A WordPress staging site is where a risky change gets tested before anybody sees it.

What the page itself should say

Almost nobody thinks about this and it is free to get right. A visitor who lands on a maintenance page has arrived for a reason, and the page decides whether they come back or leave for good.

  • Say when. “Back by 4pm” beats “back shortly”, which beats nothing at all.
  • Give another way through. A phone number or WhatsApp link means an urgent enquiry still reaches you while the site is down.
  • Look like you. Your logo and colours, not the plugin’s default. A stranger cannot tell a maintenance page from a dead domain otherwise.
  • Skip the countdown timer unless you are certain of the time. A timer that hits zero while the site is still down is worse than no timer.

Getting out of maintenance mode when it will not switch off

Two situations cause almost all of these, and both are fixable without a developer.

Stuck after an update. The message reads “Briefly unavailable for scheduled maintenance. Check back in a minute.” Delete the .maintenance file in your site’s root folder. That is it.

The plugin is on and you cannot reach wp-admin. Rename the plugin’s folder inside wp-content/plugins/ over FTP or your file manager. WordPress deactivates what it cannot find, the site returns, and you can sort the plugin out from the dashboard.

If neither works, the site is not in maintenance mode — it is broken, and that is a different problem. Our guide on why WordPress websites keep breaking covers the difference, and WordPress bug fixing is the version where somebody else works it out.

The version where you never think about it

Maintenance mode is a symptom of doing the work yourself, which is entirely reasonable. The reason it comes up so often is that updates are being applied by hand, at whatever moment happens to be convenient, without a staging copy to try them on first.

Done on a schedule, with a backup taken before each update and a staging copy for anything larger, most of this disappears — the risky changes get tested somewhere nobody can see, and the live site rarely needs a holding page at all. That is what a website maintenance plan is actually buying you, and our guide to backing up a WordPress website covers the part you can set up yourself today either way.

Is Your Website Working Properly?

Get a free website health check from WebMaintor. We'll review your website's speed, security, forms, and technical health — and tell you exactly what needs attention.

No obligation. No automated reports. A real review by our team.