Introduction

A plugin can leave WordPress stuck in maintenance mode long after the original update should have finished. Visitors keep seeing a maintenance page, wp-admin becomes inaccessible, and the site looks offline even though the server itself is still running. This can happen after a failed update, a maintenance plugin misfire, or a permission problem that prevents WordPress from cleaning up properly. The fix is to determine whether the site is stuck in WordPress’s built-in update state or in a plugin-controlled maintenance workflow.

Symptoms

  • The site keeps showing a maintenance message and never returns to normal
  • wp-admin is inaccessible after a plugin update or configuration change
  • The issue started during an update, deploy, or maintenance plugin action
  • Some pages show normal content while others remain blocked
  • Removing browser cache does not change the maintenance page behavior

Common Causes

  • A plugin update failed and left WordPress in an unfinished maintenance state
  • A maintenance mode plugin is still forcing the maintenance page after the work ended
  • File permissions or ownership prevented WordPress from cleaning up update artifacts
  • A cache layer continues to serve an old maintenance response even after the site recovered
  • A plugin conflict retriggers maintenance logic on every request

Step-by-Step Fix

  1. Confirm whether the maintenance page comes from WordPress core, a maintenance plugin, or a cached response at the edge.
  2. Review recent plugin updates, installs, or maintenance actions to identify what changed immediately before the site became stuck.
  3. Check the WordPress filesystem and logs for evidence of an interrupted update or failed cleanup.
  4. Inspect active maintenance plugins or must-use plugins that may still be forcing a maintenance state intentionally.
  5. Verify file ownership and write access so WordPress can remove temporary update state and restore normal execution.
  6. Clear any CDN, server, or plugin caches that may still serve a stale maintenance page after the underlying problem is fixed.
  7. Disable the responsible maintenance plugin or complete the interrupted plugin update if the site remains blocked.
  8. Re-test both the public site and wp-admin after the change so you can confirm the maintenance state is truly gone.
  9. Keep update procedures, plugin maintenance controls, and cache-clearing steps documented so future maintenance windows do not turn into avoidable outages.