If you need a WordPress maintenance mode quick fix, you’re usually dealing with one of two scenarios:
- WordPress (or a plugin/theme update) created a
.maintenancefile and didn’t remove it, so your whole site (and sometimes/wp-admin) is stuck on “Briefly unavailable for scheduled maintenance. Check back in a minute.” (Kinsta®) - A maintenance-mode plugin (or host/WAF cache) is showing a maintenance page even though WordPress itself is no longer in real maintenance mode.
Either way, you want the fastest safe path: get the site back up, confirm what caused the lock, then prevent it from happening again.
This guide is built as a 2-minute recovery checklist first, then a set of edge-case playbooks for when deleting .maintenance isn’t enough.
The 2-Minute Recovery Checklist (do this first)
0) Don’t keep clicking “Update” right now
If you’re mid-update and the tab closed, or the update stalled, repeatedly re-running updates can keep rewriting .maintenance and make debugging messier. Your goal is to unlock the site first. (Kinsta®)
1) Check the symptom: is it WordPress core maintenance mode or a plugin page?
- If you see the default message “Briefly unavailable for scheduled maintenance…”, that’s almost always the
.maintenancelock file. (Kinsta®) - If you see a branded “Maintenance” landing page, it might be a plugin or cache still serving an old response.
Either way, the next step is the same: confirm/remove the lock.
2) Remove the .maintenance file (fastest fix)
Where it is: the root of your WordPress install (same directory as wp-config.php, wp-admin/, etc.). (Kinsta®)
What to do:
- Connect via SFTP/FTP or your host’s file manager
- Make sure your file client shows hidden “dotfiles”
- Delete
.maintenance
This alone fixes the majority of “stuck in maintenance mode” incidents immediately. (Kinsta®)
Tip: If you can’t see
.maintenance, force-show hidden files in your FTP client. (WordPress Development Stack Exchange)
3) Hard refresh + test 3 URLs (homepage, a post, wp-admin)
After deleting .maintenance:
- Open an incognito window
- Test:
/(homepage)- Any internal URL
/wp-admin/
If everything loads, you’re “up,” but you’re not done yet—jump to Post-Recovery below so it doesn’t come right back.
4) If you have SSH/WP-CLI, deactivate maintenance mode via command
On servers with WP-CLI, this is a clean way to ensure WordPress itself isn’t stuck thinking it’s in maintenance mode:
wp maintenance-mode deactivate
WP-CLI documents this command and the expected success output. (WordPress Developer Resources)
Post-Recovery (the 5 minutes that prevent a repeat)
Once the site loads again, the next risk is that the same failed update triggers the lock again, or the underlying cause (timeouts, low memory, plugin conflict) breaks the site on the next click.
1) Clear caches (browser + plugin cache + host/CDN)
A common “false maintenance mode” case is cached maintenance output (especially with aggressive page caching). Clear:
- Browser cache (or use incognito)
- Any caching plugin cache
- Host-level cache (if your host provides it)
- CDN cache (if you use one)
Many troubleshooting guides explicitly call out cache-clearing as a follow-up after removing .maintenance. (muffingroup.com)
2) Finish updates deliberately (one at a time)
Do not bulk-update 25 plugins at once right after an incident. Instead:
- Update WordPress core (if needed)
- Update one plugin
- Re-check the site
- Repeat
This reduces the chance of another mid-update lock and makes it obvious which component triggers the problem.
3) Confirm your site health basics
If updates repeatedly fail, you’re often dealing with one of these:
- Low PHP memory limit
- Execution timeouts
- Disk space issues
- File permission issues
- A plugin/theme conflict that breaks the update process
(We’ll handle these as edge cases below.)
The Quick Fix Explained (what .maintenance actually does)
When WordPress runs updates, it temporarily creates a .maintenance file in your WordPress root. When the update completes, WordPress removes it automatically. If the update is interrupted—closed tab, timeout, server hiccup—that file can remain, and WordPress will keep showing the maintenance message. (Kinsta®)
That’s why deleting .maintenance is so effective: you’re removing the “lock” WordPress uses to block traffic during updates. (Kinsta®)
If you want a second reference walkthrough specifically from WP Fix It, their maintenance-mode article mirrors this exact root cause and fix. (WP Fix It)
Edge Cases: when deleting .maintenance doesn’t fully fix it
If you removed .maintenance and you’re still seeing maintenance mode, use these playbooks in order.
Edge Case A: You deleted .maintenance but you still see the maintenance screen
A1) You’re seeing a cached response (most common)
This is especially likely if:
- You’re behind a CDN
- Your host has built-in caching
- You use a caching plugin
Action:
- Purge all caches (plugin + host + CDN)
- Test from a different network/device
- Use an incognito window
Guides that discuss maintenance mode recovery often include cache-clearing as the next step after removing .maintenance. (muffingroup.com)
A2) A maintenance-mode plugin is enabled
Some plugins show a maintenance page even when WordPress isn’t in core maintenance mode. If you can access wp-admin:
- Disable the maintenance plugin
- Purge cache again
If you can’t access wp-admin, skip ahead to Edge Case C (disable plugins via filesystem).
Edge Case B: The site loads, but wp-admin is broken (or throws 500/503)
If maintenance mode cleared but /wp-admin still fails, you likely had an update that partially applied and triggered a fatal error.
WP Fix It has a guide focused on admin not loading and 500/503-style failures; it explicitly calls out that a stuck maintenance file can be involved—but when it isn’t, plugins and server strain are next suspects. (WP Fix It)
B1) Check your server error log (fast signal)
If you have hosting access, look for:
- PHP fatal errors
- Memory exhausted errors
- Missing file/class errors (plugin updated halfway)
B2) If it’s a 503, confirm it’s not just real maintenance mode
A 503 can be:
- Actual server resource exhaustion
- A WAF/CDN edge response
- A plugin doing heavy work
- A maintenance lock/cached maintenance message
Treat it like: unlock → disable likely offenders → finish update cleanly.
Edge Case C: You can’t log in, so you can’t disable the plugin that caused the issue
C1) Disable all plugins (filesystem method)
If you suspect a plugin conflict or broken update:
- Rename
wp-content/plugins/toplugins.old/ - Refresh the site
Renaming the plugins folder forces WordPress to treat all plugins as deactivated. This approach is widely recommended as a recovery technique when you can’t access wp-admin. (support.cloudways.com)
If the site returns:
- Rename the folder back to
plugins - Reactivate plugins one at a time in wp-admin until you find the culprit
WP Fix It also offers a plugin conflict diagnosis path if you want a faster “find the offender” process. (WP Fix It)
C2) If plugins aren’t the cause, test your theme
Same idea:
- Rename your active theme folder inside
wp-content/themes/ - WordPress should fall back to a default theme (if present)
Some maintenance-mode incidents are really “update broke the theme” incidents wearing a maintenance mask.
Edge Case D: The update keeps failing and .maintenance keeps coming back
This usually means the update process can’t complete. Common causes:
D1) PHP memory limit too low
Updates can be memory-hungry (unzipping, copying files, running database updates). If memory is insufficient, WordPress can fail mid-process and leave .maintenance behind.
A practical next move is to increase PHP memory for WordPress, then retry updates one at a time. (If you want a deeper troubleshooting checklist for memory and fatal errors, WP Fix It’s White Screen of Death resources are relevant because the underlying root causes overlap: memory, plugin conflicts, incomplete updates.) (WP Fix It)
For official PHP reference on memory configuration, the PHP manual is the informational source of truth. (WPRiders) (This point is discussed broadly across troubleshooting resources; the manual is the best neutral reference.)
D2) Timeout during update (execution time)
Shared hosting + large plugins/themes + slow disk can time out update scripts. The result: partial update + .maintenance lock.
Fix pattern:
- Unlock (delete
.maintenance) - Increase resources/timeouts if your host allows
- Update one plugin at a time
D3) File permissions prevent writes
If WordPress can’t write to the filesystem during update, it may fail while copying files. Check typical WordPress permissions and whether the web server user owns the relevant directories.
D4) Disk space is full (quiet killer)
If your server runs out of space mid-update:
- The update can’t unpack/copy
- The lock file can remain
- You can also end up with partial plugin/theme directories
Free space, then retry.
Edge Case E: Multisite quirks (network admin + per-site behavior)
In Multisite, you may see:
- Network-level updates failing
- Plugin update affecting all sites
- Different caching layers per site
Your checklist remains the same:
- Remove
.maintenancein the WordPress root - Purge caches
- Use WP-CLI if available (and specify the correct
--urlfor the target site when needed)
WP-CLI notes that --url is how you target a site in multisite contexts. (WordPress Developer Resources)
Edge Case F: You can access wp-admin, but updates are stuck “in progress” or loops
Sometimes WordPress thinks an update is still running. Do this:
- Confirm
.maintenanceis gone - Go to Dashboard → Updates
- Run updates one at a time
- If it loops, disable caching plugins temporarily and retry
If the issue started right after an automatic update, you may be in rollback territory (restore known-good files/database and reapply updates safely). WP Fix It has a rollback/prevention checklist specifically for auto-updates breaking sites. (WP Fix It)
Edge Case G: You removed .maintenance, but the site is now a white screen or fatal error
That means maintenance mode wasn’t the real issue—it was hiding the real issue.
Follow this recovery order:
- Disable all plugins (rename plugins folder) (support.cloudways.com)
- Switch theme (rename theme folder) (muffingroup.com)
- Increase memory / check logs (common fatal error root cause) (WP Fix It)
- Re-run updates carefully
WP Fix It’s White Screen of Death guides are specifically built around this kind of “site looks dead after an update” situation. (WP Fix It)
“Maintenance Mode Quick Fix” Decision Tree (printable mental model)
Use this when you’re stressed and just need the next move:
- Seeing “Briefly unavailable…”?
→ Delete.maintenancein WordPress root. (Kinsta®) - Still seeing it after deletion?
→ Purge all caches + confirm you deleted the correct.maintenance(and that hidden files are visible). (WordPress Development Stack Exchange) - Site loads but wp-admin fails?
→ Disable plugins via filesystem, then restore one by one. (support.cloudways.com) - Issue repeats on next update?
→ You have a systemic update failure (memory/timeouts/permissions/space). Use the edge cases above, update one at a time, and consider a rollback plan. (WP Fix It)
Prevention: stop getting stuck in maintenance mode
1) Update in smaller batches
Bulk updates are the #1 way site owners end up with half-applied plugin changes and a leftover lock file. One-at-a-time updates reduce risk and make troubleshooting obvious.
2) Avoid updating during peak traffic
More traffic + more server load increases timeouts and failures.
3) Keep backups you can actually restore
If an update breaks core functionality, the fastest “guaranteed” recovery is restoring a clean backup, then reapplying updates carefully.
4) Consider managed maintenance
If your site generates revenue/leads, the cost of downtime is usually higher than the cost of having someone handle updates, monitoring, and emergency restores. WP Fix It offers both emergency help and ongoing care plans if you’d rather not fight this battle each time. (WP Fix It)
Common Questions (fast answers)
“Do I lose content if I delete .maintenance?”
No—deleting .maintenance just removes the maintenance lock. It doesn’t delete posts, pages, media, or settings. The risk is that an interrupted update might have left a plugin/theme in a partial state, which you’ll address with the edge-case steps if needed. (Kinsta®)
“Where exactly is .maintenance?”
In the WordPress root directory—where wp-config.php lives. (Kinsta®)
“I don’t see .maintenance anywhere.”
Enable viewing hidden files (dotfiles) in your FTP/SFTP client. (WordPress Development Stack Exchange)
“Can WP-CLI fix this?”
Yes. You can deactivate maintenance mode using WP-CLI’s maintenance-mode command. (WordPress Developer Resources)
When to stop troubleshooting and get help
If any of these are true, it’s usually faster (and safer) to bring in a pro:
- You deleted
.maintenance, but the site is still down - wp-admin won’t load and disabling plugins/themes didn’t restore it
- The issue keeps recurring every time you update
- You see signs of compromise (unexpected admin users, injected content, redirects)
WP Fix It’s emergency support is explicitly designed for “site down right now” situations, and their hacked-site cleanup guidance is relevant if you suspect the issue isn’t just an update failure. (WP Fix It)
Related WP Fix It resources (internal)
- WordPress in Maintenance Mode (step-by-step): (WP Fix It)
- Briefly Unavailable for Scheduled Maintenance error: (WP Fix It)
- WordPress 500/503 + wp-admin not loading: (WP Fix It)
- White Screen of Death troubleshooting: (WP Fix It)
- Auto-update rollback + prevention checklist: (WP Fix It)
- Emergency WordPress Support: (WP Fix It)
Supporting references (external, informational)
- WP-CLI: deactivate maintenance mode command docs: (WordPress Developer Resources)
- Explanation of
.maintenancefile behavior and fix: (Kinsta®)




