Maintenance Page

Free
v2.0.14 Perpetual Updated Jun 5, 2026

Maintenance Page

Affichez une page CMS personnalisée pendant la maintenance Magento, au lieu du 503.php standard. IP whitelist, URL de bypass secrète, accès admin préservé.
Free Hyvä Compatible Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
Free
Try the live demo
  • Updates and support included for 12 months
  • Full documentation included
  • Compatible with Hyvä themes
  • Composer-ready installation

Maintenance — Free Edition

Replace Magento's default 503.php page with a real, branded CMS page during maintenance windows. The free edition is the no-frills option: pick a CMS page, set a bypass secret or whitelist your office IPs, and your customers see a clean page instead of a raw error template the moment you flip maintenance mode on.

The plugin hooks Magento's catchException flow, so it triggers exactly when the native bin/magento maintenance:enable would have shown the 503 — no extra cron, no scheduling, no surprises. A built-in English fallback template covers the case where the configured CMS page is missing.

Who it's for

  • Merchants who want a polished maintenance page without paying for the Pro edition
  • Stores that schedule maintenance manually via bin/magento maintenance:enable and want a better customer-facing screen
  • Agencies preparing deploys for clients who care about brand consistency even during downtime

Key benefits

  • Custom CMS page — pick any CMS page in the admin; the module renders it with frontend area code so blocks and widgets work.
  • IP whitelist (exact match) — let your office, monitoring, or CI bypass maintenance. CIDR ranges are a Pro feature.
  • Bypass secret URL — share a ?maintenance_bypass=YOUR_SECRET link with staff and external testers. Stored encrypted in admin config.
  • Admin access toggle — optionally keep the admin panel reachable during maintenance so you can finish the work.
  • HTTP status configurable — return 503 (default, correct for SEO), 200, or 302 depending on use case. Configurable Retry-After header.
  • Production-quiet logging — internal traces gated behind an admin debug toggle so system.log doesn't get spammed by PHP 8.2/8.3 deprecation notices caught defensively by the plugin.
  • MIT licensed — install on as many stores as you want, modify the template freely.

Compatibility

  • Magento 2.4.x / Mage-OS equivalent
  • PHP 8.1, 8.2, 8.3
  • Requires wimakeit/module-core 3.0.9 or later
  • Built-in English template — multilingual templates, scheduled maintenance, pre-maintenance banner, Hyvä/Breeze support and CIDR whitelist are in wimakeit/module-maintenance-pro

Install this module via Composer. Make sure your auth.json is configured with your Wimakeit credentials.

Terminal
$ composer require wimakeit/module-maintenance:^2.0.14
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile

Installation notes

The standard composer require + setup:upgrade + setup:di:compile flow applies. The points below cover what's specific to this module.

Required dependency

This module requires wimakeit/module-core 3.0.9 or later. Composer will pull it automatically from the Wimakeit registry as long as the registry is declared in your project's composer.json.

ACL permissions

After installation, one ACL resource is registered under System → Permissions → User Roles:

ResourceDefault
Wimakeit_Maintenance::config (edit module configuration)granted to Administrator role only

Default CMS page

A CMS page with identifier site-under-maintenance is created automatically by the install patch (chosen to avoid url_rewrite collisions with existing categories/products named "maintenance"). You can:

1. Edit it in Content → Pages to customize the look 2. Create your own CMS page and select it in the admin config 3. Leave it empty and let the built-in English fallback template render

Configuration

The module ships disabled (opt-in). Go to Stores → Configuration → Wimakeit → Maintenance.

General settings

SettingDefault
Enable Custom Maintenance PageNo (opt-in)
CMS Pagesite-under-maintenance
Use Fallback TemplateYes
HTTP Status Code503
Retry-After (seconds)3600
Allowed IPs(empty — exact match only; CIDR in Pro)
Bypass Secret Key(empty; min 8 characters recommended, stored encrypted)
Apply to Admin PanelNo (admin remains accessible)
Enable Debug LoggingNo — leave off in production

Usage

# Enable maintenance (native Magento command)
bin/magento maintenance:enable

# Enable with IP whitelist on the fly
bin/magento maintenance:enable --ip=192.168.1.100 --ip=10.0.0.1

# Disable
bin/magento maintenance:disable

# Status + troubleshooting (Wimakeit-specific)
bin/magento wimakeit:maintenance:status

Bypass during maintenance

Add your bypass secret to any URL:

https://yourstore.com/?maintenance_bypass=YOUR_SECRET_KEY

The check is timing-attack safe.

Custom template

Override the default template by creating one in your theme:

app/design/frontend/<Vendor>/<theme>/Wimakeit_Maintenance/templates/maintenance/content/en.phtml
app/design/frontend/<Vendor>/<theme>/Wimakeit_Maintenance/templates/maintenance/styles/default.phtml
Version
v2.0.14
License
Perpetual
Support
12 months
Last updated
Jun 5, 2026
Magento
Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
PHP
PHP 8.1 PHP 8.2 PHP 8.3
Hyvä
Compatible
Package
wimakeit/module-maintenance

Compatibility checker

Pick your stack to see if this module fits.

Compatibility 4

Yes. Maintenance Page is tested against Magento Open Source 2.4.4 → 2.4.7, Adobe Commerce on the same line, and Mage-OS 2.0+ — on PHP 8.1, 8.2 and 8.3. The Specifications tab lists the exact tested combinations. If your stack is in the list, we guarantee a clean install. Wimakeit is an Adobe-certified Magento agency based in Presles (Charleroi / Namur region), Wallonia, Belgium and runs every module against the same matrix we ship to enterprise clients across Belgium, France and the Netherlands.
Yes — fully. Maintenance Page ships a native Hyvä-compatible frontend (Tailwind + Alpine.js) and integrates with Hyvä Checkout when applicable. No companion fallback module needed. Every Hyvä-marked module is built and maintained by the same Wimakeit team that ships Hyvä builds for production stores.
Hyvä Storefront (Tailwind + Alpine.js, server-rendered) and Hyvä Checkout (React-based, headless on top of Magento) are two distinct packages. Maintenance Page ships native Hyvä Storefront compatibility — its frontend is rendered through Hyvä templates with no Luma fallback. Hyvä Checkout integration is delivered when the module has a checkout-step touchpoint (custom payment input, terms checkbox, etc.); otherwise the module runs server-side without any Hyvä Checkout customisation needed. See the Specifications tab for the exact Hyvä integration scope of this module.
Yes. Maintenance Page respects the standard Magento scope (default / website / store / store_view). Every configuration is overridable per store view. Frontend labels use Magento's standard translation files — shipped in French, English and Dutch out of the box. Currencies follow your Magento currency setup with no extra wiring. A typical Wimakeit Magento store runs an fr_BE / nl_BE / en_GB triplet from a single backend — Maintenance Page is ready for this B2B / international setup.

Pricing & licensing 4

Maintenance Page is offered free of charge to Wimakeit clients. The licence covers production + 1 staging/dev domain. Premium support, custom development and SLA upgrades are available on request — Wimakeit's Wallonian Magento team (Presles, between Charleroi and Namur) has held an Adobe Commerce certification since 2021.
Yes. Maintenance Page has a live demo on demo.wimakeit.be/module-maintenance where you can poke around the admin and frontend with a real install pre-populated with sample data. For longer evaluations, request an evaluation licence via our contact form — evaluations cover the same scope as the paid licence and convert to a permanent key on purchase.
There is no payment to refund — Maintenance Page is free. If it doesn't fit your store, just disable the module via bin/magento module:disable; uninstall cleanup is automatic via the module's setup patch revert.
Maintenance Page is distributed under a commercial proprietary licence — not MIT, GPL or any other open-source licence. The PHP source ships in vendor/wimakeit/ once you composer require the package, so you can read it, audit it, and patch it locally for your own Magento install. You may NOT redistribute it, sublicense it, publish it on a public package registry, or sell it on. One licence = one production domain + one staging/dev domain (see terms for the full EULA). Wimakeit modules are NOT part of Magento's open-source repository on packagist.org — they are distributed exclusively via the private Composer registry packages.wimakeit.be.

Installation & updates 6

Run composer require wimakeit/module-maintenance:^2.0.12, then bin/magento setup:upgrade, bin/magento setup:di:compile, and finally bin/magento cache:flush. The Installation tab on this page lists every configuration step (ACLs, cron jobs, default values) so a deploy takes minutes, not hours. If you need a hand, Wimakeit offers Magento installation services from our Wallonian office (Presles, between Charleroi and Namur).
Step 1: get a token on packages.wimakeit.be → My account → Tokens. Step 2: at the root of your project add to auth.json: {"http-basic": {"packages.wimakeit.be": {"username": "YOUR-EMAIL", "password": "YOUR-TOKEN"}}}. Step 3: register the repo: composer config repositories.wimakeit composer https://packages.wimakeit.be. Step 4: composer require wimakeit/module-maintenance:^2.0.12. In CI/CD pipelines, inject COMPOSER_AUTH as a JSON env var instead of committing auth.json.
Most merchants are live within 30 minutes: composer install (1-2 min) → setup:upgrade + di:compile (5-10 min depending on stack size) → admin configuration (5-15 min following the Installation tab) → smoke test on a product or order. Allow extra time if you have a custom theme overriding similar templates. The Wimakeit team has shipped this exact module to B2B and DTC stores across Belgium.
Maintenance Page is built for Magento 2.4.x / Mage-OS 2.0+ and has no Magento 1 equivalent. When migrating from Magento 1, the Wimakeit team handles the audit, the data migration and the integration of Maintenance Page into the new backend as part of a Magento migration project. Migrating from Adobe Commerce to Mage-OS is transparent for Maintenance Page: same composer require, same module code, same database schema — no fork to maintain, no licence change.
Updates ship through your composer dependency (this exact package), hosted on Wimakeit's private Composer repository at packages.wimakeit.be. Each release is announced on the Changelog tab + the Wimakeit news and follows semantic versioning — composer update is safe within a major.
All .phtml templates are overridable from your theme: copy the file into app/design/frontend/{YourVendor}/{theme}/Wimakeit_{Module}/templates/ keeping the same relative path. Blocks, ViewModels and Helpers are overridable via DI preference in your own custom module — declare <preference for="Wimakeit\…\OriginalClass" type="YourVendor\Override\Class" /> in etc/di.xml. Layout XML is extended (preferred) or overridden the standard Magento way. Wimakeit modules never use the final keyword on classes you might reasonably want to override — overriding is a first-class scenario, not a hack.

Support & security 3

Open a ticket through the contact form on wimakeit.be or email contact@wimakeit.com with the module name, version, Magento/Mage-OS version and the steps to reproduce. Fixes ship in the next patch release. Wimakeit support is staffed in French, English and Dutch on business days (CET working hours).
Send security reports privately to contact@wimakeit.com with a clear [SECURITY] subject prefix — please include the module name, version and the steps to reproduce. We acknowledge promptly on business days and credit reporters in the Changelog if they wish. Wimakeit is a Belgian SRL (société à responsabilité limitée) bound by Belgian and EU privacy and disclosure law.
Yes. Maintenance Page stores only the data its feature scope requires, never tracks shoppers across sites, and ships zero third-party calls by default. Combine it with the Wimakeit GDPR module to publish cookie banners and data-subject request forms compliant with Belgian, French and Dutch DPA guidance. Wimakeit's EU-based hosting partners (OVH Roubaix / Gravelines, Cblue Gembloux) keep every customer's data inside the EU.

About Wimakeit 1

Wimakeit is an Adobe-certified Magento partner agency based in Presles, Wallonia (between Charleroi and Namur), Belgium, building Magento and Mage-OS stores since 2020 across BE / FR / NL. Every module on this marketplace runs in production on at least one Wimakeit client (we eat our own dog food). Direct line to the developers who built the code, multilingual support (FR / EN / NL), CET business hours, no offshore handoff. See our portfolio for the kind of Magento builds we ship.

Found something not covered by the FAQ?

Report a bug or ask a question — the form is prefilled with this module.

Report a bug

Changelog

Categories: Security, Feature, Fix, Perf, Admin, Deps.

[2.0.12] - 2026-05-26

Fix

  • Default CMS page identifier changed from maintenance to site-under-maintenance to avoid url_rewrite collisions with categories/products commonly named "maintenance".
  • Install patch now checks for existing url_rewrite entries before saving; on conflict it logs a warning and skips gracefully instead of crashing setup:upgrade with a duplicate-URL-key error.

Admin

  • Existing installs keep their previous CMS page; only fresh installs get the new safer default identifier.

[2.0.10] - 2026-05-26

Fix

  • CMS page creation patch reduced to the essential fields, removing legacy attributes that could cause setup:upgrade to fail on stores with stricter EAV validators.

[2.0.9] - 2026-05-10

Admin

  • Debug logging now routes through a shared Wimakeit\Maintenance\Logger\DebugLogger virtualType — cleaner code, no behavior change. The toggle path wimakeit_maintenance/general/debug_mode is unchanged.
  • The defensive \Throwable catch in HttpPlugin no longer writes critical lines for upstream PHP deprecation notices; demoted to warning and gated behind the debug toggle.

Deps

  • Requires wimakeit/module-core 3.0.9+ for the shared debug logger and inherited getConfigSection() helper.

[2.0.8] - 2026-05-10

Feature

  • New Enable Debug Logging admin toggle (General → Settings, default off). Keeps var/log/system.log quiet in production by gating internal info/debug/warning traces.

Fix

  • HttpPlugin no longer writes a CRITICAL line on every backend error path. PHP 8.2/8.3 dynamic-property deprecations in pub/errors/processor.php, caught defensively by aroundCatchException, are now gated behind the debug toggle. Hard errors that block functionality are still logged.

[2.0.2] - 2026-03-04

Admin

  • Breaking: Removed redundant wimakeit:maintenance:enable and wimakeit:maintenance:disable CLI commands. Use native bin/magento maintenance:enable / :disable. Diagnostics live in wimakeit:maintenance:status.
  • Default enabled changed from 1 to 0 (opt-in). The module must now be explicitly enabled in admin config before it intercepts requests.

[2.0.1] - 2026-03-04

Feature

  • New wimakeit:maintenance:status CLI command for status output and troubleshooting tips.

Fix

  • Plugin interception point moved from launch to catchException to correctly handle the maintenance exception thrown by Magento's Bootstrap.
  • Frontend area code is now set before rendering CMS content (fixes "area code not set" errors).
  • HttpResponse singleton pollution fixed via a factory pattern.
  • Added Cache-Control headers to prevent caching of the maintenance response.

[2.0.0] - 2026-03-03

Feature

  • Freemium split: free edition keeps the essentials, Pro edition adds scheduled maintenance, pre-maintenance banner, Hyvä/Breeze themes, multilingual templates, CIDR whitelist and license management.
  • License changed from proprietary to MIT for the free edition.

Admin

  • IP whitelist now supports exact match only (CIDR moved to wimakeit/module-maintenance-pro).
  • Single English template (multilingual templates moved to Pro).
  • Default Luma styling only (Hyvä/Breeze moved to Pro).

[1.1.0] - 2026-03-03

Feature

  • Scheduled maintenance with start/end date-time.
  • Pre-maintenance warning banner on the frontend.
  • Admin preview button to render the maintenance page without enabling maintenance.
  • New cron job wimakeit_maintenance_schedule_check running every minute.

[1.0.0] - 2026-03-03

Feature

  • Initial release.
  • Custom CMS page rendered during maintenance instead of 503.php.
  • Admin configuration panel at Stores → Configuration → Wimakeit → Maintenance.
  • IP whitelist with CIDR notation (IPv4 and IPv6).
  • Bypass secret URL parameter (timing-attack safe).
  • Configurable HTTP status codes (503, 200, 500, 502, 504) and Retry-After header.
  • CLI commands wimakeit:maintenance:enable / :disable.
  • Multilingual CMS pages per store view.
  • Theme-specific styling for Luma, Hyvä and Breeze.

Found a bug? Tell us about it.

A short form opens in a new tab — the module name and your language are already filled in. Share what you tried, what went wrong, and we will get back to you within one business day.

Report a bug for Maintenance Page
Module SKU: wimakeit-module-maintenance · Language: en_US

Need help?

Our team is available to assist with integration.

Contact us
Planifier un appel