Quick answer: WordPress gets stuck in maintenance mode when an update is interrupted and leaves a hidden .maintenance file behind. Connect to your site over FTP or your hosting File Manager, open the root folder (the one with wp-config.php), and delete .maintenance. The “Briefly unavailable for scheduled maintenance. Check back in a minute.” message disappears immediately. Then re-run whatever update was interrupted, because it probably didn’t finish.
The message promises a minute. When it’s still there an hour later, nothing is happening in the background and nothing will fix itself. WordPress is simply obeying a leftover file that tells it to stay closed.
This guide is part of my complete guide to fixing common WordPress errors, the hub that maps every common error to its fix.
Why Does WordPress Get Stuck in Maintenance Mode?
Every time you update WordPress core, a plugin, or a theme, WordPress creates a file called .maintenance in your site’s root folder. While that file exists, every visitor sees the maintenance message instead of your site. When the update finishes, WordPress deletes the file and the site comes back.
The problem starts when the update never finishes. The usual causes:
- You closed the browser tab or navigated away mid-update.
- You bulk-updated a dozen plugins at once and the server ran out of time or memory.
- Your host killed the PHP process for hitting its execution time limit.
- An automatic background update failed halfway with nobody watching.
In every case the cleanup step never ran, so .maintenance is still sitting there.
Fix 1: Delete the .maintenance File
This fixes the problem in the overwhelming majority of cases, and it takes about a minute.
- Open your hosting File Manager, or connect with an FTP client like FileZilla.
- Go to your WordPress root folder. It’s usually
public_htmland containswp-config.php,wp-admin, andwp-content. - Find the file named
.maintenanceand delete it. - Reload your site. The maintenance message should be gone.
Deleting it is completely safe. It’s a tiny temporary file holding a single timestamp, and WordPress creates a fresh one on the next update anyway.
If you have SSH access, one command does the same thing from the site root:
rm .maintenanceFix 2: Show Hidden Files If You Can’t See .maintenance
Files that start with a dot are hidden by default in most file managers and FTP clients, which is why people often look straight at the root folder and swear the file isn’t there.
- cPanel File Manager: click Settings in the top-right corner and tick “Show Hidden Files (dotfiles)”.
- Hostinger File Manager: hidden files are shown by default. If you still can’t see it, use the search box to look for
.maintenance. - FileZilla: open the Server menu and choose “Force showing hidden files”.
Make sure you’re in the right folder too. On hosting accounts with several sites, each site has its own root, and the file sits only in the one that got stuck.
Fix 3: Clear Your Cache
If you deleted the file and visitors still see the message, a cache saved a copy of the maintenance page while it was showing. Purge your caching plugin, then any server cache and CDN. The order matters, and my guide to clearing all five WordPress cache layers walks through each one. Open the site in a private window to confirm what visitors actually see.
Fix 4: Re-Run the Update That Failed
Deleting .maintenance brings the site back, but the interrupted update is still half-done. A plugin left half-updated can have new files mixed with old ones, which is exactly the recipe for a fatal error later.
Go to Dashboard → Updates and look for anything still pending. Update those one at a time, waiting for each to finish before starting the next. If a plugin shows as up to date but behaves strangely, delete it and reinstall a fresh copy. Your settings normally live in the database and survive a reinstall.
Fix 5: If the Site Breaks After Removing the File
Sometimes deleting .maintenance swaps the maintenance message for something worse: a blank page or “There has been a critical error on this website.” That means the half-finished update left broken files behind.
Find the plugin that was updating and rename its folder in wp-content/plugins (for example plugin-name to plugin-name-off). That deactivates it and the site should load again. Then reinstall a clean copy from the Plugins screen. If you can’t tell which plugin it was, turn on the debug log and let it name the file. My WordPress error log guide shows how, and the white screen of death guide and the critical error guide cover the rest of the recovery.
If WordPress core itself was mid-update, re-upload fresh wp-admin and wp-includes folders from wordpress.org. Never overwrite wp-content or wp-config.php.
Fix 6: Stop It Happening Again
Maintenance mode lockups are almost always a resources problem showing up during updates. These habits prevent most of them:
- Update one plugin at a time. Bulk updates are the most common trigger, and one-at-a-time updates also tell you which plugin caused a problem.
- Stay on the page until the update finishes. Closing the tab mid-update is the second most common trigger.
- Give PHP more headroom. Raise
WP_MEMORY_LIMITin wp-config.php and ask your host about the PHPmax_execution_time. Updates that keep dying halfway mean the server is too tight. - Test big updates on staging. Major WordPress versions and large plugins like WooCommerce or Elementor deserve a staging run first.
- Keep a recent backup. If an update ever does real damage, a restore takes minutes.
Maintenance Mode on Purpose: The Right Way
If you want a maintenance page while you work on the site, don’t create a .maintenance file by hand. It returns the plain default message and can lock you out of your own admin. Use a coming-soon or maintenance-mode plugin instead. It shows a branded page to visitors, keeps the site open for logged-in admins, and sends search engines a proper 503 status so a short downtime doesn’t hurt your rankings.
Frequently Asked Questions
How long does WordPress stay in maintenance mode?
During a normal update, a few seconds to a minute. If the ‘Briefly unavailable for scheduled maintenance’ message is still showing after a few minutes, the update was interrupted and the site will stay stuck until you delete the .maintenance file from the root folder.
Where is the .maintenance file in WordPress?
In the WordPress root folder, the same folder that contains wp-config.php, wp-admin, and wp-content. On most hosts that’s public_html. It’s a hidden dotfile, so enable ‘show hidden files’ in your file manager or FTP client if you can’t see it.
Is it safe to delete the .maintenance file?
Yes. It’s a temporary file containing a single timestamp, created by WordPress during updates. Deleting it only removes the maintenance message. WordPress creates a new one automatically the next time you run an update.
Can I fix maintenance mode without FTP?
Yes, most hosts include a browser-based File Manager in the control panel (cPanel, hPanel, Plesk) that can delete the file. If you have SSH access, running rm .maintenance in the site root works too. You can’t fix it from wp-admin, because the admin is locked by the same message.
Does being stuck in maintenance mode hurt SEO?
Briefly, no. WordPress serves the maintenance page with a 503 status, which tells search engines the outage is temporary. A site stuck for days is different: crawlers keep hitting the 503 and rankings can slip, so fix it as soon as you notice.
Wrapping Up
A WordPress site stuck in maintenance mode is a one-file problem: an update didn’t finish, so its .maintenance file never got cleaned up. Delete the file, clear the cache, re-run the update properly, and update one plugin at a time from now on.
If the site broke worse after removing the file, or updates keep failing halfway, that usually points to a server problem worth a proper look. Get in touch and I’ll sort it out.
Shahbaz Ali is a senior WordPress developer with 6+ years of agency experience, specializing in WordPress development, speed optimization, and emergency fixes.
