WordPress stuck in maintenance mode — 30-second fix
Quick answer
WordPress is stuck showing "Briefly unavailable for scheduled maintenance" because an update was interrupted and the .maintenance file in your site root was never removed. Fix in 30 seconds: connect via SFTP or File Manager, delete the file named .maintenance in the WordPress root folder (same folder as wp-config.php), and reload the site. Prevention: never close the browser tab mid-update, and put a real WAF in front of the site so slow updates don't time out.
Why WordPress gets stuck in maintenance mode
Every time WordPress runs a core, plugin, or theme update, it creates an empty file called .maintenance in the site root. That file tells WordPress to show the "briefly unavailable" message to visitors while files are being swapped. When the update finishes, WordPress deletes the file automatically and the site comes back.
If the update is interrupted — you close the tab, your connection drops, the PHP process hits a timeout, or your host kills the process — WordPress never gets to the cleanup step. The .maintenance file stays. Every visitor sees the error until you delete it manually.
The 30-second fix
- 1. Connect to your site via SFTP (FileZilla, Cyberduck, Transmit) or your host's File Manager (cPanel, Plesk, MyKinsta).
- 2. Navigate to the WordPress root folder — the folder that contains wp-config.php, wp-login.php, and the wp-content directory.
- 3. Enable "show hidden files" in your SFTP client. The .maintenance file starts with a dot so it's hidden by default. In FileZilla: Server menu → "Force showing hidden files".
- 4. Delete the file called .maintenance. Just that one file — don't touch anything else.
- 5. Reload your site in a fresh browser tab. It's back.
Prefer we just fix it?
This exact error is what our flat-fee website repair service resolves — most fixes ship in under 60 minutes, no retainer, no lock-in. Learn more about flat-fee website repair or grab a slot below.
If the update was actually mid-flight
If the update was still running when you deleted .maintenance, some plugin or core files may be half-swapped. The site loads but you might see PHP warnings or a specific plugin might be broken.
Log into wp-admin. Go to Dashboard → Updates. Re-run any update that was in progress. WordPress will finish what it started and the warnings clear.
If wp-admin itself throws a critical error after deleting .maintenance, follow our critical-error rescue guide — the fix is either force-disabling the plugin that was being updated (rename the folder via SFTP) or restoring the affected plugin files manually.
Stopping it from happening again
Move updates off cheap shared hosting. The #1 cause of interrupted updates is a PHP timeout on undersized hosts. If your host's PHP max_execution_time is 30 seconds and a plugin update takes 45, you'll hit this every month.
Put Cloudflare or Bunny CDN in front of the site. It absorbs the connection while the origin is briefly slow during an update, reducing timeout risk.
Increase PHP timeouts if your host allows: add 'set_time_limit(300);' to a mu-plugin or ask support to raise max_execution_time to 300 seconds site-wide.
Common questions
How do I get WordPress out of maintenance mode?+
Connect via SFTP or your host's File Manager, navigate to the WordPress root folder (the one with wp-config.php), enable hidden files, and delete the file named .maintenance. Reload the site — it's back within seconds. That's the entire fix.
Where is the .maintenance file in WordPress?+
It's in the WordPress root folder — the same folder that contains wp-config.php, wp-login.php, and the wp-content directory. It's hidden by default because filenames starting with a dot are hidden on Unix systems, so enable "show hidden files" in your SFTP client to see it.
Why is my WordPress site stuck showing "Briefly unavailable for scheduled maintenance"?+
An update (core, plugin, or theme) started, created the .maintenance file, then got interrupted before it could clean up. Interruptions usually come from a closed browser tab mid-update, a dropped connection, or a PHP timeout on undersized hosting. WordPress needs the file deleted manually to unstick.
Is it safe to delete the .maintenance file?+
Yes. It's a temporary file WordPress creates during updates and normally deletes itself. Removing it manually just does what WordPress would have done automatically. If an update was mid-flight, log in afterwards and re-run it from Dashboard → Updates so nothing stays half-installed.
How do I stop WordPress from getting stuck in maintenance mode again?+
Never close the browser tab during an update, run updates on staging first (not directly on live), put a CDN like Cloudflare in front of the site to absorb slow origin requests, and if you're on shared hosting ask support to raise PHP max_execution_time to 300 seconds so long updates don't time out.
Want help with this?
The pages below go deeper, by service and by city.
Want this handled for you?
Book a call and we will review your site before recommending anything.