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.

by Oliver Westbrook · github.com/oliverwestbrook/better-maintenance-mode

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/oliverwestbrook/better-maintenance-mode/archive/refs/heads/main.zip

Readme

Better Maintenance Mode

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 schedulingbmm_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 WestbrookWildWestbrooks.com

Read the full README on GitHub →