Website Errors

How to Fix the WordPress Briefly Unavailable for Scheduled Maintenance Error

Briefly unavailable for scheduled maintenancePlain English: WordPress is telling visitors the site is mid-update — but the update got interrupted and never finished, so the message is stuck on for everyone.
Quick answer: The message is WordPress's maintenance-mode notice, shown while core, theme, or plugin updates run. It should vanish in seconds — if it doesn't, the update was interrupted and left a file called .maintenance stranded in your site root. Delete that file with FTP or your host's file manager, purge every cache, and then rerun the stuck update from Dashboard > Updates. The full steps are below.

What "Briefly unavailable for scheduled maintenance" means

You open your WordPress site and instead of your homepage you get a short, almost apologetic sentence: "Briefly unavailable for scheduled maintenance. Check back in a minute." It looks calm, but when it's still there an hour later, it stops feeling brief. The good news is that this is not an error code from your host, and nothing is broken in the usual sense — it is WordPress doing exactly what it was programmed to do. Every time WordPress updates itself, a theme, or a plugin, it drops a tiny file called .maintenance into your site root, and while that file exists, every visitor sees the maintenance message. When the update completes, WordPress deletes the file and the site reappears.

The trouble starts when the update doesn't complete. A PHP timeout on cheap shared hosting, a browser tab closed mid-update, two updates (one automatic, one manual) colliding over the same files, or the server running out of memory — any of these can stop the update before WordPress gets around to deleting .maintenance. And because the file is only removed at the end of a successful update, the stranded file freezes the maintenance message in place. The site is fine underneath; it's just wearing an "under construction" sign nobody took down. This is one of the most common WordPress incidents precisely because it happens on its own, often overnight during automatic updates, and it blocks every page including wp-admin until someone removes the file.

Common causes

How to fix "Briefly unavailable for scheduled maintenance" — step by step

Work through these in order. Stop as soon as the site reappears — whatever step fixed it told you what went wrong.

  1. Wait 10 minutes before touching anything. WordPress shows this message during every core, plugin, or theme update — normally it disappears in seconds. The .maintenance file is created at the start of the update and deleted when it finishes, so a brief flash of the message is harmless and not an error. If you know an update is running in wp-admin right now, do not interrupt it. Wait at least 10 minutes, then check the site in a private or incognito window (your browser may be showing a cached copy). If the message is gone, nothing was ever wrong.
  2. Delete the .maintenance file over FTP or file manager. If the message persists past 10 minutes, an interrupted update almost certainly left the .maintenance file behind in your site root. Connect with FTP or your host's file manager, enable "show hidden files" (files starting with a dot are hidden by default), and look for .maintenance in the same folder as wp-config.php and wp-admin. Just delete it — nothing else needs to change — then reload the site. In most cases the site comes straight back, and no admin access is needed for this step.
  3. Clear every cache layer. After deleting the file, some visitors still see the message because a cache captured the maintenance page. Purge your caching plugin's cache from wp-admin (you should be able to log in now), clear your host's server-side cache from the control panel, and purge the Cloudflare cache under Caching > Configuration > Purge Everything if Cloudflare is active. Then hard-refresh with Ctrl+Shift+R (Windows) or Cmd+Shift+R (Mac) and test in an incognito window before concluding anything else.
  4. Rerun the stuck update from wp-admin/upgrade.php. Deleting .maintenance gets the site back, but the interrupted update itself may be half-applied. Log into wp-admin and go to Dashboard > Updates, and install whatever it lists — core, plugin, or theme. If WordPress offers it, visit yoursite.com/wp-admin/upgrade.php to rerun the database upgrade step that timed out. One clean rerun usually finishes what the interrupted attempt could not, and it recreates and removes the maintenance file properly this time.
  5. Raise the PHP timeout and memory limits. If the message keeps returning after updates, your updates are timing out rather than failing outright. Ask your host to raise the PHP max_execution_time (300 seconds is comfortable) and the PHP memory limit (256M), or change them in your host's PHP settings panel. Also avoid triggering a manual update while an automatic one is running — two updaters fighting over the same files is a classic way to strand the .maintenance file.
  6. Restore from backup if the update left damage. If the interrupted update left real damage — half-updated plugin files, or a dashboard full of errors — do not patch files one by one. Restore the pre-update backup your host or backup plugin made (most hosts keep at least one automatic backup), then redo the updates one at a time: core first, then the theme, then plugins, testing between each. Once the site is stable, keep automatic updates enabled for minor releases — they run one at a time and rarely strand the maintenance file.

Did this fix it? Quick checklist

If the message clears but your site behaves oddly afterward — missing styles, plugin settings reset, admin notices about failed updates — the update was cut off mid-file-copy and something only half-installed. That's the moment to use the backup path in step 6 rather than keep tinkering: a clean restore followed by one-at-a-time updates takes less time than hunting half-replaced files. And once everything is stable, schedule big updates for low-traffic hours and check the site 15 minutes after any automatic update, so a stranded maintenance file never sits for hours again.

Frequently asked questions

What does “Briefly unavailable for scheduled maintenance” mean?

It is WordPress's built-in maintenance notice, not an error from your host. Whenever WordPress updates core, a theme, or a plugin, it creates a temporary file called .maintenance in your site root, and every visitor sees this message until the update finishes and WordPress deletes the file. Normally it is visible for only a few seconds. Seeing it for minutes or hours means an update started but never finished deleting the file.

Why is my WordPress site stuck in maintenance mode for hours?

The update that put the site in maintenance mode was interrupted — a PHP timeout, a browser tab closed mid-update, two updates colliding, or the server running out of memory. The .maintenance file is only removed when the update completes, so anything that stops the update early strands the file and freezes the message in place. Deleting .maintenance over FTP or your host's file manager clears the message immediately.

Is it safe to delete the .maintenance file?

Yes. The .maintenance file is a single temporary flag file, not part of WordPress itself — it contains one line telling WordPress to show the maintenance message. Deleting it does not change your content, database, settings, or installed files. It is the documented way to clear a stuck maintenance screen, and WordPress recreates the file automatically the next time an update runs.

I deleted .maintenance but still see the message — why?

A cached copy of the maintenance page is the usual cause. Purge your caching plugin, your host's server-side cache, and the Cloudflare cache if you use it, then hard-refresh (Ctrl+Shift+R) or check in an incognito window. If the message still appears after every cache is purged, log into wp-admin and visit /wp-admin/upgrade.php — the database upgrade may still be pending, and completing it clears the message for good.