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)501.8k↓28.6%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 1w 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 2d ago

READMEChangelog (6)Dependencies (8)Versions (10)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

49

—

FairBetter than 94% of packages

Maintenance72

Regular maintenance activity

Popularity35

Limited adoption so far

Community26

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 51.1% 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

522d 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 (92 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)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (9 commits)")[![philipjohn](https://avatars.githubusercontent.com/u/136342?v=4)](https://github.com/philipjohn "philipjohn (6 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

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.5k10](/packages/helsingborg-stad-municipio)[mediawiki/maps

Adds various mapping features to MediaWiki

84152.3k3](/packages/mediawiki-maps)[starcitizentools/citizen-skin

A beautiful, usable, responsive MediaWiki skin with in-depth extension support. Originally developed for the Star Citizen Wiki.

3376.6k](/packages/starcitizentools-citizen-skin)[civicrm/civicrm-drupal-8

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

19251.4k3](/packages/civicrm-civicrm-drupal-8)[altis/core

Core module for Altis

19228.0k3](/packages/altis-core)[pfefferle/wordpress-activitypub

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

5721.7k4](/packages/pfefferle-wordpress-activitypub)

PHPackages © 2026

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