This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Maintenance Mode


As a web developer working with WordPress almost every day, very often I came across problem that If I wanted simple maintenance plugin to do some updates on my or client’s website, I came across all these useless and overcomplicated plugins until I decided that I’ll make one myself which will be the one I’ll be confident and happy to use with ease.

Maintenance Mode is very simple and it’s using WordPress’s wp_die() function which is core function of WordPress, which makes this plugin feel and work as a part of WordPress core. There is settings page under „Settings“ in the main wp-admin menu where you can enable maintenance mode or change content using WYSIWYG editor so you can also add pictures, links etc. When activated and logged in as admin, you can see website as usual, rest of the users / visitors can see maintenance mode. You can see the maintenance mode as admin in preview mode using preview link on the settings page or simply open website in private mode or different browser to double check if it’s enabled and working. There is also indicator in admin bar that changes colour to red when maintenance mode is enabled.


  • Simplicity – Built to be as simple as possible. Easy to use.
  • Customisable – WYSIWYG available in full glory. You can add images and other media including links and pretty much everything you can do with WYSIWYG. Text / Code tab is available too for custom markup.
  • Works on mobile – Because of it’s simplicity, maintenance mode works very well on mobile devices.
  • NO ADS – No ads. Seriously.
  • NO PAID UPGRADES – No paid upgrades. Seriously.
  • Updates – Regular updates and maintenance.
  • Support – Support button available.
  • Preview – Preview button available.
  • Compact – It’s developed to be as compact as possible.
  • Role Control – User Role control is available since 2.0
  • Optional widgets – Optionally add widgets above and/or below the content
  • Optional style sheet – Optionally add a custom style sheet
  • Optional ability to add code snippet – Optionally add a code snippet to the page.
  • Support for Analytify plugin – If you use the Analytify plugin, you can automatically insert the Google Analytics tracking code.

Important! Users that are using Cache plugins, please read below:
When enabling or disabling Maintenance Mode, don’t forget to flush your cache!

ljmm_site_title – Filter page title while in maintenance mode

ljmm_admin_bar_indicator_enabled - Control visibility of admin bar indicator

limm_css_filename - The filename of the CSS style sheet (as found in the theme's stylesheet directory) - just the filename, for example: `maintenance.min.css`. (Note: you do not need to use this filter for a stylesheet; see FAQs below.)

ljmm_css_url - The url of the css file.

ljmm_before_mm – Runs at the beginning of core maintenance method

Having trouble? Please read FAQ first, if you need any assistance, you can use support button on the settings page of the Maintenance Mode.

Development on GitHub
The development of Maintenance Mode takes place on GitHub. Bugs and pull requests are welcomed there.


  • Example with default message.
  • Admin Bar Indicator (Red when active)
  • Settings page in admin view with default message.
  • Settings page in admin view with advanced settings.
  • Example with image and link.
  • Custom stylesheet
  • Example: Custom stylesheet in root theme folder with sample styling
  • Example using widgets (meta)
  • Widgets area with two maintenance mode widget areas (before and after)


  1. Upload lj-maintenance-mode to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Navigate to Settings -> Maintenance Mode, or simply click on Admin Bar indicator for settings to enable maintenance mode.


Plugin doesn’t seem to work. What should I do ?

First, if you are using Cache plugin such as WP Super Cache or W3 Total Cache, flush all your cache. Secondly, disable all other plugins and try enabling just Maintenance Mode and see if problem persist. This should solve most common problems. If not, don’t hesitate to contact me via Support button from Settings page

Can I change background colour?

Not through the admin interface. You can use a custom stylesheet (see next FAQ) to do this, however.

What is the default stylesheet?

By default, the plugin will use a stylesheet named maintenance.min.css in the theme’s stylesheet folder. You can specify a different filename by using a Filter (above).

How do I add widgets?

Click „Advanced Settings“ and mark the checkbox to add widget areas. Then you will find two new widget areas in WordPress’s Widgets page, for above and below the content.


23. Mart 2022.
I have used this outstanding plugin for years. It is simple with no bloatware or nag screens. Does exactly what I need. Thank you for this plugin Lukas. Please consider updating if you have time. (I find it not working with the latest WP theme 2022-03-23)
19. Januar 2022.
… a non-bloated, hassle-free maintenance plugin. Thank you.
24. Februar 2020.
Some people are saying this plugin no longer works. That is not true. The plugin works fine and is still (as far as I know) the best ‘maintenance mode’ plugin for WordPress. In order to use it, install and activate. In the WP Admin Bar (the top bar that runs across the WP admin when you’re signed in) you’ll see a hammer with the word ‘disabled’ next to it. Click the disabled word which will take you to the plugin settings page. Adjust your copy and check the ‘enabled’ checkbox at the top of the settings page. Then scroll to the bottom of the page and ‘Save Changes’. Since you’re an admin in WP, YOU WILL NOT SEE THE MAINTENANCE PAGE! If you want to review the maintenance page to confirm it’s working, either sign-out of WP and visit your home page OR open a different browser which doesn’t share the logged in state Hope this helps and many thanks to Lukas for creating an awesome and simple maintenance mode plugin for WP. This functionality should be core to WP!
Read all 63 reviews

Contributors & Developers

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


“Maintenance Mode” has been translated into 11 locales. Thank you to the translators for their contributions.

Translate “Maintenance Mode” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Bumped up „Tested up to“


  • Added support for older PHP versions as per pre-2.4


  • Add workaround capability management to support user role and capabilities plugins by using delete_plugins capability for super admins and ljmm_control for rest of the users


  • Merge capabilities handling, tidy up and potentially fix capabilities issues some of the users have experienced


  • More customisable than ever!
  • Added support for stylesheet, widgets and code snippet injection (Thanks to Eric Mueller at @switchplus)
  • Custom capability (Thanks to @gabrielbijleveld)
  • Code refactor and improvements
  • Overall tidy up of the code
  • Update broken support link
  • Added shortcode support (Plugins like Contact Form 7 will work from now on)
  • New icons and banners


  • Added SiteOrigin Page Builder compatibilty (Thanks to @relgit)


  • Hot Fix issue where user got locked out of admin area in maintenance mode.


  • Small refactor, extract some of the parts to it’s own method to make everything a bit cleaner
  • Added ‘ljmm_content’ filter
  • Move mode up to the „main“ setting area instead of advanced settings
  • From now on, init hook instead of get_header is used for maintenance mode
  • Dedicated method to check if maintenance mode is enabled to make things cleaner
  • Improve current_user_can checks. From codex: current_user_can( $capability ) will aways return true if user is Super Admin, unless specifically denied – see inline source code
  • Update readme
  • Preview mode will now perform capabilities check. (Thanks to @esemlabel)
  • Added Comet Cache support. (Thanks to @doume)
  • Update translation files
  • Updated French translation (Thanks to @doume)


  • Add French translation (Thanks to @doume)


  • Added missing translation strings (Thanks to @doume for reporting this issue)
  • Updated advanced settings toggle (Thanks to @doume for reporting this issue)


  • Updated POT file.(Thanks to @doume for reporting this issue)
  • Corrected typo for w3 total cache warning message. (Thanks to @doume for reporting this issue)


  • Fixed typo in variable ($cache_plugin_enabled). (Thanks to @doume for reporting this issue)



  • From now on, you can change status code being used while using maintenance mode between 503 (maintenance mode) or 200 (for „coming soon“ page)
  • Correct support url
  • General code tidy up


  • added WPML compatibility
  • added TML (Theme My Login) compatibility
  • Fixed issue where plugin capabilities were not being removed on uninstall
  • Shorten admin bar indicator text, added icon
  • Add support link to the plugins page
  • Minor code tidy up


  • Added Lithuanian translation (Thanks to @gedeminas)


  • Added Spanish Translations. (Thanks to @bcien)
  • Fixed issue where on non English sites admin bar indicator was broken.


  • Fix db prefixing while getting roles. thanks @gablau
  • Further checks improvements regarding problems caused by latest update for some users
  • Add missing function wrapper for translations


  • Improved checks regarding problems caused by latest update for some users


  • Advanced settings
  • Role Control
  • You can now change title of the site while Maintenance Mode is enabled (in advanced settings)
  • General tidy up of code
  • Fix issue where Jetpack share was appearing in maintenance mode
  • Settings page tidy up and corrections to formatting.


  • Added German (DE) translations. (Thanks to Hoellenwesen)


  • Update Pot file
  • Small adjustments


  • Bug fixes


  • Bug fixes (Thanks to @gablau)
  • Security fixes – saving content more safely (Thanks to @gablau)
  • Languages: Add Italian (100%) (Thanks to @gablau)
  • Add compatibility while installed along with wp-maintenance-mode @gablau)
  • Code: Avoid duplicating same code and use it as method instead.
  • Code: Tidy up default messages and group them together within method to avoid repeating yourself and also searching all across code in order to change the messages in the future.


  • Improvement: If MM is enabled, added message describing how to check if the maintenance mode is enabled as this was causing lot of confusion and unnecessary support tickets.
  • Improvement: Move preview and support buttons to a more convenient place, also highlight the preview button.
  • Languages: Add Canadian (100%), Hungarian(83%) languages.


  • Fixed: Issue where non admin users could see admin bar indicator.


  • Google is being notified right way from now on.
  • Typo corrections
  • General code tidy up


  • Translations adjustments and corrections. Plugin is now fully translatable.
  • Small code refactor and tidy up.
  • Correct various typo issues.


  • Bug fixes.
  • Deprecated clear cache functionality as it caused errors to some users. From now on, plugin shows simple reminder to flush cache after enabling or disabling Maintenance Mode.


  • Improvement: Improved Multisite Support.
  • Improvement: Show default maintenance message in the settings.
  • Improvement: Uninstalling will now clean up database.
  • Improvement: Added support link to the settings page.
  • Improvement: Translatable strings.
  • Improvement: Changed default site title while MM is active.
  • Improvement: Added preview button.
  • Improvement: Added support button.
  • Improvement: Added support for WP Super Cache.
  • Improvement: Added support for W3 Total Cache.
  • Bug Fixes.


  • Bug Fixes.


  • Added Indicator to Admin menu bar.
  • Added Settings button on plugins page.
  • Added Default maintenance mode message.
  • Bug Fixes.


  • First release.