The “Briefly unavailable for scheduled maintenance. Check back in a minute.” message that signals WordPress stuck in maintenance mode is a problem that looks worse than it is and resolves faster than almost any other WordPress issue — once you know what to do. WordPress enters maintenance mode deliberately at the start of every update to prevent visitors from accessing a site whose files are mid-replacement. The mode is supposed to last 30 seconds to two minutes. When WordPress stuck in maintenance mode persists beyond that window, the update process stopped without completing, and the file that holds WordPress in maintenance mode was left behind. The site is typically fine — the issue is a single hidden file that needs to be deleted. This guide covers the safe, complete process for resolving WordPress stuck in maintenance mode including FTP, the hosting file manager, the edge cases where the problem runs deeper, and the prevention habits that stop it from recurring. If you want the full context, see our Complete Guide to WordPress How.
Understanding When WordPress Stuck in Maintenance Mode Is a Real Problem
Not every maintenance mode message requires action — but knowing the difference between normal maintenance mode and WordPress stuck in maintenance mode prevents unnecessary intervention. A WordPress site in active maintenance mode during a live update should clear itself automatically within two minutes. If the maintenance message is still showing after five minutes, it is safe to classify the situation as WordPress stuck in maintenance mode rather than an update still in progress.
The sequence that leads to WordPress stuck in maintenance mode: WordPress creates a file named .maintenance in the WordPress root directory at the start of every update. This file contains a PHP array with the timestamp of when maintenance began. WordPress checks for this file on every request — while it exists, every visitor sees the maintenance message. WordPress removes the file automatically when an update completes successfully. When an update fails, times out, is interrupted, or encounters an error mid-process, the file is left in place and WordPress stuck in maintenance mode is the result.
The most common triggers for WordPress stuck in maintenance mode are predictable: a PHP timeout during a large update package download on slow shared hosting, a browser tab being closed mid-update, a plugin fatal error occurring during the update process, a network interruption cutting the connection to WordPress.org download servers, or — less commonly — a manual update being interrupted. Once any of these interrupts the update sequence, the .maintenance file stays put and the site stays in maintenance mode until manually resolved. The key insight is that WordPress stuck in maintenance mode almost never indicates the site itself is damaged — it is nearly always just the maintenance file persisting after a failed update.
The Safe Step-by-Step Fix for WordPress Stuck in Maintenance Mode
Resolving WordPress stuck in maintenance mode through FTP is the most direct and reliable method. The process requires only one action — deleting a single hidden file — but the hidden file aspect trips up many site owners who cannot find it because their FTP client is not configured to show dot files.
- Open your FTP client (FileZilla is the most commonly used free option) and connect to the server using the FTP credentials from your hosting account. These are found in cPanel → FTP Accounts.
- Before browsing the files, enable hidden file visibility. In FileZilla: go to Server → Force showing hidden files. This is critical — the .maintenance file starts with a dot, making it invisible to FTP clients that have not been configured to show hidden files. Without this step, the file simply does not appear in the listing.
- Navigate to the WordPress root directory — the same directory that contains wp-login.php, wp-config.php, and the wp-content folder.
- Look for a file named exactly
.maintenancein this directory. It will be a small file — typically under 100 bytes — with a recent timestamp matching when the failed update began. - Right-click the
.maintenancefile and select Delete. Confirm the deletion when prompted. - Open a fresh browser tab (not a cached page — use Ctrl+Shift+R to force a fresh load or open incognito) and navigate to the site’s front page.
- The WordPress stuck in maintenance mode message should be gone and the site should load normally.
- Log in to the WordPress admin panel and navigate to Dashboard → Updates. Check the status of the update that was interrupted — if it shows as incomplete, run it again to ensure the site is running a complete version of the updated plugin, theme, or core.
The entire process from opening FileZilla to confirming the site is back online typically takes under three minutes when the cause is the maintenance file. The most common reason site owners take longer is not enabling hidden files visibility in their FTP client — if the file does not appear after navigating to the WordPress root, double-check that hidden files are visible before assuming the file is absent.
Fix WordPress Stuck in Maintenance Mode Without FTP — Hosting File Manager
Not every site owner has FTP configured or an FTP client installed. The hosting control panel’s file manager provides identical capability to FTP for resolving WordPress stuck in maintenance mode — same file operations, accessed entirely through the browser without any additional software.
Log in to cPanel and click File Manager from the main dashboard or the Files section. In the file manager, navigate to the WordPress root directory — for most single-domain cPanel hosting, this is the public_html directory. Before looking for the maintenance file, configure the file manager to show hidden files: click Settings in the top-right corner of the cPanel File Manager and check “Show Hidden Files (dotfiles).” Click Save. The file manager reloads and now displays hidden files including .maintenance if it is present.
Locate the .maintenance file in the WordPress root. Click it once to select it, then click Delete in the top toolbar, or right-click → Delete. Confirm the deletion. Return to the site’s front end in a new browser tab — the WordPress stuck in maintenance mode message should have cleared. On managed WordPress hosting platforms (Kinsta, WP Engine, Cloudways, Flywheel), the file manager is accessed through the hosting dashboard rather than cPanel. The process is equivalent: navigate to the WordPress root in the file manager, enable hidden file visibility if required, and delete .maintenance. Most managed host dashboards show hidden files by default, making this step even faster than the cPanel equivalent for resolving WordPress stuck in maintenance mode.
When WordPress Stuck in Maintenance Mode Means an Incomplete Update
Deleting the .maintenance file resolves the visitor-facing symptom of WordPress stuck in maintenance mode immediately, but it is worth checking whether the underlying update completed correctly or left the installation in a partially updated state. A partial update — where some files from the new version were written before the process was interrupted — can produce subtle incompatibilities that do not appear immediately but surface later as plugin conflicts or unexpected behaviour.
After resolving WordPress stuck in maintenance mode, navigate to Dashboard → Updates in the WordPress admin. Check whether any updates still show as pending or as failed. If the WordPress core version shown does not match the latest available version, the core update did not complete — run it again. For plugin and theme updates that were interrupted, the safest approach is to deactivate and delete the affected plugin, then reinstall it fresh from the WordPress Plugin Directory. A fresh reinstallation guarantees a clean, complete version of the plugin rather than a partial update that may be missing files from the update package.
For WordPress core updates that left the installation in a mixed state, a manual core file replacement is the most reliable recovery. Download the current version of WordPress from wordpress.org, extract the archive, and upload the wp-admin and wp-includes directories to the server via FTP, overwriting the existing versions. Leave wp-content and wp-config.php untouched. This ensures every core file is from a complete, clean version rather than a mix of old and new files left by the interrupted update that caused WordPress stuck in maintenance mode.
Plugin-Caused WordPress Stuck in Maintenance Mode Scenarios
A specific category of WordPress stuck in maintenance mode that does not resolve by deleting the .maintenance file is caused by a plugin that intentionally maintains maintenance mode — a coming-soon plugin, an under-construction plugin, or a plugin with a built-in maintenance toggle. When the .maintenance file is deleted but maintenance mode returns within seconds or minutes, a plugin is recreating it rather than the file being left over from a failed update.
This scenario is diagnosable by its behaviour: delete the .maintenance file, note that maintenance mode disappears briefly, then check again after 30–60 seconds. If maintenance mode returns without any update being in progress, a plugin is responsible. Identifying which plugin by:
- Looking for any installed coming-soon, maintenance mode, under-construction, or landing page plugin in the WordPress admin Plugins list
- Checking whether any of these plugins have a toggle in their settings that is currently set to “Maintenance Mode On” or “Coming Soon Mode Active”
- If the WordPress admin is accessible (the maintenance mode may only affect the front end), navigating to each suspect plugin’s settings and disabling maintenance mode within the plugin’s own controls — this is the correct fix rather than deleting the file, which the plugin will just recreate
- If the WordPress admin is also affected, deactivating plugins via FTP by renaming the plugins folder, then identifying the responsible plugin by reactivating one at a time
Safely Preventing WordPress From Getting Stuck in Maintenance Mode
The conditions that produce WordPress stuck in maintenance mode are predictable and largely preventable with the right maintenance habits. The preventive measures are the same ones that make WordPress updates reliable in general — they address the underlying causes of update failures rather than the maintenance mode symptom specifically.
Taking a full site backup immediately before running any update is the most important single practice. A backup does not prevent WordPress stuck in maintenance mode, but it means that if an update fails and leaves the installation in a damaged state, restoration to a clean pre-update state is fast rather than complicated. The second most important practice is running updates during low-traffic periods — slow server response during peak load extends update execution time, increasing the risk of a PHP timeout mid-update that triggers maintenance mode failure. Ensuring the PHP execution time limit is adequate for updates by confirming it is at least 120 seconds (check Tools → Site Health → Info → PHP) reduces timeout-caused maintenance mode failures. Testing major updates — WordPress core version updates and complex plugin updates — on a staging environment before applying to production catches fatal errors that would interrupt the update process and leave the live site in WordPress stuck in maintenance mode.
Our guide on the WordPress stuck in maintenance mode error guide covers the error in Fixes and Errors context — complementary to this How-To guide with more detail on identifying whether a plugin or an interrupted update is the root cause. Our guide on how to safely update WordPress covers the full update workflow that prevents the interruptions that most commonly cause WordPress stuck in maintenance mode. The WordPress documentation covers the maintenance mode mechanism in the core update documentation — the technical explanation of when and why WordPress creates and removes the .maintenance file during the update process. Our guide on How to Fix WordPress Redirect Loop Safely With Proven Recovery Steps covers an adjacent issue.







