You clicked “Update Now” on a plugin or theme, walked away for a coffee, and came back to a white screen that just says: “Briefly unavailable for scheduled maintenance. Check back in a minute.” A minute passes. Then ten. Then an hour. Your whole site is down and nothing you do in the dashboard helps — because you cannot even reach the dashboard.

I have hit this exact wall more times than I would like to admit, usually after a bulk update timed out or the connection dropped halfway through. The good news: this is one of the least dangerous WordPress errors you will ever meet, and the fix takes about two minutes once you know where to look.
In this guide I will show you exactly why WordPress gets stuck in maintenance mode, how to get your site back online right now, and how to stop it from happening again.
💡 Quick Answer: Get Your Site Back in 2 Minutes
- Cause: WordPress creates a temporary file named
.maintenancein your site’s root folder during any update. If the update is interrupted, that file never gets deleted — so the site stays “locked.” - The fix: Connect to your site with your host’s File Manager or an FTP client, find the
.maintenancefile in the root directory (the same folder aswp-config.php), and delete it. - Result: Reload your site. It comes back instantly. No data is lost.
Why WordPress Gets Stuck in Maintenance Mode
Every time WordPress updates a plugin, theme, or its own core files, it does something sensible: it puts your site into a temporary maintenance state so visitors do not load a half-updated page. It does this by writing a tiny file called .maintenance into the root of your installation.
When the update finishes, WordPress deletes that file automatically and your site returns to normal — usually so fast that nobody notices. The problem starts when the update does not finish cleanly. Common triggers include:
- Updating a large batch of plugins at once and the PHP process timing out.
- Clicking away from, or closing, the update tab before it completes.
- A short-lived hosting glitch or memory limit being hit mid-update.
- Two updates running at the same time (for example, an auto-update firing while you started a manual one).
Because the update never reached its final step, the .maintenance file is left behind. WordPress keeps reading it on every request and keeps showing the maintenance message. Nothing is broken — the site is simply waiting for a signal that will never come. Deleting the file gives it that signal.
Method 1: Delete the .maintenance File With Your Host’s File Manager
This is the fastest route for most people because it needs no extra software. Almost every host — Hostinger, SiteGround, Bluehost, Cloudways, and cPanel-based hosts — includes a browser-based File Manager.
- Log in to your hosting control panel (not your WordPress dashboard) and open File Manager.
- Navigate to your site’s root folder. This is the directory that contains
wp-config.php,wp-content, and thewp-adminandwp-includesfolders. On many hosts it is calledpublic_html. - Make sure hidden files are visible. The file starts with a dot, so it is hidden by default. In File Manager settings, tick “Show hidden files (dotfiles)”.
- Find the file named exactly
.maintenance. Right-click it and choose Delete. - Reload your website. It should load normally again within seconds.
That is the entire fix. If you cannot see the file even with hidden files enabled, the update may have already cleaned up and your issue is something else — skip to the troubleshooting section below.
Method 2: Delete It Over FTP or SFTP
If you prefer an FTP client like FileZilla, or your host does not offer a File Manager, use this method.
- Connect to your server using your FTP or SFTP credentials (your host provides these; SFTP is more secure if it is available).
- In FileZilla, click Server → Force showing hidden files so dotfiles appear.
- Open your site’s root directory (usually
public_htmlor the folder holdingwp-config.php). - Right-click
.maintenanceand choose Delete. - Refresh your site to confirm it is back.
Method 3: Remove It From the Command Line (WP-CLI or SSH)
If you are comfortable with SSH access, this is the quickest option of all. Connect to your server, move into your site’s root directory, and run:
rm .maintenance
That single command clears it. If you have WP-CLI installed and the dashboard is reachable, you can also confirm nothing else is mid-update with wp core is-installed and then re-run the failed update cleanly with wp plugin update --all.
Still Seeing the Maintenance Message? Try These Steps
If the file is gone but the message persists, work through these in order:
- Clear your caches. Your browser, a caching plugin, and your host or CDN (like Cloudflare) can all serve a stored copy of the maintenance page. Purge them and hard-refresh with Ctrl+Shift+R (or Cmd+Shift+R on Mac).
- Check you deleted the file in the correct folder. On some setups the WordPress root is a subfolder, not
public_htmlitself. The correct folder always containswp-config.php. - Look for a leftover half-updated plugin. If the update failed badly, the plugin folder in
wp-content/pluginsmay be incomplete. Re-upload a fresh copy of that plugin, or rename its folder to deactivate it and update it again from the dashboard. - Rule out a different error. A genuinely white screen with no maintenance text is usually the “white screen of death,” which is a separate PHP problem. If your dashboard still will not load after this, our WordPress care plans can take it from here.
How to Stop It From Happening Again
You cannot disable the maintenance file entirely — and you would not want to, since it protects visitors during updates. But you can make interrupted updates far less likely:
- Update in small batches. Instead of updating twenty plugins at once, do a handful at a time. This keeps each update well inside your server’s PHP time limit.
- Do not close the tab mid-update. Let each update finish and show its success notice before navigating away.
- Raise your PHP limits if updates routinely time out. Ask your host to bump
max_execution_timeandmemory_limit, especially on larger sites. - Keep a staging site. Testing updates on a staging copy first means a stuck update never touches your live site.
While you are tightening things up, it is worth making sure a failed update did not quietly break anything visitors or Google can see. If your site was down for a while, read how to check whether Google is indexing your pages so a temporary outage does not turn into a lasting ranking problem.
Frequently Asked Questions
Will deleting the .maintenance file break my site or lose data?
No. The file is just a temporary flag. Deleting it only tells WordPress the update is over and it should serve pages normally. Your posts, settings, and media are completely untouched.
I deleted it, but the plugin I was updating is now missing features. What now?
That plugin’s update did not finish. Go to Plugins in your dashboard and run its update again. If it errors, delete the plugin and reinstall the latest version — your settings are stored in the database, not the plugin folder, so they usually survive.
Can I put my site into maintenance mode on purpose?
Yes, but use a dedicated maintenance-mode plugin for that. It gives you a proper branded “we’ll be back soon” page and lets you keep working in the dashboard, which the raw .maintenance file does not.
That is the whole fix. A stuck maintenance screen looks scary because your entire site vanishes, but it is one of the safest problems to solve — one small file standing between you and a working site. If you would rather never touch FTP again, our free WordPress consultation is a good place to start.
