WebProCMS ships with a built-in Coming Soon (pre-launch) mode. When enabled, the public sees a standalone "coming soon" landing page instead of your real pages, while signed-in staff keep browsing — and building — the live site. It's off by default and adds zero overhead to sites that don't use it.
What it's for
Use it while you're setting a site up but haven't launched yet:
- Point the domain at the CMS and put up a branded "launching soon" placeholder for the public.
- Log in and build out pages, menus, branding, and content behind the scenes — the public never sees your work-in-progress.
- Preview exactly what visitors see at any time, then flip the switch off to go live.
It replaces the old "throw up a static index.html" workflow: the placeholder is on-brand automatically and disappears the moment you disable the mode — no redeploy, no file swap.
Already launched and making changes? Use Maintenance Mode instead — it's the same idea but serves a 503 + Retry-After, so search engines treat the downtime as temporary and your rankings stay intact. Coming Soon serves a 200 because pre-launch, the placeholder is the site. If both are enabled, visitors see the maintenance page.
How it works
- The public sees the gate. Every guest, member, or below-Manager visitor gets the coming-soon page for any public URL, with a
noindex, nofollowmeta tag so search engines don't index pre-launch content. - Staff see the live site. Signed-in staff at the Manager role or above (the same people who get the on-page edit button) keep seeing real pages so they can work. A small reminder banner floats at the bottom of the page telling them the public is currently gated, with a one-click Preview it link.
- Staff can preview the gate. Clicking Preview it (or visiting
?coming-soon-preview=on) flips a per-session toggle so the staff member sees exactly what the public sees, with a Back to live site link to return. The toggle is staff-only — a visitor appending the query string can't use it. - Authentication and the dashboard always stay open. Login, password reset, two-factor, SSO, passkeys, the whole dashboard, framework/asset endpoints, and internal beacons are never gated — so an admin can always log in to lift the mode.
Turning it on
Dashboard → Settings → General → Coming Soon. Flip the switch, then configure the page:
- Eyebrow label — the small pill above the heading (default: "Coming soon"). Leave blank to hide.
- Heading — the large headline (default: "We're launching soon").
- Message — the supporting paragraph.
Leave any copy field blank to hide it. The page automatically uses your site logo and colors from the Branding page (Dashboard → Settings → Branding) — including the dark-logo variant on dark systems — and falls back to your site name when no logo is set. It renders correctly on light and dark systems.
Architecture
The gate is a web-group middleware (ComingSoonGate) backed by a small support class (ComingSoon). Both this gate and Maintenance Mode extend a shared base — PublicSiteGate (request flow, staff pill) over SiteGate (staff rules, exempt paths, copy settings) — so the two gates' bypass semantics and always-open path list are identical by construction. The standalone page is resources/views/coming-soon.blade.php, a thin wrapper over the shared partials/site-gate-page — fully self-contained (inline CSS + the branding style block), so it renders identically on build and node-free installs with no CSS-bundle dependency.
Cache safety is structural. The middleware runs before the route-level response cache (CacheResponse), so a gated request is short-circuited and never written to the shared guest cache. Signed-in staff bypass the response cache entirely (GuestOnlyCacheProfile), so the per-staff preview toggle can never poison what guests see. Toggling the mode (or editing its copy/logo) clears the response cache so the change takes effect immediately.
When disabled, every callsite short-circuits in a single Setting read and the public site behaves byte-identically to a build without the feature — no middleware work, no markup, zero overhead.
Settings keys
All under the coming_soon.* namespace:
| Key | Meaning |
|---|---|
coming_soon.enabled |
Master on/off switch (bool, default false) |
coming_soon.eyebrow |
Small pill label above the heading |
coming_soon.heading |
Large headline |
coming_soon.message |
Supporting paragraph |
The logo and palette are read from the existing Branding settings (branding.logo_url, branding.dark_logo_url, and the brand color tokens) — the Coming Soon page has no logo of its own.