WordPress maintenance mode locks out admins—here’s why

shallow focus photography of stainless steel padlock

Written by

in

The newsletter for newsletter operators

Daily field notes on deliverability, AI tools, hosting, and monetisation. No "top 10 plugins" filler — real tools, real numbers, real failures.

WordPress maintenance mode locks out admins—here's why
Photo by Mike Szczepanski on Unsplash

You activate a WordPress plugin update, see the “briefly unavailable for scheduled maintenance” message, and refresh a minute later expecting your dashboard. Instead, you’re staring at a blank maintenance page—with no login link, no bypass, and no way back in.

This isn’t a hypothetical edge case. Maintenance mode lockouts happen when a plugin update stalls, a server timeout interrupts file writes, or a third-party maintenance plugin misconfigures its access rules. The site enters maintenance mode, but the cleanup script that’s supposed to disable it never runs.

Here’s what actually happens, when you’re at risk, and how to fix it without SSH or panic.

What triggers WordPress maintenance mode

WordPress core uses a file called .maintenance in your site’s root directory to signal that updates are in progress. When you trigger a plugin or theme update from the dashboard, WordPress writes this file, runs the update, then deletes the file. The entire process usually takes 10–30 seconds.

If something interrupts that flow—a PHP timeout, a failed database query, a hosting firewall rule that kills long-running requests—the .maintenance file stays in place. WordPress reads it on every page load and shows the maintenance message instead of your site.

Crucially, this affects admin URLs too. The maintenance check happens before WordPress loads wp-admin, so even /wp-login.php returns the same generic holding page. No login form. No dashboard. No escape hatch.

When third-party maintenance plugins make it worse

Plugins like WP Maintenance Mode and Coming Soon Page add their own maintenance layers. They write database options or create custom .maintenance files with extended logic. Some let you whitelist IP addresses or set a bypass secret; others don’t.

The problem: if you activate one of these plugins and misconfigure the access rules—or if the plugin conflicts with a caching layer—you can lock yourself out without triggering a core WordPress update at all. The plugin’s maintenance screen overrides everything, including admin access, and you’re left guessing which file or database row is responsible.

How to recover access in under five minutes

If you’re locked out, you need file-level access. Most shared hosting control panels (cPanel, Plesk, Flywheel, BigScoots) include a file manager. Open it, navigate to your WordPress root directory (usually public_html or www), and look for .maintenance. Delete it. Refresh your site. You’re back in.

If the lockout persists, a plugin is holding the maintenance state. Connect via SFTP or file manager and rename the plugin’s folder inside /wp-content/plugins/. WordPress will deactivate it automatically. If you don’t know which plugin caused it, rename the entire plugins folder to plugins-off, log back in, then rename it back and reactivate plugins one at a time.

For sites using object caching (Redis, Memcached), flush the cache from your hosting dashboard or via WP-CLI. Cached maintenance flags sometimes outlive the .maintenance file itself.

One non-obvious tip: set a cron failsafe

If you run a solo site or small team operation, add a cron job that deletes .maintenance files older than five minutes. Most hosting control panels let you schedule shell commands. A one-liner like find /path/to/wordpress -name .maintenance -mmin +5 -delete prevents lockouts from becoming multi-hour emergencies.

For managed WordPress hosts that don’t expose cron directly, some monitoring services (like UptimeRobot or Oh Dear) can trigger webhook alerts when your site returns a maintenance header for longer than expected. You won’t auto-recover, but you’ll know within minutes instead of discovering it when a reader emails you.

Maintenance mode is a necessary safety mechanism, but it’s designed for automated workflows—not manual bailouts. The faster you recognize a lockout, the less downtime you’ll eat.

Want more WordPress infrastructure breakdowns? Reply with the hosting gotcha that cost you the most downtime—we’ll cover it in a future issue.

The newsletter for newsletter operators

Daily field notes on deliverability, AI tools, hosting, and monetisation. No "top 10 plugins" filler — real tools, real numbers, real failures.

Other newsletters you might like

Love Spain

Love Spain — in your inbox. Iconic cities, hidden pueblos and the best places to visit in Spain. One short email, every day.

Subscribe

My Local Dublin

The Dublin you don't see from a tour bus — local stories, hidden gems, food, events and the best of the city, by locals for locals.

Subscribe

Springbokfans

The best Springbok updates, straight to your inbox. Only when something worth reading actually happens.

Subscribe

Irish Rugby Fans

The best Irish rugby updates, straight to your inbox — Six Nations, the Nations Championship and the provinces. Only when there's something worth reading.

Subscribe

Newsletters via the One Two Three Send network.  ·  Want your newsletter featured here? Click here