WordPress Maintenance Mode: How to Turn It On (And Fix It When It’s Stuck)

If your site is showing “Briefly unavailable for scheduled maintenance. Check back in a minute.” and it won’t go away, skip straight to the fix — it’s a two-minute job and you don’t need to be technical. If you’re here because you want to put your site into WordPress maintenance mode deliberately, because you’ve got work planned and would rather visitors saw a proper holding page than a half-finished site, this post covers that too.
Either way, you’re dealing with the same thing. Maintenance mode is a holding state: while it’s on, visitors see a short “we’ll be back soon” message instead of whatever’s happening behind the scenes. WordPress switches it on automatically during updates, and you can switch it on yourself when you’re making bigger changes. Both work fine — until one of them gets stuck.
How to Turn On Maintenance Mode Deliberately
If you’re planning work on your site such as a redesign, a batch of updates or a theme swap, and want visitors to see something tidier than a site mid-surgery, you’ve got three routes. Which one fits depends on how polished the holding page needs to be and how long you’ll be working.
Route 1: A Maintenance Mode Plugin
The simplest way to get a proper, branded holding page. LightStart (formerly WP Maintenance Mode) and SeedProd are the two we see most often, and both cover the basics for free. Using LightStart as the example:
- Go to Plugins → Add New, search for “LightStart”, then install and activate it.
- Open Settings → LightStart. (SeedProd works the same way but adds its own menu item in the sidebar instead.)
- On the Design tab, customise the holding page — your logo, a line about what’s happening and roughly when you’ll be back is plenty.
- Check the access settings: most maintenance plugins let logged-in users (or specific roles) bypass the holding page, so you see the real site whilst visitors see the message. Turn that on — you’ll want to check your work as you go.
- On the General tab, switch Status to Activated and save.
- Open the site in a private browsing window to confirm visitors are getting the holding page, not the half-finished site.

A plugin is the right choice when real visitors will arrive whilst you’re working, or when the site will be down long enough that you want it to look deliberate rather than broken.
Route 2: The Built-In Mechanism
If you’re comfortable editing files, you can trigger maintenance mode using the same mechanism WordPress uses during updates: create a file named .maintenance in the root directory containing one line of PHP — <?php $upgrading = time(); ?>. WordPress reads that timestamp and shows visitors the plain “Briefly unavailable” message, no branding. The catch is the same behaviour that rescues stuck sites — covered in the fix section below: core stops honouring the file roughly ten minutes after that timestamp, then lets visitors back in on its own. Which is exactly why this route only suits a quick technical task measured in minutes — delete the file when you’re done rather than waiting it out. For anything longer, use a plugin from Route 1, or a few lines in a small custom plugin if you’d rather keep things code-only.

Route 3: Your Host or Page Builder
Before installing anything, check what you already have. Several managed WordPress hosts include a maintenance or “coming soon” toggle in their dashboard. It’s worth a look before adding a plugin to do the same job. And if you build with Elementor, one’s already built in:
- Go to Elementor → Tools → Maintenance Mode.
- Set the mode to “Maintenance” if the site is live and you’re working on it. (“Coming Soon” is for pre-launch sites — the Maintenance setting is the one that tells search engines the downtime is temporary, which is what you want for anything already indexed.)
- Choose the template visitors should see — a simple one-section page with your logo and a line of text takes minutes to put together.
- Save, then check the site in a private browsing window.
If a toggle already exists in a tool you’re paying for, use it.

One honest note: for a five-minute tweak at 11pm on a site that gets a handful of visitors a day, you may not need maintenance mode at all. The odds of anyone catching the site mid-change are slim. It earns its keep for planned work during business hours on a site with real traffic.
Stuck in Maintenance Mode? Here’s the Two-Minute Fix
Here’s what’s happened. When WordPress runs an update, it creates a temporary file called .maintenance in your site’s root directory — the same folder where wp-config.php lives. That file is what triggers the “Briefly unavailable” message. When the update finishes, WordPress deletes it automatically and your site comes back.
If the update gets interrupted (a plugin conflict, a server timeout, a browser tab closed at the wrong moment) the file gets left behind, and WordPress carries on showing the maintenance message because it thinks an update is still running. That’s all a WordPress site stuck in maintenance mode is: one leftover file that nobody cleaned up.
Worth knowing before you do anything: WordPress ignores a .maintenance file once it’s roughly ten minutes old, so many “stuck” sites come back on their own if you simply wait. If you can’t get file access, waiting is a perfectly reasonable option. Deleting the file is instant and certain, though, so it’s the fix we’d lead with:
- Connect to your site via FTP, or open the file manager in your hosting control panel (cPanel, Plesk and most host dashboards have one).
- Go to the root directory — the folder containing
wp-config.php,wp-contentandwp-admin. - Find the file named
.maintenance. It starts with a dot, which means some file managers hide it by default — if you can’t see it, look for a “show hidden files” option and switch it on. - Delete it.
That’s it, your site comes back immediately. No restart, no waiting, and deleting it is completely safe. .maintenance is a temporary lock file, nothing more. WordPress creates a fresh one the next time it runs an update and removes it when that update completes properly.
Once you’re back in, check whether the update that was running actually finished — an interrupted plugin or core update can be left half-applied, so visit Dashboard → Updates and run it again if anything’s still pending. It’s also worth understanding why the update failed in the first place: our guide to what to do when a WordPress update fails covers the common causes and what else to check once your site’s back up.
When You Actually Need Maintenance Mode (And When You Don’t)
You need it when visitors could realistically see the site in a broken state: a redesign or theme change, a large batch of updates during working hours, a migration, or any change that visibly breaks the front end whilst it’s in progress. If it’s plugin updates you’re doing, run them carefully and one at a time — our guide to updating WordPress plugins safely covers the order of operations.
You probably don’t need it when you’re making a quick change during quiet hours, editing posts and pages in the admin (content edits don’t put the front end into a broken state), or working on a staging site where the live site is never touched at all.
Use Staging Instead Where You Can
Maintenance mode solves a real problem, but it solves it by taking your site away from visitors. A staging site solves the same problem without that cost: you make your changes on a private copy of your site, test them properly, then push them live and the live site never goes down at all.

That makes the honest hierarchy simple. Maintenance mode is the right tool when you must work on the live site. Staging is the better habit for everything else — redesigns, big updates, anything experimental. If you find yourself reaching for maintenance mode regularly, that’s usually a sign a staging site would serve you better. Our guide to WordPress staging sites covers what they are, when you genuinely need one and how to set one up without spending anything extra.
The Short Version
Maintenance mode is a simple tool that occasionally causes a disproportionate amount of panic. Turned on deliberately, it’s a courteous holding page whilst you work. Stuck after a failed update, it’s a two-minute fix — delete the .maintenance file and you’re back, or wait roughly ten minutes and WordPress gives up on it anyway.
Most of the time, though, the better habit is not needing it at all: test your changes on a staging site and the live site never goes down in the first place. And if you’d rather updates, staging and the occasional stuck site were somebody else’s job entirely, that’s exactly what our WordPress maintenance service is for.
Delete the .maintenance file from your site’s root directory (the folder containing wp-config.php) using FTP or your hosting file manager. The file starts with a dot, so enable “show hidden files” if you can’t see it. Your site comes back immediately. Alternatively, wait roughly ten minutes: WordPress stops honouring the file once it’s that old.
An update was interrupted before it finished. WordPress creates a temporary .maintenance file during every update and deletes it when the update completes; if the update fails part-way through, the file gets left behind and the maintenance message stays up. Deleting the file fixes it, and it’s safe to do. WordPress recreates it fresh for the next update.
The easiest route is a plugin such as LightStart or SeedProd: install it, customise the holding page and toggle maintenance mode on. Some hosts and page builders include a maintenance toggle too, which saves installing anything. For a quick technical task where branding doesn’t matter, a .maintenance file in the root directory containing does the same job — though WordPress stops honouring it after roughly ten minutes.
During a normal update, a few seconds to a couple of minutes. WordPress removes it automatically when the update completes. If your site is stuck, WordPress ignores the .maintenance file once it’s roughly ten minutes old, so even a stuck site usually comes back on its own. There’s no need to wait, though: deleting the file restores the site instantly.

