Install
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/wpconstructor/simple-maintenance-page/archive/refs/heads/main.zipWPConstructor Simple Maintenance Page

A simple WordPress plugin that displays a maintenance page to non-administrators when maintenance mode is enabled.
Features
- Simple maintenance mode: Enable or disable maintenance mode with a checkbox in the WordPress admin.
- Administrator access: Administrators can continue browsing the website normally.
- Visitor protection: Visitors who are not logged in see the maintenance page while maintenance mode is enabled.
- HTTP 503 status: Returns
503 Service Unavailablewith aRetry-Afterheader when displaying the maintenance page. - Responsive design: The maintenance page adapts to mobile and desktop screens.
- Lightweight: No external dependencies, JavaScript, or additional CSS files.
- WordPress settings: Uses the built-in WordPress Settings API.
Requirements
- WordPress 5.0 or later
- PHP 7.4 or later
Installation
Manual installation
- Download or clone this repository.
- Copy the
wpcn-simple-maintenance-pagedirectory into your WordPress installation'swp-content/plugins/directory. - Log in to your WordPress admin dashboard.
- Navigate to Plugins → Installed Plugins.
- Activate WPConstructor Simple Maintenance Page.
Usage
Enable maintenance mode
- Navigate to Settings → Simple Maintenance Page in your WordPress dashboard.
- Select Enable maintenance mode.
- Click Save Changes.
Maintenance mode is now enabled.
Disable maintenance mode
- Navigate to Settings → Simple Maintenance Page.
- Clear the Enable maintenance mode checkbox.
- Click Save Changes.
Your website will return to normal operation for visitors.
Maintenance page
When maintenance mode is enabled, visitors see a simple page displaying:
We'll Be Back Soon!
Our website is currently undergoing maintenance. Please check back soon.
The page uses a minimal, responsive design and does not depend on your active WordPress theme.
Access and behavior
| User or request | Behavior |
|---|---|
Administrator with the manage_options capability |
Can browse the website normally |
Logged-in user without the manage_options capability |
Sees the maintenance page |
| Logged-out visitor | Sees the maintenance page |
| WordPress admin dashboard | Remains accessible |
| WordPress AJAX requests | Not blocked by the plugin |
| WordPress REST API requests | Not blocked by the plugin |
| WordPress cron requests | Not blocked by the plugin |
| Maintenance mode disabled | Website operates normally |
The maintenance page returns HTTP status 503 Service Unavailable and includes a Retry-After: 3600 header to indicate that the service may become available again in approximately one hour.
Configuration
Maintenance mode is controlled by the WordPress option:
wpcn_smp_enabled
The option is enabled when its value is truthy and disabled otherwise.
The settings page is available under Settings → Simple Maintenance Page and requires the manage_options capability.
Caching
If your website uses a caching plugin, reverse proxy, or content delivery network (CDN), cached pages may prevent visitors from seeing the maintenance page immediately.
Clear the relevant caches after enabling or disabling maintenance mode if necessary.
Limitations
- The maintenance page is intentionally simple and does not provide a visual editor.
- The plugin does not block access to the WordPress administration area.
- AJAX, REST API, and cron requests are excluded from maintenance handling.
- Users with the
manage_optionscapability can access the frontend normally. - The plugin does not automatically clear external caches.
License
WPConstructor Simple Maintenance Page is licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later).
See the LICENSE file for the complete license text.
Author
WPConstructor
Website: https://wpconstructor.com/
Support
For questions, bug reports, or suggestions, visit the issues page.