Turn on maintenance mode without ever locking yourself out of admin
Magento's own bin/magento maintenance:enable blocks the admin panel along with everything else — the one place you'd need to fix it from. This module structurally exempts /admin, no matter what.
One-time license · no monthly fee · 30-day money-back guarantee
Everything from Stores > Configuration — nothing else to learn
A real toggle over Magento's own maintenance flag, plus a maintenance page builder most stores would otherwise hand-code.
Admin is never blocked
A global plugin exempts adminhtml from the gate at the exact layer Magento resolves areas — not a config flag you could forget to set.
Custom maintenance page
Title, message, background image, logo, and social icons — or switch to a full CMS Page (Page Builder) for complete design freedom.
Live countdown + auto-disable
Set a time to automatically turn maintenance mode back off, with a real days/hours/minutes/seconds countdown shown on the page.
Newsletter signup that still works
The one frontend request maintenance mode still allows through, wired to your store's real Newsletter Subscribers.
Cloudflare / CDN aware
Trusted Proxy header support so your allow-listed IP still works correctly behind Cloudflare or another reverse proxy.
API-aware, not just HTML
webapi_rest/webapi_soap/GraphQL clients get a clean JSON response instead of an HTML page during maintenance.
Why this exists: core Magento's maintenance mode check runs in Bootstrap, before Magento even knows whether a request is frontend or admin — there's no "area" yet to exempt. An admin who turned maintenance mode on without first allow-listing their own IP got locked out of /admin too, with no way back in short of deleting a file on the server. This module fixes that structurally: one plugin neutralizes core's early, pre-area gate; the real gate runs downstream, after Magento has resolved the area, and exempts adminhtml unconditionally.
Install & configure
1After purchase, download the module as a .zip from your account dashboard and copy it into app/code/TVTCommerce/MaintenanceMode.
bin/magento module:enable TVTCommerce_MaintenanceMode
bin/magento setup:upgrade
bin/magento cache:flush
2Paste your license key under Stores > Configuration > TVTCommerce > Maintenance Mode > License.
3Set your allow-listed IPs, page title/message, and optional countdown, then switch Enable Maintenance Mode to Yes when you're ready.
Enabling and disabling Magento 2 maintenance mode: quick reference
Enable: run bin/magento maintenance:enable from your Magento root. This blocks every frontend and admin request except allow-listed IPs.
Disable: run bin/magento maintenance:disable to turn it back off immediately.
Allow-list an IP: run bin/magento maintenance:enable --ip-range=203.0.113.5, listing one or more IPs/ranges separated by spaces. Add your own IP before enabling, or you'll be locked out along with everyone else.
Does it also block admin? Yes, by default — Magento's maintenance check runs in Bootstrap, before it even knows a request is headed to /admin, so there's no area to exempt yet at that point. See "Why this exists" above for how this module fixes that structurally instead of relying on the CLI flag, or read the full walkthrough: How to Put Your Magento 2 Store in Maintenance Mode Without Locking Yourself Out of Admin.
Buy once. Own it.
One-time license, no monthly fee — a license only unlocks turning maintenance mode on, nothing else in the module is gated.
Running an AI-first admin already?
TVT Commerce also builds AI Copilot, an in-admin assistant for catalog, sales, and CMS, plus AI Merchandiser for pricing, reorder, and dead-stock suggestions.