PHPackages                             automattic/maintenance-mode-wp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. automattic/maintenance-mode-wp

ActiveWordpress-plugin[Utility &amp; Helpers](/categories/utility)

automattic/maintenance-mode-wp
==============================

Shut down your site for a little while and do some maintenance on it!

0.3.2(1y ago)491.4k↓50%16[1 issues](https://github.com/Automattic/maintenance-mode-wp/issues)[1 PRs](https://github.com/Automattic/maintenance-mode-wp/pulls)GPL-2.0-or-laterPHPPHP &gt;=7.4CI passing

Since Aug 8Pushed 1mo ago5 watchersCompare

[ Source](https://github.com/Automattic/maintenance-mode-wp)[ Packagist](https://packagist.org/packages/automattic/maintenance-mode-wp)[ Docs](https://github.com/Automattic/maintenance-mode-wp/)[ RSS](/packages/automattic-maintenance-mode-wp/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (6)Dependencies (8)Versions (9)Used By (0)

Maintenance Mode
================

[](#maintenance-mode)

Stable tag: 0.3.2
Requires at least: 6.4
Tested up to: 6.9
License: GPLv2 or later
License URI:
Tags: maintenance-mode, maintenance
Contributors: wpcomvip, automattic, benoitchantre, emrikol, philipjohn, GaryJ

Shut down your site for a little while and do some maintenance on it!

Description
-----------

[](#description)

Easily provide a holding maintenance page, including with a custom template, to site visitors.

### Custom Template

[](#custom-template)

To add a custom template and messaging:

- Create a template in your theme's root folder named `template-maintenance-mode.php`.
- This should be a simple HTML page that includes the message you want to show your visitors.
- Note: the template should include `wp_head()` and `wp_footer()` calls.

You can also use the `vip_maintenance_mode_template_args` filter to adjust the file name and location of the custom template within your theme.

For instance, if you want it to live at `wp-content/themes/my-theme/plugin-templates/maintenance-mode-alt.php`, then add code like:

```
add_filter(
	'vip_maintenance_mode_template_args',
	function( $args ) {
		$args['slug'] = 'plugin-templates/maintenance-mode';
		$args['name'] = 'alt';

		return $args;
	}
);
```

This also allows the third array key to be used to pass in custom arguments to the template.

### Additional Configurations

[](#additional-configurations)

Using filters and conditionals, you can customize the behavior of the Maintenance Mode plugin based on your needs. These options rely on the plugin being installed as described above.

#### Selectively Load Maintenance Mode

[](#selectively-load-maintenance-mode)

Configure Maintenance Mode to only display for a specific network site. Code similar to this example must be added to the `vip-config/vip-config.php` file:

```
$site_name = $_SERVER['SERVER_NAME'];
$lockdown = false;

if ( false !== strpos( $site_name, 'url-to-enable-maintentance-mode' ) ) {
	// Set lockdown
	$lockdown = true;
}
// Set maintenance plugin
define( 'VIP_MAINTENANCE_MODE', $lockdown );
```

#### Enable WordPress REST API

[](#enable-wordpress-rest-api)

Configure Maintenance Mode to keep the WordPress REST API enabled even though the rest of the site is not accessible. Note that this code should be added to a file located within the `client-mu-plugins` directory:

```
// Generally allow API access
add_filter( 'vip_maintenance_mode_restrict_rest_api', '__return_false' );
```

You can also choose to enable the REST API only in more narrow use-cases:

```
add_filter( 'vip_maintenance_mode_restrict_rest_api', 'x_mm_allow_api' );

function x_mm_allow_api( $default ) {
	if ( my_check() ) {
		return false;
	}

	return true;
}
```

Installation
------------

[](#installation)

1. Add the plugin to the `/plugins` directory of an application's GitHub repository.
2. Define the `VIP_MAINTENANCE_MODE` constant as true in `vip-config/vip-config.php`.
3. Activate the plugin in the WordPress Admin dashboard Plugins screen.

Screenshots
-----------

[](#screenshots)

On Twenty Twenty-Five:
[![Screenshot of active Maintenance mode on Twenty Twenty-Five](.wordpress-org/screenshot-8.png)](.wordpress-org/screenshot-8.png)

On Twenty Twenty-Four:
[![Screenshot of active Maintenance mode on Twenty Twenty-Four](.wordpress-org/screenshot-7.png)](.wordpress-org/screenshot-7.png)

On Twenty Twenty-Three:
[![Screenshot of active Maintenance mode on Twenty Twenty-Three](.wordpress-org/screenshot-6.png)](.wordpress-org/screenshot-6.png)

On Twenty Twenty-Two:
[![Screenshot of active Maintenance mode on Twenty Twenty-Two](.wordpress-org/screenshot-5.png)](.wordpress-org/screenshot-5.png)

On Twenty Twenty-One:
[![Screenshot of active Maintenance mode on Twenty Twenty-One](.wordpress-org/screenshot-4.png)](.wordpress-org/screenshot-4.png)

On Twenty Twenty:
[![Screenshot of active Maintenance mode on Twenty Twenty](.wordpress-org/screenshot-3.png)](.wordpress-org/screenshot-3.png)

On Twenty Nineteen:
[![Screenshot of active Maintenance mode on Twenty Nineteen](.wordpress-org/screenshot-2.png)](.wordpress-org/screenshot-2.png)

On Twenty Seventeen:
[![Screenshot of active Maintenance mode on Twenty Seventeen](.wordpress-org/screenshot-1.png)](.wordpress-org/screenshot-1.png)

Changelog
---------

[](#changelog)

See [the changelog](CHANGELOG.md).

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance68

Regular maintenance activity

Popularity34

Limited adoption so far

Community26

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 51.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~666 days

Total

4

Last Release

476d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ba7751eebec0f74a4963e9a062f49e58222b97872bf193d95f0505f3df321d09?d=identicon)[GaryJones](/maintainers/GaryJones)

![](https://www.gravatar.com/avatar/7c5869ecbb8e0eac7e8b8e0f3cf7bdd8d5fcdc4abc10a72281872c53f8639d44?d=identicon)[automattic](/maintainers/automattic)

---

Top Contributors

[![GaryJones](https://avatars.githubusercontent.com/u/88371?v=4)](https://github.com/GaryJones "GaryJones (88 commits)")[![benoitchantre](https://avatars.githubusercontent.com/u/1521015?v=4)](https://github.com/benoitchantre "benoitchantre (20 commits)")[![trepmal](https://avatars.githubusercontent.com/u/251183?v=4)](https://github.com/trepmal "trepmal (13 commits)")[![mjangda](https://avatars.githubusercontent.com/u/86105?v=4)](https://github.com/mjangda "mjangda (13 commits)")[![rinatkhaziev](https://avatars.githubusercontent.com/u/459254?v=4)](https://github.com/rinatkhaziev "rinatkhaziev (10 commits)")[![philipjohn](https://avatars.githubusercontent.com/u/136342?v=4)](https://github.com/philipjohn "philipjohn (6 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (5 commits)")[![anigeluk](https://avatars.githubusercontent.com/u/2588997?v=4)](https://github.com/anigeluk "anigeluk (4 commits)")[![emrikol](https://avatars.githubusercontent.com/u/3060583?v=4)](https://github.com/emrikol "emrikol (2 commits)")[![szepeviktor](https://avatars.githubusercontent.com/u/952007?v=4)](https://github.com/szepeviktor "szepeviktor (2 commits)")[![yolih](https://avatars.githubusercontent.com/u/8527034?v=4)](https://github.com/yolih "yolih (2 commits)")[![david-binda](https://avatars.githubusercontent.com/u/3651036?v=4)](https://github.com/david-binda "david-binda (1 commits)")[![mattoperry](https://avatars.githubusercontent.com/u/1060374?v=4)](https://github.com/mattoperry "mattoperry (1 commits)")[![cfaria](https://avatars.githubusercontent.com/u/756658?v=4)](https://github.com/cfaria "cfaria (1 commits)")[![whyisjake](https://avatars.githubusercontent.com/u/848187?v=4)](https://github.com/whyisjake "whyisjake (1 commits)")[![spacedmonkey](https://avatars.githubusercontent.com/u/237508?v=4)](https://github.com/spacedmonkey "spacedmonkey (1 commits)")[![maevelander](https://avatars.githubusercontent.com/u/4695433?v=4)](https://github.com/maevelander "maevelander (1 commits)")[![rebeccahum](https://avatars.githubusercontent.com/u/16962021?v=4)](https://github.com/rebeccahum "rebeccahum (1 commits)")

---

Tags

maintenance-modewordpresswordpress-pluginwpvip-plugin

###  Code Quality

TestsPHPUnit

Static AnalysisRector

### Embed Badge

![Health badge](/badges/automattic-maintenance-mode-wp/health.svg)

```
[![Health](https://phpackages.com/badges/automattic-maintenance-mode-wp/health.svg)](https://phpackages.com/packages/automattic-maintenance-mode-wp)
```

###  Alternatives

[rainlab/blog-plugin

Blog plugin for October CMS

17257.7k](/packages/rainlab-blog-plugin)[rainlab/builder-plugin

Builder plugin for October CMS

17147.2k1](/packages/rainlab-builder-plugin)[pfefferle/wordpress-activitypub

The ActivityPub protocol is a decentralized social networking protocol based upon the ActivityStreams 2.0 data format.

5671.4k1](/packages/pfefferle-wordpress-activitypub)[civicrm/civicrm-drupal-8

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

18238.1k2](/packages/civicrm-civicrm-drupal-8)[mediawiki/semantic-glossary

A terminology markup extension with a Semantic MediaWiki back-end

1352.4k](/packages/mediawiki-semantic-glossary)[humanmade/lottie-lite

A lightweight Lottie Animations Extension for WordPress

374.3k](/packages/humanmade-lottie-lite)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
