Title: Pavel Silinskii Maintenance Mode
Author: pavelsilinskii
Published: <strong>November 5, 2026</strong>
Last modified: November 5, 2026

---

Search plugins

![](https://ps.w.org/pavel-silinskii-maintenance-mode/assets/icon-256x256.png?rev
=3786370)

# Pavel Silinskii Maintenance Mode

 By [pavelsilinskii](https://profiles.wordpress.org/pavelsilinskii/)

[Download](https://downloads.wordpress.org/plugin/pavel-silinskii-maintenance-mode.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/pavel-silinskii-maintenance-mode/#description)
 * [Reviews](https://wordpress.org/plugins/pavel-silinskii-maintenance-mode/#reviews)
 *  [Installation](https://wordpress.org/plugins/pavel-silinskii-maintenance-mode/#installation)
 * [Development](https://wordpress.org/plugins/pavel-silinskii-maintenance-mode/#developers)

 [Support](https://wordpress.org/support/plugin/pavel-silinskii-maintenance-mode/)

## Description

Pavel Silinskii Maintenance Mode is built for developers and agencies who deploy
WordPress sites from scripts and CI/CD pipelines.

Wrap your deploy in two commands:

    ```
    wp psmm on --for=15m
    # git pull, composer install, wp core update-db ...
    wp psmm off
    ```

If the deploy script fails halfway, the site comes back by itself when the timeout
ends — no more sites left in maintenance overnight.

Why not core `wp maintenance-mode`? Core’s mode locks out everyone, administrators
included, shows a plain “Briefly unavailable” message, and has a fixed 10-minute
window. This plugin:

 * Serves a branded page with HTTP 503 and a Retry-After header matching your timeout
 * Keeps the site available to administrators, chosen roles, whitelisted IPs and
   bypass-link holders, so you can check the deploy before visitors do
 * Lets you choose the timeout per deploy: 90s, 15m, 2h, 1h30m
 * Never blocks wp-admin, login, the REST API, AJAX, cron or WP-CLI itself

WP-CLI commands:

 * `wp psmm on [--for=<duration>]` — enable, optionally with an automatic timeout
 * `wp psmm off` — disable
 * `wp psmm status [--format=table|json|yaml]` — state, end time and bypass link
 * `wp psmm is-active` — exit code 0 when active, 1 otherwise, for use in scripts

Also works without the command line, from Settings  Maintenance Mode:

 * Expected end date with a live countdown and optional auto-disable
 * Customizable title, message, logo, background and text colors
 * Secret bypass link for clients and testers (valid for 7 days, revocable)
 * Preview button and a red “Maintenance Mode: ON” admin bar indicator
 * Theme override via psmm-maintenance.php
 * No external scripts — no CDN, no tracking

## Installation

 1. Upload plugin files to /wp-content/plugins/pavel-silinskii-maintenance-mode/
 2. Activate through the Plugins screen.
 3. Go to Settings  Maintenance Mode to customize the page.
 4. Enable maintenance mode there, or run `wp psmm on --for=15m` from your deploy script.

## FAQ

### What happens if my deploy script fails before `wp psmm off`?

With `--for`, maintenance mode turns off by itself when the timeout ends. Without
it, the mode stays on until you turn it off.

### Will maintenance mode hurt my SEO?

No. The page is served with HTTP status 503 and a Retry-After header, which tells
search engines the outage is temporary and when to come back.

### I enabled maintenance mode but I still see my site.

Administrators always see the live site. Use the “Preview maintenance page” button
or open the site in a private window.

### Visitors still see the live site.

A page cache (plugin, server or CDN) may be serving cached pages. Purge the cache
after enabling maintenance mode.

### How do I give a client access without an account?

Copy the secret bypass link from the Access section, or run `wp psmm status`. Clear
the key and save to revoke all shared links.

### Can I use my own template?

Yes. Copy templates/maintenance.php to your theme as psmm-maintenance.php, or use
the psmm_template filter.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Pavel Silinskii Maintenance Mode” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ pavelsilinskii ](https://profiles.wordpress.org/pavelsilinskii/)

[Translate “Pavel Silinskii Maintenance Mode” into your language.](https://translate.wordpress.org/projects/wp-plugins/pavel-silinskii-maintenance-mode)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/pavel-silinskii-maintenance-mode/),
check out the [SVN repository](https://plugins.svn.wordpress.org/pavel-silinskii-maintenance-mode/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/pavel-silinskii-maintenance-mode/)
by [RSS](https://plugins.trac.wordpress.org/log/pavel-silinskii-maintenance-mode/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release

## Meta

 *  Version **1.0.0**
 *  Last updated **11 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.9 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [503](https://wordpress.org/plugins/tags/503/)[deployment](https://wordpress.org/plugins/tags/deployment/)
   [maintenance](https://wordpress.org/plugins/tags/maintenance/)[maintenance mode](https://wordpress.org/plugins/tags/maintenance-mode/)
   [wp-cli](https://wordpress.org/plugins/tags/wp-cli/)
 *  [Advanced View](https://wordpress.org/plugins/pavel-silinskii-maintenance-mode/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/pavel-silinskii-maintenance-mode/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/pavel-silinskii-maintenance-mode/reviews/)

## Contributors

 *   [ pavelsilinskii ](https://profiles.wordpress.org/pavelsilinskii/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/pavel-silinskii-maintenance-mode/)