WordPress Stuck in Maintenance Mode? How to Fix It Safely
Thinking of a free trial? Don’t miss this…
This is our only sale in the entire year. Full refunds too, lock your savings now!
You clicked update, the page spun for a while, and now your site is showing a maintenance message instead of your homepage. Worse, wp-admin may be showing the same thing. If your WordPress stuck in maintenance mode, the moment it started right after an update, it is usually not a broken site.
It is usually WordPress leaving a small update lock file behind. Maintenance for WordPress is normal during updates; problems only arise when the site gets trapped there.
TL;DR: Wait a few minutes if an update just started, then delete the hidden .maintenance file from your WordPress root folder using File Manager, FTP/SFTP, or SSH. If the message remains, clear caches and troubleshoot the failed plugin/theme update, maintenance plugin, server resources, or redirects.
The important thing is to fix the lock without making the failed update worse. Deleting the maintenance file can bring the site back, but it does not prove the plugin, theme, or core update finished properly.
So treat this as two jobs:
- Get the site out of maintenance mode.
- Find out whether the update that caused it still needs attention.
Check the Type of Maintenance Page
This step matters because there are two different problems that look similar.
WordPress has a built-in maintenance mode that appears during updates. It usually shows a plain message like:
Briefly unavailable for scheduled maintenance. Check back in a minute.
That default message usually points to the hidden .maintenance file in your WordPress root folder.
A designed maintenance page is different. If you see a branded page, a coming-soon layout, a countdown, a custom login redirect, or a page that still looks styled after the update failed, you may be dealing with a maintenance-mode plugin, theme setting, host page, redirect, or cache.
Here is the quick route:
| What you see | Most likely cause | Start with |
|---|---|---|
| Plain “Briefly unavailable…” message | WordPress update lock file | Delete .maintenance from the WordPress root |
| Branded maintenance or coming-soon page | Maintenance plugin, theme option, host setting, or cache | Disable the maintenance plugin or clear the page source |
Maintenance page after deleting .maintenance | Cache, failed update, redirect, wrong document root, or plugin issue | Clear caches and follow the deeper checks below |
.maintenance keeps returning | Auto-updates, server limits, cron/update failure, or compatibility issue | Check logs, update settings, resources, and failed components |
The mistake is assuming every maintenance page comes from the same place. The visible problem is one page. The hidden problem can be a file, a plugin, a cache layer, or an update process that keeps failing.
Ensure Any Ongoing Update Has Stopped
If you clicked update 30 seconds ago, wait a few minutes before deleting anything.
During plugin, theme, and core updates, WordPress temporarily creates a file named .maintenance. While that file exists, WordPress shows the default maintenance message. When the update completes, WordPress removes the file.
Most normal updates finish quickly. On a slower server, a large plugin update or a bulk update can take longer. Give it 5 to 10 minutes if the update has just started and the server still seems busy. Do not wait forever. If the same page is still there after several minutes, or if you know the browser tab closed, the connection dropped, or the update screen froze, move to the fix.
Choose the Safest Fix
You are not about to perform a complex repair. In most cases, you are deleting one temporary file. Still, this is production, and production has a habit of making simple things feel personal.
If you are not sure which folder is your WordPress site, stop and ask your host. The WordPress root is the folder that contains wp-admin, wp-content, wp-includes, and wp-config.php. On many hosts, that folder is named public_html, www, htdocs, or the domain name, but the folder name is less reliable than those WordPress landmarks.
Decision rule: if you cannot find wp-config.php, you are probably not in the right place yet.
Delete the .maintenance File
This is the fix for the default WordPress maintenance screen.
1) Use your hosting File Manager
For most site owners, File Manager is the easiest route because it works inside the hosting dashboard. Consider taking an on demand backup as a safety measure.
The file name starts with a dot, so many file managers hide it by default. This is the most common reason people think the file is missing.
2) Use FTP or SFTP
FTP/SFTP is useful if your hosting File Manager is limited or hard to use.
In FileZilla, Cyberduck, Transmit, and similar tools, hidden file visibility is usually a view or settings option. If you do not turn that on, .maintenance may exist while your client politely pretends it does not.
3) Use SSH
Use SSH only if you are comfortable in the terminal and know you are in the WordPress root directory.
From the WordPress root, run:
ls -la
rm .maintenance
The ls -la command matters because it shows hidden files and helps confirm your location. Before removing anything, you should see familiar WordPress items like wp-admin, wp-content, wp-includes, and wp-config.php.
For a technical user, this is the fastest fix. For everyone else, File Manager is less stressful.
What if the File Is Missing?
Do not jump straight to deleting plugins. Work through the these checks first.
1) Show Hidden Files
Because .maintenance starts with a dot, it is a hidden file on many systems. In File Manager, look for settings such as:
In FTP/SFTP tools, check the view or preferences menu. If you can see files like .htaccess, hidden files are probably visible. If you cannot see .htaccess on a typical Apache-based WordPress site, hidden files may still be off.
2) Check the Site Root
The correct folder contains:
If you are inside wp-content, you are too deep. If you are above several domain folders, you may be too high. If the host uses multiple document roots, the domain may point somewhere other than the folder you are checking.
3) Rule Out a Maintenance Plugin
If the page is branded or designed, stop treating it like the default WordPress update lock. Look for:
If wp-admin is inaccessible, disable the suspected maintenance plugin by renaming its folder under wp-content/plugins. For example, rename maintenance-plugin-name to maintenance-plugin-name-disabled. Then try wp-admin again.
Once you are in, restore the folder name and fix the plugin settings. If the plugin keeps locking out admins, check login-page exclusions, custom login URL settings, and cache exclusions.
4) Check Cache and Redirects
If there is no .maintenance file and no maintenance plugin explains the page, check whether a cache or redirect is serving the wrong thing.
Common culprits include:
This is less common than the hidden-file issue, but it is real. If the domain points to the wrong folder, deleting files in the right WordPress install will not change what visitors see.
Verification
Once the site loads again, the emergency feels over. It may not be.
Deleting .maintenance removes the lock. It does not repair an update that stopped halfway through. A plugin may still be on the old version, a theme update may have failed, or a core update may need to be rerun.
Check these immediately:
If the update is still pending, rerun it carefully. If you were updating many plugins at once, update one at a time now. Bulk updates are convenient until one component fails and you have to guess which one caused the lock.
For WooCommerce, membership sites, forms, LMS sites, or client sites, also test the pages that make the site useful. A homepage loading does not prove checkout, login, contact forms, or scheduled jobs survived the update.
Clear cache if the message remains. Cache can make a fixed site still look broken. After deleting .maintenance, clear your browser, plugin, server, and CDN caches, then test again in a private window or another network.
Often, the site is already back — you are just seeing a cached maintenance page.
If Deleting .maintenance Did Not Work
Now you are past the simple lock-file problem. The goal is to identify what failed without making the outage wider.
1) See if the File Returned
If the file reappears, something may still be trying to update. That could be automatic updates, a cron task, or a failed update loop.
Check recent automatic updates, your WordPress admin activity log, and server logs. If the same plugin or theme keeps appearing around the time the site locks, start there.
2) Disable the Suspected Plugin
If you know which plugin was updating when the site got stuck, disable that plugin by renaming its folder.
Example:
wp-content/plugins/example-plugin
wp-content/plugins/example-plugin-disabled
Then refresh the site and wp-admin. If the site works, the plugin update or compatibility issue is likely involved.
Do not delete the plugin folder unless you have a backup and know what data it stores. Renaming is reversible. Deleting turns a diagnosis into a cleanup project.
3) Test by Disabling All Plugins
If you do not know which plugin failed, you can temporarily rename the whole plugins folder:
wp-content/plugins
wp-content/plugins-disabled
Then create a new empty folder named plugins so WordPress has a plugins directory again. Try loading the site. If the site works, restore the original folder name and reactivate plugins one by one in wp-admin. This is slower, but it tells you which plugin broke the site.
This is not the first move because it disrupts every plugin at once. On a simple blog, that may be fine. On a store, membership site, or client site, it can temporarily disable payments, forms, logins, popups, analytics, and integrations.
4) Rule Out a Theme Problem
If the failed update was a theme update, rename the active theme folder under wp-content/themes. WordPress will try to fall back to another available theme. This works best when a default WordPress theme is installed.
If your site uses a custom theme, child theme, or page builder-heavy setup, be careful. A theme switch can make the site accessible but visually broken. That is still useful for diagnosis, but it is not a finished repair. If the update left the site accessible but damaged the layout, troubleshoot it as a theme update broke design issue after the maintenance lock is gone.
5) Check wp-content/upgrade
During updates, WordPress uses the wp-content/upgrade folder for temporary update files. Leftover files here can be a clue that an update failed.
Do not treat this folder as the main fix for every case. The main built-in maintenance lock is still .maintenance in the root. But if a plugin/theme update failed halfway through, wp-content/upgrade can help confirm that the update process did not clean up normally.
6) Check Server Limits
Some stuck updates are not plugin mysteries. They are resource problems. Check:
Increase PHP memory only when the symptoms point there, such as memory-related fatal errors in logs or repeated failures during large updates. Do not treat memory increases as a universal cure. If the plugin is incompatible, more memory only gives it more room to fail.
What Triggers This Issue?
The plain explanation is that WordPress started an update and did not finish the cleanup.
The more useful explanation is that updates have more moving parts than the maintenance screen shows. WordPress has to download a package, unpack it, replace files, update records, clean up temporary files, and remove the lock. If one part stalls, the site can be left wearing the maintenance sign after the work has stopped.
Common causes include:
This does not automatically mean the site was hacked. The default WordPress maintenance message is usually an update artifact, not a security warning.
Still, do not ignore strange behavior. If the page looks custom, suspicious, injected, or unrelated to an update, treat it as a different incident and escalate sooner.
If the failure happened around a PHP version change, test that separately in staging; PHP 8.4 WordPress staging is a useful model for separating version compatibility from a normal plugin-update problem.
Prevention
The real fix is not memorizing where .maintenance lives. The real fix is making updates less likely to fail silently.
Use these best practices for WordPress updates as your baseline:
The higher the stakes, the more careful your update process should be. A quick backup may be enough for a small brochure site, but for WooCommerce, membership, or client sites, production should not be where you discover an update broke something important.
This is where WPRemote helps. Once the site is back, it supports safer updates, staging, backups, and monitoring, so updates are not just a click-and-hope routine.
Decision rule: if a failed update would cost sales, leads, client trust, or a weekend, test and monitor it like it matters.
When You Need Expert Help
Escalation is not failure. It is good judgment when the problem has moved beyond the safe first steps.
Contact your host or developer if:
Ask the host to check server logs, disk space, file permissions, PHP memory, and whether the domain points to the correct document root. Those are concrete requests, and they usually get a better answer than “my site is stuck.”
If you need ongoing help after the outage, take time to hire freelancers who can explain access needs before they touch the site.
FAQs
How do I get WordPress out of maintenance mode?
If it is the default WordPress maintenance message, delete the hidden .maintenance file from the WordPress root folder. Then clear caches and verify the interrupted update.
Why can’t I see the .maintenance file?
Your File Manager or FTP/SFTP client may be hiding dotfiles. Enable hidden files, then check again. Also confirm you are in the correct WordPress root folder.
Can I fix maintenance mode without wp-admin?
Yes. Use your host’s File Manager, FTP/SFTP, SSH, or WP-CLI. The primary fix does not require wp-admin access.
How long should WordPress maintenance mode last?
Usually only a few seconds to a few minutes. If the site is still showing the maintenance message after 5 to 10 minutes, it is reasonable to investigate.
Is WordPress maintenance mode a sign that my site was hacked?
Usually no. The default “Briefly unavailable for scheduled maintenance” message is normally caused by an update lock file. If the page looks custom, suspicious, or unrelated to an update, escalate and check logs.
Final take
If WordPress is stuck on the default maintenance screen, start with the small fix: wait briefly, find the WordPress root, show hidden files, and delete .maintenance.
Then do the part people skip. Clear caches, verify the failed update, and test the pages that matter. The lock file is the visible problem. The interrupted update is the thing that can come back later if you ignore it.
Tags:
Share it:
You may also like
-
WordPress Maintenance Checklist
WordPress maintenance usually becomes urgent because something quiet stopped working. A plugin update sat untouched for a month. A backup ran every night, but nobody tested a restore. A contact…
-
WordPress Maintenance: What It Includes and How to Do It Right
Your WordPress site can look fine while a lot is quietly going wrong. A plugin update is waiting in the dashboard. A form still appears on the contact page, but…
-
WordPress Maintenance Mode: How to Enable It Safely
You are about to update a plugin, change a layout, fix checkout, or edit a form that visitors use. The work may only take a few minutes, but those few…
How do you manage your websites?
Managing multiple WordPress websites can be time consuming and error-prone. WP Remote will save you hours every day while providing you complete peace of mind.
Managing everything yourself
But it’s too time-consuming, complicated and stops you from achieving your full potential. You don’t want to put your clients’ sites at risk with inefficient management.
Putting together multiple tools
But these tools don’t work together seamlessly and end up costing you a lot more time and money.