WordPress stuck in maintenance mode is one of the easiest problems to fix. It usually happens when an update is interrupted and WordPress leaves a temporary file behind. Visitors keep seeing the maintenance screen even though the update never finished cleanly.
The fix is usually just to remove that file and refresh the site. In many cases, the homepage comes back instantly. If the update stopped halfway through, you can then re-run it from the dashboard after the site is reachable again.
This problem looks urgent, but it is often a quick cleanup job. The main thing is to stay focused on the one file that controls the maintenance state instead of digging around in unrelated folders.
If you are using a managed host, staging helps here too. A safer update flow means a lower chance of getting trapped in the first place.
What Usually Causes It
Maintenance mode gets stuck when WordPress starts an update for a plugin, theme, or core file and then loses the process before it finishes. A browser close, a timeout, or a server hiccup can leave the temporary maintenance file in place.
Once that file exists, WordPress keeps showing the maintenance message. Deleting the file removes the lock and lets the site load normally again.
The important thing to remember is that the site is usually not broken in a deep way. The update process just did not get to the end, so WordPress never cleared the temporary flag.
Step-by-Step Fix
Step 1: Connect to your site through FTP or a file manager
Log in using FTP or the file manager provided by your host. You need direct file access because the dashboard may be unavailable while the site is stuck. Keep the process simple and avoid touching anything besides the maintenance file.
If your file manager has a hidden files toggle, turn it on now. The maintenance file is hidden by default on many systems, so you will not see it unless hidden files are visible.
Use FTP or the host file manager to access the site files directly.
Step 2: Open the WordPress root directory
Go to the main directory where WordPress is installed. This is the root folder for the site, the place that contains the top-level WordPress files and folders. Do not wander into plugin or theme subfolders looking for the fix.
If the site has more than one install, double check that you are in the live site root and not a staging copy or backup folder. Deleting the file from the wrong place will not solve the live problem.
/public_html
Step 3: Delete the .maintenance file
Find the temporary maintenance file and delete it. That file is the switch that keeps the site locked in maintenance mode. Once it is gone, the site usually returns immediately.
If the file is not visible, make sure hidden files are enabled in your FTP client or file manager. The dot at the start of the filename often makes it invisible until hidden files are shown.
This is the key step, so take a second to confirm the filename before you delete it. The fix is simple, but precision still matters.
/public_html/.maintenance
Do not delete random files. The fix is usually one file, one delete, one reload.
Step 4: Reload the site
After removing the file, reload the site in your browser. In most cases the homepage and dashboard come back right away. If the old screen still shows up, clear your cache and try again so you are not seeing a stale copy.
If you use a CDN or server cache, purge that too. Sometimes the file is gone but the cached maintenance page is still being served for a few minutes.
Refresh the browser and clear any page cache if the old screen still appears.
Step 5: Re-run the interrupted update if needed
If the update was cut off in the middle, go back to the dashboard and finish it cleanly. That makes sure the plugin, theme, or core package is fully installed and ready to use before you move on.
After the update completes, check the site one more time and confirm both the front end and the admin area are reachable. That closes the loop and makes sure the temporary state is truly gone.
Resume the update from the dashboard after the site is accessible again.
If It Still Looks Stuck
If the site still shows maintenance mode after you delete the file, check for a second site copy, stale cache, or a permissions issue that prevents the delete from sticking. A hidden copy of the file in a different root can also keep the wrong install locked.
You can also check whether the update process is still running in the background. If it is, wait for it to finish or ask your host to confirm there is no server-side lock left behind. Most of the time, though, the file delete is the whole fix.
If a plugin update failed repeatedly, consider updating that plugin manually from a fresh package or disabling it until you can confirm it is compatible with the current site version.
How to Prevent It Next Time
You can avoid this problem most of the time by letting updates finish, keeping the browser open until the process ends, and using staging for bigger change windows. The fewer interruptions you create, the less often the temporary file gets stuck.
- Never close the browser while WordPress is updating.
- Avoid stacking many updates at once on the live site.
- Use staging for larger plugin, theme, or core updates.
- Keep backups ready before update windows.
- Check the site after each update batch so you catch problems early.
Common Mistakes
This fix is simple, but it is still easy to overthink. Stay in the root directory and remove the maintenance file only.
If the site is under a CDN or aggressive cache, remember that the browser can lie for a minute or two. Clear the cache before assuming the fix failed.
- Editing random files instead of deleting the maintenance file.
- Forgetting to look in the root directory.
- Leaving stale cache in place after the file is removed.
- Assuming the update failed because of a major outage.
- Skipping staging for large updates.
FAQ
What is the .maintenance file?
It is a temporary file WordPress uses during updates to tell the site to display a maintenance message. When the update finishes, WordPress normally removes it automatically.
Will deleting it break my site?
No. In this case it is the correct fix because the file is only meant to be temporary. Deleting it simply clears the lock that is keeping the site offline.
What if the message comes back?
Clear cache, confirm the file is gone, and then check whether the interrupted update needs to be completed. If the file reappears, something is still interrupting the update flow.
Do I need the dashboard to fix this?
No. FTP or a file manager is enough, which is why this is such a quick recovery. The dashboard can stay down while you handle the cleanup.
Should I use staging for updates?
Yes, especially for bigger changes. It lowers the chance of getting stuck again and gives you a safer place to test. Staging is the easiest prevention step here.
Final Thoughts
Maintenance mode is usually a cleanup job, not a deep repair. Find the file, delete it, refresh the site, and then finish any interrupted update if needed.
If you use staging for major updates, you will see this problem a lot less often and the recovery will stay boring, which is exactly what you want. That is the best kind of WordPress troubleshooting.


This is such a quick fix once you know about it. I was completely panicking the first time it happened and nearly called a developer. Deleting one file and the site was back. Wish someone had told me about this earlier.
This saved me. My site was stuck for two days and I had no idea that deleting that one file would fix it. Thank you.
Is the .maintenance file visible in the file manager by default or do you need to enable hidden files to see it? I am using cPanel and cannot find it.
You need to show hidden files in cPanel. Look for the Settings button in the top right of the File Manager and check the box for Show Hidden Files. The .maintenance file will appear in your root directory after that.
Glad it got you sorted, Chiara. It is a surprisingly common one and the fix is so simple once you know what to look for. Hope your site is running smoothly now.
Exactly right Danielle. And Kwame, if you are on Kinsta the File Manager is under the site tools in MyKinsta and hidden files are shown by default, so you will spot it straight away. On any host, if you have FTP access, hidden files starting with a dot are usually visible once you enable the setting in your FTP client too.