Gatekeeper by ROOGUL
Close the front end when you need to — for a launch, a content freeze, or planned work — and still let the right people in.
Gatekeeper adds per-site maintenance mode to Craft CMS 5, plus expiring access links so clients, freelancers, and stakeholders can preview the whole site or a single entry while everyone else is held at the gate.
Maintenance mode that fits real projects
Turn maintenance on or off from the control panel, the CLI, or an environment variable. State lives in the database, not project config, so you can flip it on production even when allowAdminChanges is off.
While it’s on:
- Visitors are redirected to a dedicated path (default
/maintenance) - That page returns a proper 503 with
Retry-After - Other URLs stay clear of the 503, so uptime monitors checking the homepage don’t treat the site as down
- JSON clients get a clear
{ success: false, message }response
Use your own Twig templates, or the built-in pages.
Access links, not shared passwords
Create links that open the whole site or one entry. Each link can have a label, an expiry, and an optional max-uses limit. Revoke it any time.
- Tokens are hashed and shown once — they can’t be recovered later
- Redeeming a link sets a signed, HttpOnly cookie
- Access is re-checked on every request, so revocation is immediate
- Create links from Gatekeeper → Access links, or from an entry’s sidebar
Who still gets through
- Signed-in users with the bypass permission (admins always)
- Allowed IPs and CIDR ranges (IPv4 and IPv6)
- Access link holders
- Craft Live Preview / CP preview tokens
- Configurable public actions (login, password reset, transforms, health check, and more)
Built for multi-site and production
- Maintenance is controlled per site
- Force maintenance on or off per environment via config / env
- Cache-safe headers while the gate is active (
Cache-Control,X-Robots-Tag) - Clears Craft element caches on toggle, and refreshes Blitz when it’s installed
- Hook
EVENT_AFTER_TOGGLEto purge your CDN
Privacy-aware by default
Link opens are logged with a timestamp. IP and user agent logging is off unless you turn it on.
Requires Craft CMS 5.0+ and PHP 8.2+.
To install this plugin, copy the command above to your terminal.
This plugin doesn't have any reviews.