Tutorials

WordPress Stuck in Maintenance Mode? The One-File Fix (2026)

By Daniel Reyes•October 2, 2026•3 min read

Disclosure: some links on this page are affiliate links. We may earn a commission at no extra cost to you. How we test and rate hosts.

Our top pick for most WordPress sites
Bluehost: free domain, free SSL, 24/7 support, 30-day money-back guarantee.
Check Bluehost Deal →

The fix: delete one file — .maintenance — in your WordPress root. It's hidden, so enable "show hidden files" first. Takes 2 minutes via FTP or file manager. The follow-up nobody mentions: the update that created it was interrupted mid-way — re-run it one item at a time or your site stays half-updated.

Why It Happens

When WordPress updates core, a theme, or a plugin, it drops a .maintenance file in the site root — same folder as wp-config.php. That file displays the "Briefly unavailable" message. When the update completes, WordPress deletes it. When the update is interrupted — closed tab, timeout, memory crash, plugin conflict — the file stays and the site stays locked. Note: WordPress auto-ignores .maintenance files older than ~10 minutes; if it's still showing past that, the update itself failed, not just the cleanup.

The Fix: Delete .maintenance

Via FTP (FileZilla etc.):

  1. Connect with your FTP credentials
  2. Enable hidden files — in FileZilla: Server → Force showing hidden files
  3. Navigate to site root (where wp-config.php lives, usually public_html)
  4. Find .maintenance → delete it
  5. Reload the site — it returns immediately

Via hosting File Manager:

  1. Open cPanel → File Manager (or your host's equivalent)
  2. Click Settings → check "Show Hidden Files (dotfiles)"
  3. Navigate to the site root, delete .maintenance

Via SSH/WP-CLI: rm /path/to/site/.maintenance or wp maintenance-mode deactivate.

The Step Everyone Skips: Finish the Update

Deleting .maintenance unlocks the site, but the interrupted update left a half-applied plugin/theme/core. After unlocking:

  1. Log into wp-admin → Dashboard → Updates
  2. See which update was interrupted
  3. Re-run it one item at a time, keep the browser open

Skipping this leaves a partially-updated install — which surfaces later as the critical error or white screen.

If It Keeps Reappearing

Delete .maintenance, it comes back = the update is failing repeatedly. Culprits: PHP max_execution_time too low, insufficient memory, or a corrupted plugin that can't update. Check the server error log, increase limits in wp-config.php:

define( 'WP_MEMORY_LIMIT', '256M' );

Or ask your host to raise max_execution_time — shared hosts with tight timeouts cause most repeat cases.

Prevention

  • Update one item at a time — "Update All" is how timeouts happen
  • Don't close the tab mid-update — wait for completion
  • Adequate PHP limits — low memory/execution time kills updates
  • Hosting that doesn't choke updates — tight shared timeouts are the root cause; Bluehost managed WP handles updates on WP Cloud with proper limits

Updates That Actually Finish

Bluehost's managed WordPress runs updates on WP Cloud with real PHP limits — no more stuck maintenance mode from tight shared-host timeouts.

Get Bluehost Managed WP →

Related: critical error fix, maintenance guide, 500 internal server error.

Find Your Perfect Hosting Plan

What are you building?

Tell us about your project so we can match the perfect hosting plan.

Question 1 of 425% complete
Interactive Tool

Hosting Cost Calculator

See exactly how much you'll spend on hosting over time. Compare Bluehost vs popular alternatives and discover your potential savings.

Used to calculate transaction fees (Shopify charges 2% on sales)

Shopify Basic (3yr)
$1,044
Bluehost (3yr)
$444
You Save
$600
58% less than Shopify Basic

Frequently Asked Questions

How do I fix 'Briefly unavailable for scheduled maintenance'?

Delete the .maintenance file in your WordPress root folder via FTP or your host's file manager. It's a hidden file (starts with a dot) — enable 'show hidden files' first. The site returns instantly once the file is gone.

What is the .maintenance file?

A temporary file WordPress creates when it starts an update — it contains a timestamp and displays the maintenance message. WordPress deletes it automatically after a successful update; when an update is interrupted, the file remains and locks the site.

Why is my site stuck in maintenance mode?

The update was interrupted: you closed the browser tab mid-update, a PHP timeout killed the process, memory ran out, or a plugin conflict crashed the update. The .maintenance cleanup never ran.

How long does WordPress stay in maintenance mode?

WordPress auto-ignores .maintenance files older than 10 minutes — but if it's still showing after that, the update itself failed and you need to delete the file manually and re-run the update.

Is it safe to delete the .maintenance file?

Yes — it's just a flag file with a timestamp. Deleting it unlocks the site immediately. But the interrupted update left a half-updated plugin/theme/core — re-run that update one item at a time after unlocking.

How do I prevent getting stuck in maintenance mode?

Update plugins one at a time (not bulk), keep browser open during updates, ensure adequate PHP memory/execution time, and use hosting where updates complete reliably — shared hosts with tight timeouts cause most cases.

Ready to launch?

Get Bluehost from $3.99/month with a free domain, free SSL, and 30-day money-back guarantee.

Start for $3.99 →

Related Articles