Introducing coming soon mode

Over the years, we have received requests to provide more tools for new store owners to launch their store. It’s not an uncommon confusion about the current process. We received feedback from one segment of users worried about building their store in the open, while another segment asked us where to find the launch button.

In WooCommerce 9.1, scheduled for July 9, 2024, we plan to introduce a new coming soon mode to allow new store owners to build their store in private, as well as new onboarding tooling to provide guidance at the time of launch.

Coming soon mode

Stores in coming soon mode are protected by a new landing page that will be shown to visitors instead of the regular content.

This mode is controlled by a new “Site visibility” settings area. When coming soon mode is activated, additional toggles appear:

  • Restrict to store pages only.
    This is useful for merchants installing WooCommerce on an existing site. Only the WooCommerce store-related pages will be protected by coming soon mode.

Share your site with a private link.
This allows merchants to share the progress of their new store with friends, family, and colleagues without them needing to log in as an admin user.

Existing stores will default to live mode, while new stores that complete the Onboarding Wizard will default to coming soon mode. The following logic dictates whether the coming soon protection applies to the whole site or is restricted to store pages only:

  • Default to whole site: if the site is fresh (as determined by the fresh_site WordPress flag), and the first admin user registration date is less than a month ago.
  • Otherwise: enable the “Restrict to store pages only” toggle.

Block Template

Don’t like the purple? Sites with an active block theme have full access to customize the landing page template via the WordPress Site Editor. We envision that the site will take advantage of all the blocks the WordPress ecosystem has to offer here: from contact forms and newsletter sign-ups, to videos, images, and maps.

In the future, we will consider providing more templates to choose from. We will also explore customization options for classic themes as well.

Do you have an opinion about which enhancements you would find most useful? Continue below to learn where to leave us feedback.

Launch your store setup task

To provide more guidance, we introduced a new setup task to transition stores out of coming soon mode so they’re ready to start selling. The task opens a new hub with goals to reassure new store owners that the site is ready, or to surface essential tasks that should be completed before launch.

Extensibility

The initial release includes basic extensibility options. We’ve initially focused on enabling integrations with existing coming soon systems and caching layers. Please leave your feedback about these or other ways we could support integrations in the future.

Option values

Coming soon mode is controlled by the following standard WordPress option values. Developers may set these values directly.

OptionAllowed values
woocommerce_coming_soonyes | no
woocommerce_store_pages_onlyyes | no

Update option hook

The in-built WordPress update_option hook can be used to handle changes to the coming soon settings. The following recipe below shows how to add custom handling when changes are made.

add_action( 'update_option_woocommerce_coming_soon', 'my_update', 10, 3 );
add_action( 'update_option_woocommerce_store_pages_only', 'my_update', 10, 3 );

function my_update( $old_value, $new_value, $option ) {
	// Custom handling goes here.
}

Custom exclusions filter

We’ve made it possible for developers to add custom exclusions that bypass the coming soon protection. We see this being useful for exclusions like always bypassing the screen on a specific IP address, or making a specific landing page available. This is done with the new woocommerce_coming_soon_exclude filter.

add_filter( 'woocommerce_coming_soon_exclude', function( $is_excluded ) {
	if ( get_the_ID() === <page-id> ) {
		return true;
	}
	return $is_excluded;
}, 10 );

Disabling the feature

For at least the remainder of 2024, it will be possible to disable the entire functionality using a feature flag filter. This can be used by developers to temporarily avoid incompatibilities. We plan to remove the feature flag in 2025 and will share further details in a future announcement.

add_filter( 'woocommerce_admin_features', function( $features ) {
	$features = array_filter( $features, function( $value ) {
		return $value !== 'launch-your-store';
	});
	return $features;
}, 10 );

Feedback and testing

Ready to test?

You can use the nightly build of WooCommerce and upload woocommerce-trunk-nightly.zip into your test environment, or spin up a WP Playground! You can find more detailed testing instructions here.

Tell us what you think

We would love to hear your thoughts! If you have any questions or suggestions, please leave your feedback in our GitHub Discussion, or drop by the WooCommerce Community Slack #developers channel and let us know what you think

Not a member of our Community Slack? Join here now.


Keep yourself in the loop!

This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form


5 responses to “Introducing coming soon mode”

  1. Like the idea of protecting the shop inside a public website.

    Wondering beside giving access to the private shop by special link also could be allowed by user role. Or at least if this could be achieved via a filter/plugin?

    1. Adrian Duffell Avatar
      Adrian Duffell

      Hi Ralf, thanks for the feedback. That’s a nice idea. It would be possible to give private access to more types of users with the exclusions filter. Here’s a code snippet you could use.

  2. Josh Cool Avatar
    Josh Cool

    Are you going to offer more options like programmatically customizing the coming soon message? We use Elementor and have WordPress Blocks shutoff, so it’s not really compatible for us at the moment..

    Or maybe you could just have this be editable directly within either a setting or the customizer?

  3. Jordan C Avatar

    I agree with Josh Cool’s comment. The ability to edit this page with Elementor would be incredible.

  4. This is great for some people but useless for already launched sites, so there should be a way to disable the functionality completely to keep things simpler and cleaner. While the woocommerce_admin_features filter above removes the Site Visibility tab from WooCommerce > Settings, it doesn’t remove the “Live” indicator next to the site title in the admin bar. Will we always have to use CSS to hide that? This requires both a front-end CSS rule and a back-end CSS rule.

Leave a Reply

Your email address will not be published. Required fields are marked *