WP Manifestindependent plugin directory
manifest / admin / better-maintenance-mode

Better Maintenance Mode

Lightweight, feature-rich Maintenance Mode plugin for WordPress with UX as a primary focus.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/oliverwestbrook/better-maintenance-mode/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

A lightweight WordPress maintenance-mode plugin. Flip one toggle and logged-out visitors get a clean, correct 503 "be right back" page while you work, while administrators always see the live site. It also handles cron-free scheduled starts, a "prepare for downtime" standby mode that eases live visitors through the switch, and live auto-reload the moment you're back online.

Status: preparing for submission to the WordPress.org plugin directory. Developed in the open here.

Features

  • One-click maintenance toggle — saves instantly over AJAX, no page reload.
  • Custom header / footer HTML and messages — fully brand the maintenance page (editable by administrators only).
  • Correct 503 + Retry-After — search engines treat the downtime as temporary rather than as a broken site.
  • Live auto-reload — visitors are returned to the live site automatically when you switch back, after a brief "back online" animation. No manual refresh.
  • Scheduled start, cron-free — maintenance state is computed on each request, so it doesn't depend on WP-Cron firing on a quiet site.
  • Prepare for downtime (standby mode) — logged-out visitors already browsing get a reassuring overlay the instant maintenance kicks in, then a smooth handoff to the maintenance page instead of an abrupt cut-off.
  • WooCommerce-aware — cart and checkout shoppers get a tailored standby note.
  • Test Mode — preview the whole flow (switch, schedule, standby) as a logged-in admin without affecting public visitors.
  • Light / dark admin UI, no build step, no external requests, no tracking.

Installation

Manual

  1. Clone or download this repository into wp-content/plugins/better-maintenance-mode/.
  2. Activate Better Maintenance Mode from the Plugins screen.
  3. Open Tools → Maintenance Mode and configure.

Once published it will also be installable from the WordPress.org plugin directory.

How it's built

A deliberately small, dependency-free plugin:

  • Schema-driven settings — every setting is declared in a single array (inc/settings-schema.php); a registry handles get / save / sanitize and renders per-type field partials, so adding a setting is a one-block edit.
  • Thin feature classes, all markup in templates — classes under inc/ register WordPress hooks; HTML lives in templates/.
  • Cron-free scheduling — bmm_is_enabled() computes maintenance state on each front-end request and status poll, so timing doesn't rely on WP-Cron.
  • REST + AJAX — a public, read-only /status endpoint powers the visitor auto-reload and the standby polling; admin toggles save over admin-ajax.
  • Vanilla JS/CSS — no build tooling; assets enqueue only on the pages that need them.
  • Internationalization-ready — text domain wired and translations auto-loaded.

Frequently asked

See the full FAQ in readme.txt (the WordPress.org listing copy).

License

GPL-2.0-or-later — the same license as WordPress.

Author

Oliver Westbrook — WildWestbrooks.com