
內容簡介
Limbus Maintenance Page & Shop Pause 外掛提供簡單的開關功能,讓網站在維護期間顯示維護頁面,或在 WooCommerce 商店暫停訂單時仍可瀏覽產品目錄,確保用戶體驗不受影響。
【主要功能】
• 維護模式開關,輕鬆啟用
• WooCommerce 商店暫停功能
• 自訂標題與訊息顯示
• 自動計算重啟時間
• 簡潔的自包含 HTML 文件
• 支援系統字型,無需外部字型檔
外掛標籤
開發者團隊
② 後台搜尋「Limbus Maintenance Page & Shop Pause」→ 直接安裝(推薦)
原文外掛簡介
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, 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.
