Maintenance Page
v2.0.14
Maintenance Page
- Updates and support included for 12 months
- Full documentation included
- Compatible with Hyvä themes
- Composer-ready installation
Maintenance — Free Edition
Vervang de standaard 503.php van Magento door een echte, gebrande CMS-pagina tijdens onderhoudsvensters. De free edition is de no-frills-optie: kies een CMS-pagina, stel een bypass-secret in of whitelist uw kantoor-IP's, en uw klanten zien een nette pagina in plaats van een ruw error-template zodra u maintenance mode aanzet.
De plugin haakt in op het catchException-flow van Magento, dus hij wordt geactiveerd op exact het moment dat de native bin/magento maintenance:enable de 503 zou hebben getoond — geen extra cron, geen scheduling, geen verrassingen. Een ingebouwd Engels fallback-template dekt het geval waarin de geconfigureerde CMS-pagina ontbreekt.
Voor wie
- Handelaars die een nette maintenance-pagina willen zonder voor de Pro-editie te betalen
- Stores die onderhoud handmatig plannen via
bin/magento maintenance:enableen een beter klantgericht scherm willen - Bureaus die deploys voorbereiden voor klanten die hechten aan merkconsistentie, zelfs tijdens downtime
Belangrijkste voordelen
- Custom CMS-pagina — kies elke CMS-pagina in de admin; de module rendert hem met frontend area code, dus blocks en widgets werken.
- IP-whitelist (exact match) — laat uw kantoor, monitoring of CI maintenance bypassen. CIDR-ranges zijn een Pro-feature.
- Bypass secret URL — deel een
?maintenance_bypass=YOUR_SECRET-link met staff en externe testers. Versleuteld opgeslagen in de admin config. - Admin-toegang toggle — houd het admin panel optioneel bereikbaar tijdens maintenance zodat u het werk kunt afmaken.
- HTTP-status configureerbaar — retourneer 503 (default, correct voor SEO), 200 of 302 afhankelijk van het gebruik. Configureerbare
Retry-After-header. - Stille logging in productie — interne traces achter een admin-debug-toggle, zodat
system.logniet gespammed wordt door PHP 8.2/8.3-deprecation-notices die defensief door de plugin worden opgevangen. - MIT-licentie — installeer op zoveel stores als u wilt, pas het template vrij aan.
Compatibiliteit
- Magento 2.4.x / Mage-OS equivalent
- PHP 8.1, 8.2, 8.3
- Vereist
wimakeit/module-core3.0.9 of hoger - Ingebouwd Engels template — meertalige templates, scheduled maintenance, pre-maintenance banner, Hyvä-/Breeze-support en CIDR-whitelist zitten in
wimakeit/module-maintenance-pro
Installeer deze module via Composer. Zorg ervoor dat uw auth.json is geconfigureerd met uw Wimakeit-inloggegevens.
$ 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:
| Resource | Default |
|---|---|
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
| Setting | Default |
|---|---|
| Enable Custom Maintenance Page | No (opt-in) |
| CMS Page | site-under-maintenance |
| Use Fallback Template | Yes |
| HTTP Status Code | 503 |
| 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 Panel | No (admin remains accessible) |
| Enable Debug Logging | No — 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
- Versie
- v2.0.14
- Licentie
- Eeuwigdurende licentie
- Ondersteuning
- 12 maanden
- Last updated
- 5 jun. 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ä
- Compatibel
- Pakket
-
wimakeit/module-maintenance
Compatibility checker
Pick your stack to see if this module fits.
Compatibiliteit 4
Prijs & licentie 4
bin/magento module:disable; opruimen gebeurt automatisch via de revert van de setup patch. composer require in vendor/wimakeit/ terecht; u kan ze lezen, auditen en lokaal patchen voor uw eigen Magento-installatie. U mag de code NIET herverspreiden, sublicentiëren, op een publiek Composer-register publiceren of doorverkopen. Eén licentie = één productiedomein + één staging/dev-domein (zie de algemene voorwaarden voor de volledige EULA). Wimakeit-modules staan NIET op het publieke packagist.org — ze worden uitsluitend verspreid via het private Composer-register packages.wimakeit.be. Installatie & updates 6
composer require wimakeit/module-maintenance:^2.0.12 uit, daarna bin/magento setup:upgrade, bin/magento setup:di:compile en tot slot bin/magento cache:flush. Het tabblad Installation op deze pagina lijst elke configuratiestap (ACL's, crons, defaultwaarden) — een deploy duurt minuten, geen uren. Hulp nodig? Wimakeit biedt Magento-installatiediensten vanuit ons Waalse kantoor (Presles, tussen Charleroi en Namen). auth.json toe: {"http-basic": {"packages.wimakeit.be": {"username": "UW-E-MAIL", "password": "UW-TOKEN"}}}. Stap 3: registreer het repo: composer config repositories.wimakeit composer https://packages.wimakeit.be. Stap 4: composer require wimakeit/module-maintenance:^2.0.12. In CI/CD-pipelines injecteert u COMPOSER_AUTH als JSON-environment-variabele in plaats van auth.json te commit'en. composer require, zelfde modulecode, zelfde databaseschema — geen fork om te onderhouden, geen licentiewijziging. composer update blijft veilig binnen een major. app/design/frontend/{UwVendor}/{theme}/Wimakeit_{Module}/templates/ met hetzelfde relatieve pad. Blocks, ViewModels en Helpers worden overschreven via DI-preference in uw eigen custom module — declareer <preference for="Wimakeit\…\OriginalClass" type="UwVendor\Override\Class" /> in etc/di.xml. Layout-XML wordt uitgebreid (voorkeur) of overschreven op de standaard Magento-manier. Wimakeit-modules gebruiken nooit het keyword final op klassen die u redelijkerwijs zou willen override — overschrijven is een first-class scenario, geen hack. Support & beveiliging 3
contact@wimakeit.com met modulenaam, versie, Magento/Mage-OS-versie en reproduceringsstappen. Fixes verschijnen in de volgende patch. Wimakeit-support antwoordt in het Nederlands, Frans en Engels op werkdagen (CET-uren). contact@wimakeit.com met het voorvoegsel [SECURITY] in het onderwerp — vermeld de module, versie en reproductiestappen. Bevestiging op werkdagen, vermelding in het Changelog op verzoek. Wimakeit is een Belgische BV (besloten vennootschap) onderworpen aan Belgisch en Europees recht inzake privacy en responsible disclosure. Over Wimakeit 1
Iets gevonden dat niet in de FAQ staat?
Meld een bug of stel een vraag — het formulier is voor-ingevuld met deze module.
Changelog
Categories: Security, Feature, Fix, Perf, Admin, Deps.
[2.0.12] - 2026-05-26
Fix
- Default CMS page identifier changed from
maintenancetosite-under-maintenanceto 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:upgradewith 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:upgradeto fail on stores with stricter EAV validators.
[2.0.9] - 2026-05-10
Admin
- Debug logging now routes through a shared
Wimakeit\Maintenance\Logger\DebugLoggervirtualType — cleaner code, no behavior change. The toggle pathwimakeit_maintenance/general/debug_modeis unchanged. - The defensive
\Throwablecatch in HttpPlugin no longer writescriticallines for upstream PHP deprecation notices; demoted towarningand gated behind the debug toggle.
Deps
- Requires
wimakeit/module-core3.0.9+ for the shared debug logger and inheritedgetConfigSection()helper.
[2.0.8] - 2026-05-10
Feature
- New Enable Debug Logging admin toggle (General → Settings, default off). Keeps
var/log/system.logquiet 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 byaroundCatchException, 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:enableandwimakeit:maintenance:disableCLI commands. Use nativebin/magento maintenance:enable/:disable. Diagnostics live inwimakeit:maintenance:status. - Default
enabledchanged from1to0(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:statusCLI command for status output and troubleshooting tips.
Fix
- Plugin interception point moved from
launchtocatchExceptionto 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_checkrunning 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-Afterheader. - CLI commands
wimakeit:maintenance:enable/:disable. - Multilingual CMS pages per store view.
- Theme-specific styling for Luma, Hyvä and Breeze.
Een bug gevonden? Laat het ons weten.
Een kort formulier opent in een nieuw tabblad — de modulenaam en uw taal zijn al ingevuld. Beschrijf wat u probeerde, wat misging, en wij komen binnen één werkdag bij u terug.
Een bug melden voor Maintenance PageHulp nodig?
Ons team helpt u graag met de integratie.