Skip to content
In development1.0 (in development)

Maintenance Mode & Coming Soon

A coming-soon page your team can edit live, while they keep working on the real site.

Show visitors a maintenance or coming soon page while your team keeps working on the full site. Edit it with live editing, let guests in with a secret link or password, and keep search engines happy with proper 503 responses.

EmDash 1.1+ · Astro 7 · Cloudflare Workers Free & Paid · Node.js

Features

Everything you need, nothing you don't

Edit it like any other page

Pick an entry from your site — for example a page called “Coming soon” — and edit it in the EmDash admin with live editing. No templates to touch.

Your team sees the whole site

Logged-in users browse and edit normally. Choose who bypasses: editors and admins (default), admins only, or every logged-in user.

Let guests in

Share a secret preview link or set a password visitors can type on the page. Revoke every guest's access with one click.

Search-engine friendly

Visitors get 503 Service Unavailable with Retry-After and noindex, so search engines wait instead of indexing the placeholder.

One switch, no redeploy

Turn it on and off from the plugin page in the admin. Changes apply in seconds.

Runs on Workers Free

Works in the plugin sandbox when your site has one, and in-process when it doesn't — including the Cloudflare Workers Free plan.

Transparency

What it does, and what it doesn't

So you can decide whether to trust it before installing.

It does

  • Reads the entries you can choose as the maintenance page (content:read).
  • Only if you enter a Pro license key: contacts api.lemonsqueezy.com to activate and validate it, about once a day. Without a key it makes no network requests.
  • Sets a secure, HttpOnly cookie only for guests who use the preview link or the password.
  • Stores its own settings in your EmDash database. Guest passwords are stored only as a salted hash.

It doesn't

  • Send any data about your visitors, your content or your users anywhere.
  • Add analytics, tracking or third-party scripts to your pages.
  • Change your content model or your existing content.
  • Lock you out: on any internal error it lets visitors through, and your site keeps working if the license server can't be reached.

Install

Up and running in two minutes

  1. 1. Add the package to your EmDash site.
  2. 2. Register it in astro.config.mjs and deploy.
  3. 3. Open the plugin in the EmDash admin and configure it. Paste your license key there if you have one.
terminal
$ pnpm add emdash-maintenance-mode
astro.config.mjs
// astro.config.mjs
import maintenanceModePlugin from "emdash-maintenance-mode";
import maintenanceMode from "emdash-maintenance-mode/astro";

export default defineConfig({
  integrations: [
    emdash({ plugins: [maintenanceModePlugin] }),
    maintenanceMode(),
  ],
});

Pricing

Free forever. Pro when you want it.

Annual plans include updates and support while active. Lifetime plans include all 1.x updates.

Free

Every feature, unlimited sites.

€0forever

  • Every feature, no limits
  • Unlimited sites
  • Live-editable maintenance page
  • Team bypass, preview links, passwords
  • SEO-safe 503 responses
  • Small “Powered by” badge on the page
Install for free

Pro · Single site

Activate on 1 site.

€9/ year

€29one-time

VAT may apply at checkout.

  • Everything in Free
  • Hide the “Powered by” badge
  • Priority email support
  • Updates included (annual) or all 1.x updates (lifetime)
  • Move the license between sites anytime
Best value

Pro · 5 sites

Activate on 5 sites.

€29/ year

€89one-time

VAT may apply at checkout.

  • Everything in Free
  • Hide the “Powered by” badge
  • Priority email support
  • Updates included (annual) or all 1.x updates (lifetime)
  • Move the license between sites anytime

14-day money-back guarantee Secure checkout by Lemon Squeezy Your site is never blocked

Why we built it

Every new EmDash site goes through a phase where it exists but shouldn't be public yet: the launch is next week, the content is half-written, a migration is running. Maintenance Mode & Coming Soon gives that phase a proper front door, without hacks in your templates and without redeploying when you flip the switch.

How it works

The package has two parts that you install together. The plugin adds an admin page where you turn the mode on, pick the page to show and manage guest access. It runs in the EmDash plugin sandbox when your site has one, and in-process on Workers Free. The companion is a tiny Astro integration that shows the maintenance page to visitors. It has no dependencies, makes no network requests and only reads the plugin's settings.

EmDash plugins can't intercept requests to public pages, which is why that small companion exists. Removing both lines from astro.config.mjs uninstalls everything.

Built to fail open

If anything goes wrong — a database error, a corrupted setting, the license server being unreachable — visitors are let through to your real site. A maintenance plugin should never be the reason your site goes down.

Licensing in plain words

All features are free on unlimited sites, with a small "Powered by" badge on the maintenance page. A Pro license adds a Hide badge switch. If an annual license ends, the badge comes back and nothing else changes. See the full license terms.

FAQ

Frequently asked questions

Is it really free?

Yes. Every feature works on as many sites as you like. The free version shows a small “Powered by” badge at the bottom of the maintenance page. A Pro license only lets you hide it.

What happens when my annual license ends?

The badge comes back on the maintenance page. Nothing else changes and your site is never blocked.

Can I move a license to another site?

Yes. Use “Deactivate on this site” in the plugin page, then activate the key on the new site. Local development on localhost never needs a key.

Does it work on the Cloudflare Workers Free plan?

Yes. Without a plugin sandbox the plugin runs in-process; with Workers Paid it can run sandboxed or be installed from the EmDash registry. It behaves the same either way.

Does it phone home?

No. Without a license key it makes no network requests at all. With a key it only talks to api.lemonsqueezy.com to validate it, about once a day.

Can I get a refund?

Yes — every purchase is covered by a 14-day money-back guarantee. Email support@bempensato.com with your order number.