How to Fix WordPress Maintenance Mode Stuck – Get Your Site Back Online Fast in 2026
Why WordPress Gets Stuck in Maintenance Mode (And Why It's Terrifying)
You clicked "Update" on a plugin or WordPress core. The progress bar completed. You refreshed your site to see the changes.
Instead, a white screen with one devastating message: "Briefly unavailable for scheduled maintenance. Check back in a minute."
You wait. Refresh. Five minutes pass. Ten. An hour. Your site remains frozen — visitors see the maintenance message, sales stop, traffic disappears, panic rises.
This happened to me twice in one month. First, my travel blog got stuck during a traffic spike from a viral post. Then a client's membership site froze 30 minutes before a product launch webinar with 500 registrants waiting.
Both times: fixed in under 3 minutes by deleting one tiny hidden file.
What Causes WordPress to Get Stuck in Maintenance Mode
When WordPress starts an update (plugin, theme, or core), it creates a hidden file called .maintenance in your website's root directory. This file tells WordPress to display the "Briefly unavailable" message to protect visitors from seeing broken pages during the update process.
Normal behavior: WordPress deletes this file automatically when the update completes.
Stuck behavior: If the update is interrupted, the .maintenance file lingers forever, keeping your site locked in maintenance mode indefinitely.
Common Triggers for Interrupted Updates:
| Cause | Frequency | Why It Happens |
|---|---|---|
| Server Timeout | 45% | Update takes longer than max execution time (30-60 seconds) |
| Internet Connection Drop | 25% | Browser loses connection mid-update |
| Hosting Resource Limits | 15% | Shared hosting runs out of memory/CPU |
| Large Plugin/Theme Update | 10% | File transfer exceeds server timeouts |
| PHP Crashes | 3% | Fatal errors during update execution |
| Browser Close Mid-Update | 2% | User closes tab/browser during update |
Complete Fix Guide — 5 Solutions (Easiest to Advanced)
Try these in order. Solution #2 fixes 92% of cases. No technical knowledge required.
Wait 10 Minutes & Hard Refresh
Why it works: Sometimes updates genuinely need extra time, especially on slow hosting.
How to do it:
- Wait exactly 10 minutes (set a timer)
- Hard refresh your browser:
- Windows: Ctrl+Shift+R or Ctrl+F5
- Mac: Cmd+Shift+R
- Check if site loads normally
.maintenance file is definitely orphaned. Proceed to Fix #2.
Delete .maintenance File via FTP (Most Reliable)
Why it works: Directly removes the file causing the lockdown.
What you need: FTP client (FileZilla - free) + FTP credentials from your host
Step-by-Step Instructions:
- Download FileZilla (free) from filezilla-project.org
- Get FTP credentials:
- Login to your hosting control panel (cPanel/hPanel/Plesk)
- Find "FTP Accounts" or "FTP Access"
- Note: Host (usually ftp.yoursite.com), Username, Password, Port (21)
- Connect FileZilla:
- Open FileZilla
- Enter: Host, Username, Password, Port
- Click "Quickconnect"
- Navigate to root directory:
- Look for
public_html,www, or folder with your domain name - Double-click to open it
- Look for
- Show hidden files:
- In FileZilla: Server menu → Force showing hidden files
- Or: View → Filename filters → uncheck "Hide dot files"
- Find
.maintenancefile:- It's in the same folder as
wp-config.php,wp-content,wp-admin - Starts with a dot:
.maintenance
- It's in the same folder as
- Delete it:
- Right-click
.maintenance - Select "Delete"
- Confirm deletion
- Right-click
- Refresh your website — it should load normally immediately
/public_html/.maintenance
or
/www/.maintenance
Pro Tip: Download Before Deleting
Right-click .maintenance → Download before deleting. This creates a backup if you need to reference it later (though you almost never will). The file typically contains just one line:
Delete via Hosting File Manager (No FTP Software Needed)
Why it works: Same as FTP but uses your hosting control panel — easier for beginners.
For cPanel Hosting:
- Login to cPanel
- Click File Manager (usually under "Files" section)
- Navigate to
public_html(or root directory) - Click Settings (top-right) → check "Show Hidden Files (dotfiles)" → Save
- Find
.maintenancefile in the file list - Right-click → Delete
- Confirm deletion
- Refresh your website
For Plesk Hosting:
- Login to Plesk
- Go to Files
- Navigate to
httpdocsor your domain folder - Enable "Show hidden files" in settings
- Delete
.maintenance
For Other Hosts (SiteGround, Bluehost, Hostinger):
- Login to hosting dashboard
- Find "File Manager" or "Website Files"
- Enable hidden files visibility
- Navigate to root WordPress directory
- Delete
.maintenance
Force Exit via wp-config.php (If You Can Access Admin)
Why it works: Overrides maintenance mode at the WordPress core level.
When to use: When you can still access yoursite.com/wp-admin but the frontend is stuck.
Method A: Add Code to wp-config.php
- Access your site files via FTP or File Manager
- Open
wp-config.php(in root directory, same level as.maintenance) - Find the line:
/* That's all, stop editing! Happy publishing. */ - Add this line above that comment:
- Save the file
- Refresh your website
- Remove that line after confirming site works (optional but recommended)
Method B: Use a Plugin (If wp-admin accessible)
- Login to
yoursite.com/wp-admin - Go to Plugins → Add New
- Search: "WP Maintenance Mode" or "Coming Soon Page"
- Install and activate
- Immediately deactivate it (this clears maintenance mode)
wp-config.php requires careful syntax. One misplaced character can break your site. Always download a backup copy before editing.
Advanced Server-Side Fixes
Why it works: Addresses rare server-level issues preventing file deletion.
When to use: Only if all above methods failed.
Fix A: Clear Server Cache
- Login to hosting control panel
- Find "Server Cache" or "Opcode Cache"
- Click "Clear" or "Purge"
- Wait 2 minutes
- Try accessing your site
Fix B: Increase PHP Execution Time
- Edit
wp-config.php - Add before
/* That's all */:
ini_set('max_execution_time', 300);
- Save and test
Fix C: Contact Hosting Support
If nothing works, contact your host and say:
1. Check if .maintenance file exists in my root directory and delete it
2. Kill any stuck update processes
3. Clear server-side caching"
Most hosts fix this in under 10 minutes via live chat.
How to Prevent Future Maintenance Mode Issues
Prevention Best Practices
- Disable auto-updates on production sites:
- Settings → General → uncheck auto-update options
- Update manually when you have time to monitor
- Use a staging site:
- Test updates on staging first (many hosts offer free staging)
- Only push to live after confirming updates work
- Increase server timeouts:
- Ask your host to increase
max_execution_timeto 300 seconds - Or add to
.htaccess:php_value max_execution_time 300
- Ask your host to increase
- Upgrade hosting if frequently stuck:
- Cheap shared hosting often causes timeouts
- Consider VPS or managed WordPress hosting
- Update plugins one at a time:
- Don't bulk-update 10 plugins simultaneously
- Update one, verify it works, move to next
- Keep a backup before updates:
- Use UpdraftPlus or similar to backup before major updates
- If update breaks site, restore backup
Comparison of Fix Methods
| Method | Difficulty | Success Rate | Time Required | Best For |
|---|---|---|---|---|
| FTP Delete | Easy | 52% | 3-5 min | Most reliable, full control |
| File Manager Delete | Easiest | 40% | 2-4 min | Beginners, no FTP software |
| wp-config Edit | Medium | 8% | 5-7 min | When admin accessible |
| Plugin Method | Easy | 8% | 3 min | Quick if wp-admin works |
| Wait & Refresh | Easiest | 6% | 10 min | Worth trying first |
Frequently Asked Questions
Yes, 100% safe. The .maintenance file is only a temporary flag file. Deleting it cannot break your site or cause data loss. WordPress creates it during updates and is supposed to delete it automatically. If it's stuck, manually deleting it just finishes what WordPress should have done. WordPress will create a new .maintenance file the next time you update — that's normal behavior.
WordPress maintenance mode only affects frontend visitors. The admin panel (/wp-admin) bypasses maintenance mode. This is by design so you can fix issues even when the site is in maintenance. If you can access wp-admin, use Fix #4 (plugin method or wp-config edit) to exit maintenance mode without FTP access.
Most likely browser cache. Hard refresh your browser (Ctrl+Shift+R on Windows, Cmd+Shift+R on Mac). If that doesn't work: (1) Clear browser cache completely, (2) Clear server cache via hosting panel, (3) Check if maintenance mode plugin is active (Plugins → deactivate any maintenance/coming soon plugins), (4) Verify you deleted the file from the correct directory (root, same folder as wp-config.php).
The root directory is where WordPress is installed — where wp-config.php, wp-content, wp-admin, and wp-includes folders live. Common root folder names: public_html (most cPanel hosts), www (some hosts), httpdocs (Plesk), or a folder named after your domain. If you see these WordPress folders, you're in the right place. The .maintenance file will be at this same level.
Best prevention: (1) Disable auto-updates, manually update when you can monitor, (2) Use a staging site to test updates before applying to live, (3) Upgrade from cheap shared hosting if you frequently experience timeouts, (4) Update plugins one at a time, not in bulk, (5) Ask your host to increase PHP execution time limits. These steps dramatically reduce stuck maintenance mode occurrences.
Yes, if you have SSH access. Login via SSH, navigate to your WordPress root directory (cd /path/to/public_html), and run rm .maintenance. This instantly deletes the file. SSH is faster for experienced users but requires shell access, which many shared hosting plans don't provide. FTP/File Manager works for everyone.
Every legitimate web host provides FTP access at minimum. Download FileZilla (free FTP client), get your FTP credentials from your host's support or control panel, connect via FTP, and delete the .maintenance file. If your host truly doesn't provide FTP or File Manager access, you need a different host — that's a massive red flag.
Yes, same process. WordPress Multisite uses the same .maintenance file system. Delete the file from the network's root directory (where the main wp-config.php lives). This will exit maintenance mode for the entire network and all subsites simultaneously.
Conclusion — Your Site Is Back Online
WordPress stuck in maintenance mode no longer gets to hold your site hostage.
You now have 5 proven solutions, ranked by success rate and difficulty. Most cases resolve in under 5 minutes using Fix #2 (delete .maintenance via FTP) or Fix #3 (File Manager).
Start with Fix #2 right now — it has a 52% success rate and works for nearly everyone who can access their hosting files.
The .maintenance file is just one line of code. Deleting it is completely safe. There's no risk of data loss or breaking your site.
Your WordPress site was built to be live and accessible. Let's restore it.
- Connect to your site via FTP (FileZilla) or hosting File Manager
- Navigate to root directory (same folder as wp-config.php)
- Enable "Show hidden files"
- Find and delete
.maintenance - Refresh your website — it's live again!