Curtains lets you draw a polished "curtain" over your site — a maintenance screen or a coming-soon launch page — while keeping admins, allow-listed IPs, and people holding a secret preview link working as normal. It ships with a custom control-panel section, CLI commands for your deploy scripts, a deploy banner, email signup capture, a countdown timer, and two designed layouts.
Features
Maintenance
- Enable/disable from the control panel or the command line
- Correct 503 Service Unavailable response (with
Retry-Afterwhen an end time is scheduled), or 200 if you prefer - Optional no-cache headers so the curtain is never cached by browsers or proxies
- Admin bypass — logged-in users with CP access keep browsing
- IP allowlist with CIDR range support (toggleable)
- Named secret preview links with an optional expiry (or never) — listable and revocable on demand
- Optional automatic start and end times for scheduled deployment windows
- Custom heading and message
Deployment
- CLI commands:
curtains/on,curtains/off,curtains/status— drop them straight into your deploy pipeline - Deploy banner shown to admins across the CP (e.g. "Maintenance mode enabled by John Doe 5 minutes ago"), toggleable
Launch / coming soon
- Countdown timer to a target date (its own field, falling back to the scheduled end)
- Email signup capturing name and email, stored in Craft and exportable to CSV, with honeypot + per-IP throttle to deter spam
- Configurable signup button text and success message
- Social and contact icons (Facebook, X, LinkedIn, YouTube, Pinterest, Instagram, WhatsApp, email, phone)
- Analytics (GA4 measurement ID or a custom snippet)
- SEO controls (title, description,
X-Robots-Tag/noindex)
Design
- Minimal layout — background image, logo, message, countdown, email form, social links
- Split screen layout — image on the left or right, content on the other side
- Configurable background colour, text colour, accent colour, background image, logo, and favicon
Extras
- Device preview mode (desktop / tablet / mobile) so you can check the curtain before raising it
- Dashboard "Curtains" widget (status, enabled at, scheduled off at, allowed IPs, subscribers)
- Granular permissions so you can scope access per user group
- Fully translatable (all strings run through the
curtainstranslation category)
Installation Instructions
To install this plugin, copy the command above to your terminal.
Reviews
This plugin doesn't have any reviews.
Active Installs
0
License
MIT
Last release
June 20, 2026
Activity (30 days)
0
Closed Issues
0
Open Issues
0
Merged PRs
0
Open PRs











