Title: Launch Curtain
Author: Hook Master
Published: <strong>August 23, 2026</strong>
Last modified: August 23, 2026

---

Search plugins

![](https://ps.w.org/launch-curtain/assets/banner-772x250.png?rev=3661544)

![](https://ps.w.org/launch-curtain/assets/icon-256x256.png?rev=3661544)

# Launch Curtain

 By [Hook Master](https://profiles.wordpress.org/hookmaster/)

[Download](https://downloads.wordpress.org/plugin/launch-curtain.4.10.1.zip)

 * [Details](https://wordpress.org/plugins/launch-curtain/#description)
 * [Reviews](https://wordpress.org/plugins/launch-curtain/#reviews)
 *  [Installation](https://wordpress.org/plugins/launch-curtain/#installation)
 * [Development](https://wordpress.org/plugins/launch-curtain/#developers)

 [Support](https://wordpress.org/support/plugin/launch-curtain/)

## Description

Launch Curtain shows visitors a branded “Coming Soon” page while a site is being
built, while logged-in administrators keep browsing the live site as usual. Everything
is configured from one settings screen — no code editing required — which makes 
the plugin equally suited to a single site or a whole roster of client projects.

**Design**
 * Four built-in themes — Classic, Minimal, Dark, Split — switchable 
in one click. * Customizable heading, subtitle, badges/tags, call-to-action button,
image and color palette. * Clickable social media icons (Instagram, Telegram, WhatsApp,
Facebook, VK, YouTube, TikTok, X, LinkedIn, email, phone). * The stub is a normal
WordPress page with no theme header/footer, so it can be further refined in Elementor
or the block editor.

**Access & SEO**
 * Administrators (manage_options) always see the real site. * 
Optional list of IP addresses that always see the real site (client, designer, contractors).*
Two display modes: a simple redirect (302), or an in-place stub with a proper HTTP
503 status and Retry-After header — recommended for SEO during a temporary outage.*
Automatic noindex on the stub page while it’s active. * Optional auto-disable on
a scheduled date/time.

**Multilingual**
 * Fully translatable (WordPress i18n standard) — ships with an
English source and a Russian translation; add more via the included .pot file.

## Screenshots

[⌊The "Classic" theme — centered card, round image, pill-shaped badges.⌉⌊The "Classic"
theme — centered card, round image, pill-shaped badges.⌉[

The “Classic” theme — centered card, round image, pill-shaped badges.

[⌊The "Minimal" theme — large typography, no image, understated call-to-action link.⌉⌊
The "Minimal" theme — large typography, no image, understated call-to-action link
.⌉[

The “Minimal” theme — large typography, no image, understated call-to-action link.

[⌊The "Dark" theme — glowing heading, accent-colored badge outlines and button.⌉⌊
The "Dark" theme — glowing heading, accent-colored badge outlines and button.⌉[

The “Dark” theme — glowing heading, accent-colored badge outlines and button.

[⌊The "Split" theme — full-height image (or gradient) on one side, content on the
other.⌉⌊The "Split" theme — full-height image (or gradient) on one side, content
on the other.⌉[

The “Split” theme — full-height image (or gradient) on one side, content on the 
other.

## Installation

 1. Upload the `launch-curtain` folder to `/wp-content/plugins/`, or install the plugin
    directly through the “Plugins  Add New” screen in WordPress.
 2. Activate the plugin through the “Plugins” screen.
 3. On activation, the plugin automatically creates a “Coming Soon” page and turns 
    the stub on.
 4. Go to “Settings  Launch Curtain” to choose a theme, edit the text/image/colors,
    add social links, and adjust access settings.
 5. Click “Save” — the stub page is rebuilt with your changes and is live immediately
    for anyone who isn’t logged in as an administrator.

#### Updating from a previous version

Just replace the plugin files as usual (or update through the Plugins screen once
the plugin is listed in the directory). Existing settings are preserved; only newly
added fields get their default value.

## FAQ

### Will visitors really not notice anything is wrong?

Yes. Regular visitors are shown the stub page instead of the rest of the site. Anyone
logged into WordPress as an administrator keeps seeing the real site as normal, 
so you can keep building without switching accounts or using a private/incognito
window.

### Can I edit the stub page’s design directly, instead of using the settings fields?

Yes. The stub is a normal WordPress page with no theme header/footer, so you can
open it in Elementor or the block editor and change anything by hand. Just keep 
in mind that clicking “Save” on the settings screen rebuilds the page from the settings
fields again, which would overwrite manual edits — use the settings fields for day-
to-day changes, and manual page editing for one-off design tweaks you don’t want
the plugin to touch again.

### Does this create a real redirect, and is that bad for SEO?

You choose. “Redirect (302)” sends visitors to the stub page’s own URL — simple,
but the address bar changes. “No redirect (503 + Retry-After)” shows the stub at
whatever URL the visitor requested, with a proper HTTP 503 status — the approach
generally recommended for a temporary outage, since search engines understand the
site is only temporarily unavailable instead of treating it as a permanent change.

### Can I let specific people (client, designer, QA) see the real site without logging in?

Yes — add their IP address under “Always show the real site to” in the settings.

### What happens to my content if I deactivate or delete the plugin?

Deactivating just stops the redirect; the stub page itself stays in your Pages list
untouched. Deleting the plugin removes its settings but does not delete the stub
page — you can keep, edit, or delete that page like any other.

### Does this plugin link back to the developer anywhere?

Yes — a small, unobtrusive “Powered by Hookmaster” text link appears at the bottom
of the stub page, pointing to the developer’s wordpress.org profile. It doesn’t 
collect or send any data, doesn’t affect functionality or performance, and isn’t
an advertisement for a third party.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Launch Curtain” is open source software. The following people have contributed 
to this plugin.

Contributors

 *   [ Hook Master ](https://profiles.wordpress.org/hookmaster/)

“Launch Curtain” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/launch-curtain/contributors)
for their contributions.

[Translate “Launch Curtain” into your language.](https://translate.wordpress.org/projects/wp-plugins/launch-curtain)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/launch-curtain/), check
out the [SVN repository](https://plugins.svn.wordpress.org/launch-curtain/), or 
subscribe to the [development log](https://plugins.trac.wordpress.org/log/launch-curtain/)
by [RSS](https://plugins.trac.wordpress.org/log/launch-curtain/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 4.10.1

 * The social icons block is now genuinely escaped with `wp_kses()` and a purpose-
   built tag/attribute allowlist (svg/path/rect/circle/text plus the wrapping div/
   a), instead of a `phpcs:ignore` suppression. This matters because the icon set
   is filterable via `launcu_social_icons` for future extensibility, so its output
   could no longer be assumed to always be hardcoded, trusted markup — real escaping
   now provides a genuine safety net if a third-party filter callback ever returns
   something unexpected.

#### 4.10.0

 * Addressed WordPress.org plugin review feedback:
    - All function names, constants, option names, nonce actions, hook names and
      form fields now use the `launcu_`/`LAUNCU_` prefix instead of the too-short`
      lc_`/`LC_`, to avoid collisions with other plugins/themes.
    - The stub page’s base background style is now properly registered and enqueued(`
      wp_register_style()` + `wp_add_inline_style()`) instead of a raw `<style>`
      tag in the template — and now uses the actual configured background color 
      instead of a hardcoded one.
    - The “Powered by Hookmaster” credit link is now off by default and only appears
      if the site administrator explicitly opts in via a checkbox in Settings — 
      it’s no longer shown automatically.

#### 4.9.3

 * Fixed a second, missed occurrence of the same Plugin Check error: the small platform
   icon shown next to each social link field on the settings page (not just the 
   frontend icons) also needed the same `phpcs:ignore` documentation.

#### 4.9.2

 * Fixed the one remaining Plugin Check error: the social icon SVG output in `lc_social_html()`
   is now documented with `phpcs:ignore` — `lc_social_icon_svg()` only ever returns
   one of a small set of hardcoded, developer-authored SVG strings (never user input),
   so it doesn’t need runtime escaping.

#### 4.9.1

 * Fixed all issues found by the official Plugin Check tool (25 errors, 7 warnings):
    - Added the required “License” field to the plugin header (was only in this 
      readme before).
    - Removed the discouraged `load_plugin_textdomain()` call — WordPress has auto-
      loaded bundled plugin translations since 4.6, so this was unnecessary and 
      is now handled automatically.
    - Nonce values read from `$_POST` are now unslashed and sanitized before verification(`
      wp_verify_nonce()`), per WordPress coding standards.
    - Documented (with `phpcs:ignore` + a reason) the handful of places where a 
      helper function/variable already built from escaped pieces (`esc_html()`/`
      esc_attr()`/`esc_url()`) is echoed as a whole — automated scanners can’t trace
      escaping through a variable, so these are expected, reviewed exceptions, not
      unescaped output.
    - The `.distignore` file (a build-tool helper, not part of the plugin itself)
      is no longer bundled into the distributed zip, since hidden/dot files aren’t
      allowed in the WordPress.org package.

#### 4.9.0

 * “Powered by Hookmaster” is no longer a user-toggleable setting — the checkbox
   has been removed, and the credit link is always shown in the free version. The
   only way to remove it is the `lc_show_credit` filter, reserved for a future Pro
   add-on (`add_filter('lc_show_credit', '__return_false');`).
 * “Powered by Hookmaster” now stays in English on every locale, including Russian—
   it’s a brand name, not translated content.

#### 4.8.1

 * Credit link now points to the author’s wordpress.org profile (https://profiles.
   wordpress.org/hookmaster/) instead of the plugin’s own page, and reads “Powered
   by Hookmaster” — works as a brand credit for any future hookmaster plugin, not
   just this one.

#### 4.8.0

 * New developer hooks for a future Pro add-on: `lc_themes` and `lc_page_content`
   filters let extra themes be registered without touching core; `lc_social_platforms`/`
   lc_social_icons` let extra social networks be added; `lc_is_visitor_bypassed`
   filter for custom access rules (e.g. password protection); `lc_default_settings`/`
   lc_sanitize_settings` filters and `lc_settings_page_after_theme` / `lc_settings_page_end`
   action hooks for extra settings sections.
 * New optional “Powered by Launch Curtain” credit link at the bottom of the stub
   page (Settings  Credit link), on by default, can be turned off. Also filterable
   via `lc_show_credit` for a future Pro add-on.

#### 4.7.0

 * New: “Suggest colors for this theme” button next to the theme picker — fills 
   in background/accent/text colors with a palette suited to the selected theme (
   e.g. a dark background for the Dark theme). Previously, switching the theme never
   touched colors, so Dark/Split could end up rendered with the light Classic palette
   by mistake.
 * Split theme: added a safety cap (max-height + align-content) on the image column
   so a very tall/large source image can’t stretch to fill the whole viewport height
   on mobile.

#### 4.6.2

 * Fixed: the WhatsApp field now accepts a plain phone number (like the Phone field),
   not just a full https://wa.me/… link. Previously, entering just a number produced
   a broken relative link on the site instead of opening WhatsApp. Also, any other
   social link field now defaults to https:// if the protocol is left out, instead
   of silently becoming a broken relative link.

#### 4.6.1

 * Ready for WordPress.org submission: added Installation, FAQ and Screenshots sections
   to this readme; added uninstall.php (removes the plugin’s own settings on delete,
   leaves the stub page untouched); added .distignore for clean release builds; 
   bumped “Tested up to” to 7.0.

#### 4.6.0

 * Social media links are now individual fields (one per platform, each with its
   own icon shown right in the settings screen) instead of a single free-form text
   box — clearer and less error-prone to fill in.
 * Plugin description rewritten to be more professional/benefit-led (shown in the
   Plugins list and on this page).

#### 4.5.0

 * Кликабельные иконки соцсетей — новое поле «Social media icons» / «Иконки соцсетей»,
   формат «платформа|url» (instagram, facebook, vk, telegram, whatsapp, youtube,
   tiktok, twitter/x, linkedin, email, phone; любая другая платформа получает обычную
   иконку-ссылку). Отображаются во всех 4 темах, цвет — акцентный.
 * Elementor: содержимое заглушки — валидный самодостаточный HTML (все стили инлайн,
   нет внешних скриптов/шрифтов), это минимизирует риски при редактировании в любом
   визуальном редакторе. Важный нюанс: при первом клике «Редактировать в Elementor»
   на уже созданной странице Elementor обычно оборачивает имеющийся контент в один
   виджет Text Editor, а не разбивает его на отдельные виджеты — это поведение самого
   Elementor, не плагина. Для точечного редактирования (без риска, что TinyMCE что-
   то поправит в разметке) на странице настроек добавлена подсказка: при необходимости
   пересоздайте нужный блок как отдельный виджет Elementor «HTML» и вставьте туда
   фрагмент разметки.

#### 4.4.0

 * Новая кнопка «Reset text to defaults» / «Сбросить текст к значениям по умолчанию»—
   возвращает только текстовые поля (надпись, заголовок, подзаголовок, метки, кнопка,
   футер) к дефолтам на текущем языке сайта, не трогая цвета/тему/картинку/доступ.
   Пригодится, если в полях остался старый текст (например, после тестирования более
   ранней версии плагина до появления перевода).

#### 4.3.0

 * Плагин полностью переводимый (стандартный WP i18n): все строки интерфейса обёрнуты
   в функции перевода, исходный язык кода — английский.
 * Добавлен launch-curtain.pot (шаблон для новых переводов) и готовый перевод на
   русский (languages/launch-curtain-ru_RU.mo) — на сайте с русской локалью админка
   выглядит как раньше, на любой другой локали (включая английскую) — на английском.
 * Значения по умолчанию для текста заглушки (заголовок, подзаголовок, метки, кнопка)
   тоже переводятся — на новом сайте с другой локалью заглушка создаётся сразу на
   этом языке.

#### 4.2.0

 * Кнопка «Сохранить» теперь сразу пересоздаёт страницу-заглушку с новыми настройками(
   текст/картинка/тема применяются без отдельного шага, как раньше работала кнопка«
   Пересоздать»).
 * Метки/теги по умолчанию — убраны примеры про торты, заменены на нейтральные «
   Сайт в разработке» / «Сообщим о запуске».

#### 4.1.0

 * Исправлена загрузка изображения в настройках — скрипт медиатеки вынесен в отдельный
   файл и грузится надёжнее (старая проверка hook suffix могла молча не подключать
   нужные скрипты).
 * Добавлены 3 новые темы оформления заглушки: «Минимализм», «Тёмная», «Сплит» —
   плюс исходная «Классика», всего 4.

#### 4.0.0

 * Настройки содержимого заглушки (текст, картинка, цвета, кнопка, метки) через 
   страницу настроек — больше не захардкожено под один сайт.
 * Загрузка изображения через медиатеку WordPress вместо встроенной в код картинки.
 * Режим показа без редиректа (HTTP 503 + Retry-After) для более бережного к SEO
   варианта.
 * Список IP-адресов с постоянным доступом к настоящему сайту.
 * Автоматическое отключение заглушки по расписанию.

#### 3.0.1

 * Первая версия.

## Meta

 *  Version **4.10.1**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/launch-curtain/) and [Russian](https://ru.wordpress.org/plugins/launch-curtain/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/launch-curtain)
 * Tags
 * [coming soon](https://wordpress.org/plugins/tags/coming-soon/)[maintenance mode](https://wordpress.org/plugins/tags/maintenance-mode/)
   [under construction](https://wordpress.org/plugins/tags/under-construction/)
 *  [Advanced View](https://wordpress.org/plugins/launch-curtain/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/launch-curtain/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/launch-curtain/reviews/)

## Contributors

 *   [ Hook Master ](https://profiles.wordpress.org/hookmaster/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/launch-curtain/)