Introduction

If WordPress shows Briefly unavailable for scheduled maintenance. Check back in a minute. for much longer than a minute, the update process did not finish cleanly. The site is usually waiting on a leftover maintenance flag, not a real long-running upgrade.

Symptoms

  • The front end shows the scheduled maintenance message for an extended time
  • wp-admin is unavailable behind the same message
  • The problem started during a plugin, theme, or core update
  • One interrupted browser session caused the issue during updates
  • File access shows a .maintenance file in the site root

Common Causes

  • The update process timed out or was interrupted mid-run
  • A plugin update failed and WordPress never cleared the maintenance flag
  • Low disk space or file permission issues blocked the update from finishing
  • PHP limits or hosting restrictions stopped the upgrader halfway through
  • A managed host killed the process during automatic updates

Step-by-Step Fix

  1. Connect to the site with file manager, SSH, or SFTP and look for a .maintenance file in the WordPress root directory.
  2. Delete the .maintenance file and reload the site to confirm whether normal traffic returns immediately.
  3. If the site still fails, inspect the last update attempt in hosting error logs or wp-content/debug.log for the plugin or theme that broke.
  4. Check whether the updated plugin or theme folder is incomplete, missing files, or partially extracted.
  5. Reinstall or replace the last updated plugin, theme, or core package with a clean copy from a trusted source.
  6. Verify disk space, file ownership, and write permissions so future updates can finish without leaving stale state behind.
  7. Run pending updates one at a time instead of in a large batch so you can isolate the exact extension causing the interruption.
  8. Test the homepage, login page, and plugin screen after each retry to confirm the maintenance state clears normally.
  9. After recovery, enable backups before future major updates and avoid closing the update session before WordPress finishes writing files.