=== Mloun Site Offline ===
Contributors: mloun, hackenwu
Tags: maintenance mode, coming soon, offline, under construction, countdown
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.0.0
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Temporarily close the frontend while building. Visitors see an animated Coming Soon page; only admins, allowlisted IPs or logged-in users can view it.

== Description ==

**Mloun Site Offline** lets you take a WordPress site offline while you build or maintain it, without touching the theme.

= Features =

* **Maintenance mode** — one switch closes the frontend for everyone except authorized visitors.
* **3 full-screen particle backgrounds** — choose between *Particle Ring*, *Block Drift*, and *ASCII Rain*. All are dependency-free Canvas 2D animations.
* **Coming Soon title** — built-in, translatable, editable.
* **Live countdown** — set a launch datetime and show a Days/Hours/Minutes/Seconds timer.
* **Contact info** — show email, phone, and address on the offline page.
* **Who can bypass** — logged-in users by capability, or an IP allowlist (supports CIDR).
* **SEO safe** — returns `503 Service Temporarily Unavailable` + `noindex` by default (switchable to `200`), and sends `no-cache` headers so CDNs (Cloudflare / LiteSpeed) never cache the offline page.
* **Excluded paths** — always allow login, admin, REST API, Ajax and cron; add your own paths (e.g. payment webhooks).
* **Multilingual** — fully translatable via the standard WordPress text domain.

= Who should use it =

Agencies and developers building B2B / WooCommerce sites (Woodmart, Elementor) who need a polished "Coming Soon" screen instead of a half-built homepage.

== Installation ==

1. Upload the `mloun-site-offline` folder to `/wp-content/plugins/`.
2. Activate the plugin through the **Plugins** screen.
3. Go to **Settings → Site Offline** to configure the background, text, countdown and contacts.
4. Enable **Maintenance mode** to take the site offline.

== Frequently Asked Questions ==

= Will search engines penalize my site? =

No. By default the offline page returns `503` with `noindex`, telling crawlers the site is temporarily unavailable and to come back later.

= Does it work with Cloudflare / LiteSpeed? =

Yes. The plugin sends `no-cache` headers so edge caches do not serve a stale offline page. For extra safety, set a page rule / Edge Cache TTL of 0 on the homepage while building.

= How do I let a client or team member see the real site? =

Add their IP address to the **IP allowlist** (Settings → Site Offline → Who can see the real site), or log in with an account that has the chosen capability (e.g. Administrator). They will then see the real site while everyone else sees the Coming Soon page.

== Screenshots ==

1. Settings screen, General section: the maintenance mode switch, background effect, title, message, launch datetime and contact details.
2. Settings screen, access rules: who can see the real site (bypass capability, IP allowlist, excluded paths) and the SEO response mode.
3. Offline page with the Particle Ring background, live launch countdown and contact cards.
4. Offline page with the ASCII Rain background, live launch countdown and contact cards.
5. Offline page with the Block Drift background, live launch countdown and contact cards.

== Changelog ==

= 1.0.0 =
* Initial release: maintenance mode, 3 particle backgrounds, countdown, contact info, IP allowlist bypass, SEO-safe 503.
