Title: Limbus Maintenance Page &amp; Shop Pause
Author: Limbus Studio
Published: <strong>September 15, 2026</strong>
Last modified: September 15, 2026

---

Search plugins

![](https://ps.w.org/limbus-maintenance-page-shop-pause/assets/banner-772x250.png?
rev=3697730)

![](https://ps.w.org/limbus-maintenance-page-shop-pause/assets/icon-256x256.png?
rev=3697730)

# Limbus Maintenance Page & Shop Pause

 By [Limbus Studio](https://profiles.wordpress.org/contlimbu/)

[Download](https://downloads.wordpress.org/plugin/limbus-maintenance-page-shop-pause.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/limbus-maintenance-page-shop-pause/#description)
 * [Reviews](https://wordpress.org/plugins/limbus-maintenance-page-shop-pause/#reviews)
 *  [Installation](https://wordpress.org/plugins/limbus-maintenance-page-shop-pause/#installation)
 * [Development](https://wordpress.org/plugins/limbus-maintenance-page-shop-pause/#developers)

 [Support](https://wordpress.org/support/plugin/limbus-maintenance-page-shop-pause/)

## Description

This plugin has two switches. One closes the site behind a maintenance page. One
stops ordering in a WooCommerce shop while the catalogue stays open.

**One page, four uses.** The same page serves as a **maintenance page** during an
update, a **coming soon** page before launch, an **under construction** notice while
you build, and a private screen while you work on a staging copy. You set a title
and a message.

**Maintenance mode.** A single on/off switch that saves as soon as you flip it. 
Visitors get the page; everything else on the screen is optional.

**Shop pause.** For holidays and stock takes. The catalogue stays browsable and 
indexed, ordering stops: nobody can add to cart or reach checkout, while customers
who already ordered still reach their confirmation and pay-for-order pages. Set 
a start and an end date and the shop reopens on its own.

#### How it works

 * **HTTP 503 with a `Retry-After` header.** A 503 tells search engines the outage
   is temporary and that your existing pages should stay indexed. When you set an
   end time, `Retry-After` is calculated from it. No `noindex` header is ever sent.
 * **The maintenance page is self-contained.** One HTML document of about 2 KB with
   its styles inline: no external stylesheet, no web font, no script, no tracker.
   It renders even when the rest of the site cannot.
 * **Fonts already on the visitor’s device.** Choose a system font, sans-serif, 
   serif, or serif headings with sans-serif text; no font file is requested. If 
   your theme declares its typography in theme.json, a _Match my theme_ option appears
   as well. Classic themes keep their fonts in a stylesheet, which cannot be read
   from a plugin, so the option is hidden rather than shown doing nothing.
 * **PHP notices are kept out of the page.** With `WP_DEBUG` on, a notice or deprecation
   raised anywhere during the request would otherwise be printed into the response.
   The 503 response is the document and nothing else. Your error log still receives
   everything.
 * **The shop pause filters purchasability** instead of hiding buttons, which is
   what the classic templates, the Cart and Checkout blocks and the Store API all
   read. HPOS and Cart/Checkout Blocks compatibility are declared.
 * **Page caches are emptied when you flip a switch.** WP Rocket, LiteSpeed, W3 
   Total Cache, WP Super Cache, Cache Enabler, Autoptimize, SiteGround Optimizer,
   Hummingbird and Breeze store finished HTML and serve it from a drop-in that runs
   before plugins load, so the cache is cleared automatically — and only when a 
   switch or a schedule changes, so editing a message does not flush a large site.
 * **Schedules are evaluated on each request** rather than through WP-Cron, which
   needs traffic to fire.
 * **Text colour is derived from the background** using WCAG relative luminance,
   and the contrast ratio is shown live if you set the colour yourself.

#### What it does not do

 * No admin notice outside its own settings screen: no review prompt, no banner,
   no countdown.
 * No telemetry, no analytics, no “help us improve” prompt.
 * No email of any kind.
 * No external service, account, API key or quota. Everything runs on your own server.
 * No arbitrary CSS, JavaScript or PHP is stored or executed. Developers can replace
   the page entirely through a filter, in their own code.
 * No front-end CSS or JavaScript file. The shop notice uses WooCommerce’s own notice
   class and inherits your theme’s styling.
 * No extra database query: one autoloaded option, already read by the time the 
   plugin runs.
 * No table, no transient, no cron event. Deleting the plugin removes that single
   option, unless you ask it to keep your settings.
 * Nothing is registered on the front end while both modes are off.

#### Using it

 * While a mode is running, a red marker sits in the toolbar on every screen — **
   Maintenance page active**, **Shop paused**, or both — linking to the switch that
   turns it off.
 * With WooCommerce active, a **Shop pause** entry appears in the WooCommerce menu
   and opens the shop section of the settings.
 * A live preview sits beside the form and updates as you change the title, message,
   logo, colours or fonts. It is rendered by the plugin itself, so it matches what
   visitors get.
 * Both switches save on their own and report what happened, including which page
   cache was emptied. The remaining fields use the Save button.
 * A shareable preview link lets someone without an account see the site during 
   maintenance. Opening it sets a cookie that lasts a month, and you can regenerate
   the link to revoke it.
 * An allowlist keeps chosen pages public. Search your own pages, posts and products
   by name and add them in a click, or type paths by hand: `/blog/*` keeps a whole
   section open, `/` keeps just the home page.
 * Choose who still sees the site: administrators, administrators and editors, or
   anyone logged in. The login page always stays reachable.
 * Deactivating the plugin turns both modes off and keeps your settings.
 * Settings export and import as plain JSON, for reusing the same setup across sites.

#### For developers

    ```
    limbus_maintenance_page_shop_pause_bypass_maintenance (bool) — let a request through.
    limbus_maintenance_page_shop_pause_maintenance_html (string|null) — replace the maintenance page entirely with your own markup.
    limbus_maintenance_page_shop_pause_retry_after (int) — change the `Retry-After` value.
    limbus_maintenance_page_shop_pause_purge_cache (action) — fired after the known page caches are cleared, for a server-level cache, Varnish or a CDN.
    limbus_maintenance_page_shop_pause_clean_output (bool) — return false to let PHP notices through onto the maintenance page while debugging it.
    ```

#### Languages

The plugin is fully internationalised and follows each user’s own WordPress language,
so two people on the same site can see it in two different languages. Right-to-left
locales get a right-to-left layout, in the settings screen and on the maintenance
page. Translations are managed on translate.wordpress.org and contributions are 
welcome there.

#### Privacy and external services

This plugin does not connect to any external service. It sends no data anywhere,
sets no third-party cookie, loads no remote asset and collects no analytics. The
only cookie it sets is on your own domain, when you open your own preview link, 
and it stores a hash rather than the key itself.

#### Credits

Developed and maintained by Stefanos Athanassopoulos at [Limbus Studio](https://limbus.fr),
a French studio whose day job is looking after WordPress sites. It is the tool we
wanted for our own maintenance windows and our clients’ WooCommerce holiday closures.

## Screenshots

[⌊The settings screen: two switches, and everything else optional.⌉⌊The settings
screen: two switches, and everything else optional.⌉[

The settings screen: two switches, and everything else optional.

[⌊The maintenance page visitors see, in under 2 KB.⌉⌊The maintenance page visitors
see, in under 2 KB.⌉[

The maintenance page visitors see, in under 2 KB.

[⌊A paused shop: catalogue browsable, ordering off, and a message where the Add 
to cart button was.⌉⌊A paused shop: catalogue browsable, ordering off, and a message
where the Add to cart button was.⌉[

A paused shop: catalogue browsable, ordering off, and a message where the Add to
cart button was.

## Installation

 1. Install and activate. Both switches start off, so activating the plugin does not
    take a site down.
 2. Go to **Settings  Maintenance Page**.
 3. Flip **Put the site in maintenance mode**, or **Pause ordering** for the shop. 
    The switches save themselves; the other fields use the Save button.

## FAQ

### Will maintenance mode hurt my search rankings?

Visitors get HTTP 503 with a `Retry-After` header, which tells search engines the
outage is temporary and that your existing pages should stay indexed. If you set
an end time, `Retry-After` is calculated from it. No `noindex` is sent.

### Can I use it as a coming soon or under construction page?

Yes, it is the same switch. Set your title and message, turn it on, and the page
stays up until you turn it off. Before a launch, when nothing is indexed yet, the
503 costs you nothing; on a site that is already live, it is what protects your 
rankings during an update.

### I switched maintenance mode on, but my site is still up. Why?

Almost always a page cache. WP Rocket, LiteSpeed and the others store finished HTML
and serve it from a drop-in that runs before any plugin loads, so visitors keep 
getting the stored pages. The plugin empties the caches it can detect each time 
you switch a mode, and the settings screen names the one it found. If your host 
or CDN adds its own cache — Varnish, nginx, Cloudflare — clear that one too, or 
hook onto `limbus_maintenance_page_shop_pause_purge_cache` to do it automatically.

A quick way to tell the difference: open a URL that cannot be cached, such as `yoursite.
com/a-page-that-does-not-exist/`. If that returns the maintenance page, the plugin
is working and only the cache is in the way.

### Can I still work on the site while maintenance mode is on?

Yes. You stay logged in and see the site normally. You can widen that to editors,
or to anyone with an account.

### How do I show the site to a client who has no account?

Copy the preview link from the settings page and send it. Opening it sets a cookie
that lasts a month. Generate a new link at any time to revoke the old one.

### Can I add my own CSS to the maintenance page?

Not from the settings screen: the directory does not allow plugins to store arbitrary
CSS. Developers can return their own markup from the `limbus_maintenance_page_shop_pause_maintenance_html`
filter, in a theme or a site-specific plugin.

### Does the shop pause empty my customers’ carts?

Products become non-purchasable while the pause is on, and WooCommerce removes non-
purchasable items from carts when it validates them. For a planned closure this 
is the intended behaviour. Carts filled after the shop reopens are unaffected.

### Can customers still reach their existing orders?

Yes. Order confirmation and pay-for-order pages stay reachable throughout, so anyone
who ordered before the pause is not left stranded.

### Does this work with block themes and the Cart and Checkout blocks?

Yes. The shop pause filters purchasability rather than hiding buttons, which the
classic templates, the blocks and the Store API all read. HPOS and Cart/Checkout
Blocks compatibility are both declared.

### Do I need WooCommerce?

No. Maintenance mode works on any WordPress site. The shop section only does anything
when WooCommerce is active, and its settings can be filled in beforehand either 
way.

### I locked myself out. Now what?

Deactivate the plugin from **Plugins**, which turns both modes off and keeps your
settings. If you cannot reach wp-admin at all, rename the `limbus-maintenance-page-
shop-pause` folder over FTP or SFTP. The login page is never blocked, so this should
not come up.

### What happens if I delete the plugin?

Its single option is deleted and nothing is left behind. Tick **Keep my settings
if I delete the plugin** first if you plan to reinstall.

## Reviews

![](https://secure.gravatar.com/avatar/7574c8637261273cebda8df473bd4a382c7cc782dea8e3c46ecc9c7692307ad0?
s=60&d=retro&r=g)

### 󠀁[Simple, clean and effective](https://wordpress.org/support/topic/simple-clean-and-effective-4/)󠁿

 [limbusstudio](https://profiles.wordpress.org/limbusstudio/) September 16, 2026

Simple and easy to use. No bloat, no ads, no unnecessary notifications. It does 
exactly what it’s supposed to do and stays out of the way.

 [ Read all 1 review ](https://wordpress.org/support/plugin/limbus-maintenance-page-shop-pause/reviews/)

## Contributors & Developers

“Limbus Maintenance Page & Shop Pause” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Limbus Studio ](https://profiles.wordpress.org/contlimbu/)

“Limbus Maintenance Page & Shop Pause” has been translated into 1 locale. Thank 
you to [the translators](https://translate.wordpress.org/projects/wp-plugins/limbus-maintenance-page-shop-pause/contributors)
for their contributions.

[Translate “Limbus Maintenance Page & Shop Pause” into your language.](https://translate.wordpress.org/projects/wp-plugins/limbus-maintenance-page-shop-pause)

### Interested in development?

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

## Changelog

#### 1.0.0

 * First release.
 * Maintenance mode with HTTP 503 and `Retry-After` headers, and no `noindex`.
 * Self-contained maintenance page: title, message, logo, background and text colours,
   font stack.
 * Shareable preview link and a path allowlist.
 * Shop pause for WooCommerce: catalogue stays browsable, ordering stops, existing
   orders remain reachable.
 * Optional start and end times for both modes, evaluated per request rather than
   by WP-Cron.
 * Settings export and import as JSON.
 * Automatic page-cache purging for WP Rocket, LiteSpeed, W3 Total Cache, WP Super
   Cache, Cache Enabler, Autoptimize, SiteGround Optimizer, Hummingbird and Breeze.
 * The maintenance page is served as a clean document even with `WP_DEBUG` on; logging
   is untouched.
 * Tested with WordPress 7.1 and WooCommerce 11.0.

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **20+**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/limbus-maintenance-page-shop-pause/)
   and [Russian](https://ru.wordpress.org/plugins/limbus-maintenance-page-shop-pause/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/limbus-maintenance-page-shop-pause)
 * Tags
 * [coming soon](https://wordpress.org/plugins/tags/coming-soon/)[maintenance mode](https://wordpress.org/plugins/tags/maintenance-mode/)
   [maintenance page](https://wordpress.org/plugins/tags/maintenance-page/)[under construction](https://wordpress.org/plugins/tags/under-construction/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/limbus-maintenance-page-shop-pause/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/limbus-maintenance-page-shop-pause/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/limbus-maintenance-page-shop-pause/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/limbus-maintenance-page-shop-pause/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/limbus-maintenance-page-shop-pause/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/limbus-maintenance-page-shop-pause/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/limbus-maintenance-page-shop-pause/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/limbus-maintenance-page-shop-pause/reviews/)

## Contributors

 *   [ Limbus Studio ](https://profiles.wordpress.org/contlimbu/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/limbus-maintenance-page-shop-pause/)