ERROR · 04 · VERIFIED 2026-10allwpcare.com/errors/briefly-unavailable-for-scheduled-maintenance/
Errors / briefly-unavailable-for-scheduled-maintenance

Briefly Unavailable for Scheduled Maintenance

Your site is stuck on this message after an update. Delete the .maintenance file in the WordPress root, or run wp maintenance-mode deactivate.

The message you see
1−Briefly unavailable for scheduled maintenance. Check back in a minute.
Last verified Oct 2026Tested with WordPress 7.1Applies to WordPress 7.1 (tested) · PHP 7.4+

Why it happens

  • An update of WordPress core, a plugin or a theme was interrupted, so the .maintenance file it created was never deleted.
  • The update is still running. Bulk updates and slow servers can take longer than a minute.
  • An update timed out, ran out of memory, or hit a file permission problem partway through.
  • A browser tab was closed during an update from the Plugins or Updates screen.

How to fix it

Try the fixes in this order. Each one is independent: stop as soon as the error is gone.

FIX 01

Wait a few minutes first

  1. Wait about ten minutes without starting another update. WordPress ignores a .maintenance file that is ten minutes old or older, so a stuck site often recovers on its own.
  2. Reload the site in a private window to avoid a cached copy of the message.
FIX 02

Delete the .maintenance file

  1. Connect to your site by SFTP, or open your host's file manager.
  2. Go to the folder that contains wp-config.php, which is the WordPress root, not wp-content.
  3. Turn on the option to show hidden files. The file starts with a dot, so many tools hide it by default.
  4. Find the file named .maintenance and delete it.
  5. Reload the site.
FIX 03

Turn maintenance mode off with WP-CLI

  1. Connect to the server by SSH and change to the WordPress folder.
  2. Run wp maintenance-mode status to check whether it is active.
  3. Run wp maintenance-mode deactivate. It deletes the file for you.
  4. Run wp maintenance-mode status again and confirm that it reports that maintenance mode is not active.
FIX 04

Finish the interrupted update

  1. Open /wp-admin/ and go to Dashboard, then Updates. Check what is still waiting.
  2. Run the update again for the item that failed, one at a time and with the site open in a single tab.
  3. If a core update refuses to start and says another update is in progress, an update lock is still set. Wait about 15 minutes, or delete it with wp option delete core_updater.lock.
  4. If a plugin update broke the site, rename that plugin's folder in wp-content/plugins to deactivate it, then reinstall a fresh copy.
  5. With WP-CLI, wp core update, wp plugin update --all or wp theme update --all run updates without a browser timeout.
  6. Run wp core verify-checksums after a core update to confirm that WordPress core files are complete.
FIX 05

Replace the default message with your own

  1. Create a file named maintenance.php in wp-content. WordPress shows it in place of the default message while maintenance mode is on.
  2. Send a 503 status and a Retry-After header from that file so search engines treat it as temporary.

WordPress shows Briefly unavailable for scheduled maintenance. Check back in a minute. while it is updating itself. Before it starts, WordPress writes a tiny file called .maintenance into the site folder. When it finishes, it deletes the file. If the update is interrupted, the file stays, and visitors keep seeing the message.

The message itself does no harm, but the update behind it was interrupted, so check the site once it is back.

A white box on the grey WordPress error background with one line: Briefly unavailable for scheduled maintenance. Check back in a minute.
The message on WordPress 7.1.4 with maintenance mode switched on by wp maintenance-mode activate. The reply is a 503 with Retry-After: 600.

What is in the file#

The file holds one line of PHP: a timestamp of when the update began.

.maintenance
<?php $upgrading = 1792157696; ?>

On every request, WordPress looks for this file. If it exists and the timestamp is less than ten minutes old, WordPress answers with a 503 Service Unavailable response and a Retry-After: 600 header. I confirmed both on a test site by switching maintenance mode on and requesting the home page.

Once the timestamp is ten minutes old or older, WordPress treats maintenance as over and serves the site normally. That is why waiting works. If you see the message for longer than that, check that the file is not being rewritten, for example by a repeated failing update.

Five stacked steps. An update starts and WordPress writes .maintenance with the start time. If the update finishes, it deletes the file. If the update is interrupted, the file stays. While it is under ten minutes old every request gets a 503 and the message. After ten minutes WordPress ignores it.
The file only sticks when the update is cut off before the cleanup. The ten-minute limit still ends it.

Which route to pick#

  • You have WP-CLI and SSH. Use wp maintenance-mode deactivate. I ran this on a test site and it removed the file at once.
  • You have SFTP or a file manager. Delete the .maintenance file by hand. The most common trouble is that hidden files are not shown.
  • You can do neither. Wait ten minutes. If the message is still there after that, clear any page cache, then ask your host to delete the file.

What may have gone wrong underneath#

Removing the file brings the site back, but it does not fix the interrupted update. Check:

  • Is the WordPress version what you expect? Dashboard → Updates shows it.
  • Are there plugins marked as needing a database update or showing a half-installed state?
  • Does the site load without errors in the front end and admin?

If an update died partway through, some files may be old and some new. Running the same update again usually replaces them all. For core, wp core verify-checksums compares your core files with the official ones and lists anything missing or changed.

If you want a maintenance page on purpose, the maintenance mode guide explains the difference. If the message is a server 503 and not this text, see 502 Bad Gateway.

Prevent it#

  • Run updates one at a time on a site that matters, and keep the browser tab open until you see the result.
  • Take a backup before updating. Updating plugins safely covers the order of steps.
  • Test updates on staging first when the site takes orders or logins.
  • On slow shared hosting, use WP-CLI for large updates, since it does not depend on a browser request staying alive.

If your site is down because of this error, nothing in a settings export or backup is needed. If a plugin update changed settings as well, see how to find and undo changed settings.

Sources

  1. WordPress core: wp_maintenance() · Reads .maintenance and sends the 503 reply
  2. WordPress core: load.php · wp_is_maintenance_mode() and the ten-minute check
  3. WP-CLI: wp maintenance-mode · activate, deactivate and status
  4. MDN: 503 Service Unavailable · What the status means and how Retry-After is used
  5. MDN: Retry-After · The header WordPress sends with the value 600
Newsletter

One email when something breaks or changes.

New plugins and re-tested guides, about twice a month. Never a sales pitch.