I have an existing website that has traffic and some sales. I would like to build a whole new experience and have it live with the existing products as well as a new shopping experience/layout/products added etc. I do not want the public to see any of this until the launch date. Is it better to start a whole new store and make all of the changes then migrate the domain on launch? Or is there a way to build a whole new site with products and categories on an existing website without the public seeing any of it until I am ready?
Add a new theme to your Theme Library (or duplicate your live theme) and customize it without setting it live. Use preview to see how it will look and run tests etc.
If you want different categories/menu to your current live site, add a new menu in Navigation and link it to your draft theme.
Set up collections which only exist in your new menu so customers don’t see them on your live site; although they can find them on the /collections page or in search engine results. To avoid this, change the collection availability to ‘unavailable on online store’ apart from while you are testing.
Do the same with new products; set them up but make them ‘unavailable on online store’ or set them as draft.
When you’re ready to go live, publish your draft theme to live and make the new collections and products available.