Maintenance page

Setting up a temporary maintenance page


Sometimes when an NRO wants to do big content or taxonomy changes in their live production website, they prefer to temporarily set it in a "maintenance mode". In that scenario, non-logged-in visitors will see a static page explaining the website is temporarily unavailable, while editors will still be able to make changes and preview them.

Plugin installation

There is a plugin that seems to fulfill all the requirements for this task.Although it has a paid version, the free tier seems sufficient for our needs. The plugin should be installed and activated temporarily only in the website that is needed. To install the plugin we just need to adjust composer-local.json in the website deployment repository.

"wpackagist-plugin/maintenance": "4.*"

Then create a new tag to trigger a new production deployment.


To start configuring the plugin, we need to activate it from the Plugins list in the Admin Panel. On activation, the maintenance page is activated, so we should activate the plugin only when ready to switch the website in maintenance mode.

Below are the various options we need to change in the plugin configuration page.


  • Page Title: Temporarily unavailable

  • Headline: Temporarily unavailable

  • Description: Scheduled maintenance in progress…

  • Footer Text: none

  • Enable Frontend Login: Disable


  • Logo: none - (since the background image below already has “Greenpeace”)

  • Background Image: Import and use GP02FYX from Media Archive.

  • Font Family: Source Sans Pro

  • Apply Background Blur: Enable (for slightly better readability)

  • Set Blur Intensity: 2

Advanced Settings

  • 503 Response Code: Enable (for SEO reasons)

  • CSS Code:

.logo-box {
  display: none;

.site-content .description p {
  font-size: 1rem;


Once everything is done from the NRO, de-activating the plugin is enough to disable the maintenance page.

After confirming that everything looks good, the plugin should also be removed from the website composer-local.json file so it’s being removed in the next release.

Last updated