KWL Maintenance Mode
A free, fully customizable maintenance / under-construction page plugin for WordPress. No paywalls, no locked templates — everything is customizable right from your WordPress dashboard.
by Ken Weill · github.com/kenweill/kwl-maintenance-mode · website
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/kenweill/kwl-maintenance-mode/archive/refs/heads/main.zip🔧 KWL Maintenance Mode — WordPress Plugin
A free, fully customizable maintenance / under-construction page plugin for WordPress. No paywalls, no locked templates — everything is customizable right from your WordPress dashboard.
✨ Features
- 🚦 One-click toggle — turn maintenance mode on or off instantly
- 🎨 Full color control — customize background, card, title, buttons, and progress bar colors
- ✏️ All text is editable — site name, tagline, ETA message, status badge, footer, and more
- 📊 Animated progress bar — set your completion percentage visually with a slider
- 🔗 Configurable contact links — support email, Facebook page, and a "Check status" button
- 🔐 Bypass by role — admins (and optionally editors) always see the real site
- 👁️ Live preview — preview the maintenance page without enabling it for visitors
- 🤖 SEO-friendly — sends a proper
503HTTP status withRetry-After, or200 OKfor Coming Soon mode - 📱 Fully responsive — looks great on mobile, tablet, and desktop
- ⚡ Lightweight — single PHP file, no bloat, zero external dependencies (no CDN, no web fonts)
- 🔒 WordPress.org compliant — passes Plugin Check with no errors
🖥️ Screenshots
Maintenance Page (Visitor View)
Clean, modern card design with animated progress bar, contact links, and your branding.
Admin Settings Panel
Tabbed settings page with toggle switch, color pickers, range slider, and preview button.
📦 Installation
Option A — Upload ZIP (recommended)
- Download the latest release ZIP from the Releases page
- In your WordPress admin go to Plugins → Add New → Upload Plugin
- Choose the ZIP file and click Install Now
- Click Activate Plugin
Option B — Manual
- Clone or download this repo
- Copy the
kwl-maintenancefolder into your site's/wp-content/plugins/directory - Activate from Plugins in your WordPress admin
⚙️ Configuration
After activating, go to Settings → KWL Maintenance in your WordPress admin.
Site Modes
| Mode | HTTP Status | SEO Behavior |
|---|---|---|
| Off | — | Plugin inactive, site is fully live |
| Coming Soon | 200 OK |
index, follow — search engines can index the page |
| Maintenance | 503 + Retry-After |
noindex, nofollow — signals a temporary outage |
Tabs
| Tab | What you can customize |
|---|---|
| General | Site mode, site name, page icon, progress bar percentage |
| Business Content | Tagline, ETA/status text, status badge, support note, footer text |
| Portfolio Content | Name badge, subheading, main message, ETA text, status badge, footer, custom link block |
| Colors | Per-template: background gradient, card color, title gradient, progress bar, button colors |
| Contact Links | Support email, Facebook page URL, show/hide each link |
| Access & SEO | Role bypass (admins/editors), robots meta tag (set automatically by mode) |
Preview Without Going Live
Click the 👁 Preview Page button in the settings to see exactly what visitors will see — without enabling maintenance mode for everyone.
🔐 Who Can Bypass?
By default, logged-in Administrators always see the live site, not the maintenance page. You can also optionally allow Editors to bypass.
Everyone else — guests and lower-role users — will see the maintenance page when it's active.
🗂️ File Structure
kwl-maintenance-mode/
├── kwl-maintenance.php # Main plugin file (all logic + front-end templates)
└── readme.txt # WordPress.org readme format
🤝 Contributing
Contributions, issues, and feature requests are welcome!
- Fork the repo
- Create a feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/my-feature) - Open a Pull Request
📄 License
Distributed under the GPL-2.0+ license. See LICENSE for more information.
This license is required for WordPress plugins and means anyone can use, modify, and distribute this plugin freely — as long as they keep the same license.
📋 Changelog
See CHANGELOG.md for full version history.
Built with ❤️ as a free alternative to paid maintenance page plugins. No locked templates, no upsells — just a clean, customizable page that works.