Quick Summary
- A Shopify staging site lets you test updates before deploying them to your live store.
- Duplicate themes work best for design changes and custom code testing.
- Development stores help test apps, checkout configurations, and separate store environments.
- Staging apps clone store data and may offer synchronization for ongoing testing.
- Test checkout, app compatibility, mobile layouts, and page speed before publishing changes.
Theme and app updates are a routine part of running a Shopify store, yet any change deployed directly to the live theme can break storefront functionality or interrupt checkout.
A staging site separates development work from the storefront. Shopify does not offer a dedicated staging feature, but its theme library and free development stores provide the same separation.
This guide shows three ways to create a staging site in Shopify and explains how to test and release changes from it without disrupting sales.
What Is a Shopify Staging Site?
A Shopify staging site is a private copy of your store where you build and test changes before customers see them. Depending on the setup, it is either an unpublished copy of your live theme or a separate store that holds a copy of your products, settings, and apps. Developers also call it a Shopify sandbox environment or a Shopify test store.
Your live store, often called production, keeps serving customers while work happens on the copy. Teams that provide Shopify development services follow this split on every project and approve work on staging before anything is published.
Why Live Theme Edits Carry Business Risk
A published Shopify theme has no draft state. When a developer saves a change to a Liquid file on the live theme, the next page request from any visitor loads the new code. Liquid is Shopify’s template language, which inserts product data, prices, and settings into each page.
The error stays live until someone notices and reverts it. On a high-volume store, a defect in the cart template blocks orders until it is fixed.
Low-volume stores can sometimes accept this risk for minor edits. Stores that depend on daily revenue need theme and app changes reviewed in a staging site first.
Benefits of a Shopify Staging Environment
Staging lets problems surface in a private copy, and your team decides when a fix is ready to go live.
- App conflicts appear early. A new app can load scripts that clash with one you already use, and staging shows the clash before shoppers run into it.
- Design changes get a full review without deadline pressure.
- Custom code is checked against real catalog data. A product template that works for a simple item may break on a product with 40 variants or no images.
- Staff can practice new workflows, for example, a new returns process, without touching real orders.
Downtime risk also drops, because faults that would take a page or the checkout offline are fixed in private.
These benefits hold only when the staging copy behaves like the live store, and that depends on how the environment is set up.
The Requirements of a Reliable Shopify Staging Environment
Before you create a staging site in Shopify, decide what it must mirror, because a staging copy can only predict live behavior in those areas.
A Shopify store has two layers. The data layer encompasses products, collections, pages, and customers, while the theme layer includes code, templates, and theme settings. A dependable setup covers both.
- Current catalog data. A copy that is months out of date can hide bugs that only appear with newer product types.
- Matching theme settings. Colors, fonts, and section settings are stored in files inside the theme. If staging runs default settings while production runs customized ones, the two render differently, and test results lose their value.
- A record of admin edits. Anyone with the right permissions can edit theme code or install an app straight from the Shopify admin. Your version control should capture those edits instead of overwriting them in the next deployment.
- Branch mapping for development teams. Git is a version control system that records every code change and its author. A common model links the main branch to the live theme and a staging branch to an unpublished theme.
- Matching apps and app settings. Apps insert their own blocks, scripts, and checkout extensions into the storefront. When staging runs without the same apps, or with different settings, the layout conflicts and script errors customers would see stay hidden during testing.
Restricted access and a quick rollback complete the list. With these requirements in place, the next decision is which setup method fits your store.
Three Methods to Create a Staging Site in Shopify
Each method isolates a different part of the store, and that determines which changes you can safely test on it.
| Method | Best for | What stays isolated | Cost |
|---|---|---|---|
| Duplicate your theme | Layout, design, Liquid, and JavaScript edits | Theme code and theme settings only | Free on Basic, Grow, Advanced, and Plus plans |
| Development store | New apps, checkout changes, metafield setup, and contractor work | The entire store | Free with a Shopify Partner account |
| Staging app | Full store clones for teams without developers | The entire store, with optional syncing | Monthly app subscription |
Method 1: Duplicate Your Live Shopify Theme
To create a Shopify staging site for design and code changes, duplicate your Shopify theme and work on the copy. Shopify copies the theme’s code, sections, and settings into an unpublished theme that customers cannot access.
In the Shopify admin, open Online Store and click Duplicate in the live theme’s actions menu. Rename the new “Copy of” theme with its purpose and date, then edit it through Customize or Edit code and check the result with Preview.
Theme duplication separates theme files only. Products, collections, menus, and app settings belong to the store, and every theme reads the same records. A price edited during testing therefore changes on the live storefront as well.
Teams that use Git can connect a branch to a theme through the Shopify GitHub integration. A push to the branch updates the theme. Edits saved in the Shopify admin are written back to the branch as commits.
Shopify has deprecated Theme Kit, and developers who work from the command line now use Shopify CLI. The command shopify theme push –unpublished uploads local files as a new unpublished theme, which then serves as the staging theme.
Larger redesigns handled through Shopify theme development services usually run on this branch-based workflow.
Changes that involve apps, checkout settings, or store data require a separate store, which is where a development store becomes the better option.
Method 2: Create a Separate Shopify Development Store
A Shopify development store is a free store intended for building and testing. It has a separate admin and database with no link to the live store, which makes it a suitable Shopify development environment for app installs and checkout configuration.
- Create a Shopify Partner account, or use a store account that has developer permissions.
- Log in to the Dev Dashboard and select Stores.
- Select Create store, choose Dev as the store type, and name it.
- Start empty or with test data generated by Shopify, then create the store.
A new development store holds no products. Move the live store’s assets across in this order.
- Theme. Choose Download theme file from the live theme’s actions menu. Shopify emails a ZIP file to the address on your staff login, and you upload it to the development store.
- Products. Export a CSV from the Products page and import it. The CSV assigns items to manual collections only when it includes a collection column, and without one, you will need to rebuild those collections manually.
- Metafields are the custom fields that store extra details like fabric type. Recreate their definitions under Settings > Custom data, and use a bulk tool like Matrixify if the stored values matter.
- Menus, taxes, shipping, payment settings, and apps. None of these export, which means you rebuild menus and settings and reinstall each app using screenshots of its live configuration.
Customer and order records should stay on the live store. They contain personal data, and test accounts created inside the development store are sufficient for checkout scenarios. Shopify’s backup and duplication guide lists which data types transfer through CSV files.
Development stores can install only free and partner-friendly apps, and they accept test orders only. Their password page cannot be removed, which keeps them hidden from shoppers and search engines.
Shopify Plus merchants have more options. A Plus organization can use one of its expansion stores, which run on the same Plus plan, as a staging copy, and Plus partners can create a Plus sandbox store for testing features like B2B catalogs.
Teams that create a Shopify staging site for app or checkout work usually accept this setup time. Others turn to a staging app to avoid rebuilding the store by hand.
Method 3: Clone the Store With a Shopify Staging App
A staging app copies the live store’s products, pages, theme files, and metafields into a second store. Rewind Staging and Duplify both work this way and can keep the copy in sync.
- Create the destination store, either a development store or a second paid store.
- Install the app on your live store and link the two stores.
- Select the data to copy and start the job.
Once the copy finishes, which can take a few hours for a large catalog, the destination becomes your Shopify staging store.
The tradeoff is a monthly fee and a dependency on a third-party tool. Plan limits also carry over to the clone, meaning a development store used as the destination still installs only free and partner-friendly apps.
The value of any of these methods depends on testing the right areas of the store before release.
What to Test on Your Shopify Staging Site Before Going Live
Start with the paths that produce revenue, then move to details shoppers see on every page.
- Checkout and payments. Run complete test orders on mobile and desktop. The Bogus Gateway is Shopify’s built-in test payment gateway, and Shopify Payments test mode serves the same purpose for stores on Shopify Payments. With the Bogus Gateway, card number 1 returns an approved transaction, 2 returns a decline, and 3 returns a gateway error. Verify taxes, discount codes, shipping rates, and order notification emails.
- App compatibility and integrations. Check that app blocks appear in the right sections and that your ERP, the software managing inventory and accounting, receives accurate order data.
- Mobile and browser layouts. Test at a 375-pixel phone width and on Chrome, Safari, Firefox, and Edge. BrowserStack covers devices your team does not own.
- Page speed. Run Lighthouse or Google PageSpeed Insights on the homepage, a collection page, and a product page. A drop of more than 10 points against the live theme needs investigation, and Shopify speed optimization services can trace a persistent drop to the script or app causing it.
- Template edge cases. Load products with no image, one variant, or a very long title, and check the browser console for JavaScript errors.
Payment tests need extra care on a duplicated theme. Checkout is shared by every theme in the store, and switching on the Bogus Gateway affects real shoppers too. Run payment tests on a development store, or use a short low-traffic window and restore the live gateway right after.
Use test data and test payment methods wherever possible. Never assume that a duplicated theme also duplicates the settings or behavior of installed apps. Most app settings live in the app’s own admin and apply to the whole store, which means adjusting an app while testing a duplicate also changes it on the live store.
Good testing also depends on a secure environment, since a staging copy often holds the same code and catalog as production.
Tips for a Secure Shopify Staging Setup
- Restrict access to separate staging stores.
Keep development stores password-protected. For a second paid store, configure private mode before using it for staging.
- Protect credentials and API access.
Use separate development credentials where supported, and avoid exposing production API keys or secrets in theme code.
- Apply least-privilege access.
Give each team member only the permissions required for their work, and revoke agency collaborator access when the project ends.
- Maintain versioned backups.
Keep dated copies of theme code and appropriate exports of store data so you can recover from failed changes.
- Protect customer information.
Avoid copying real customer and order records into staging unless necessary and properly controlled. Use test data for routine testing.
- Verify app and integration settings.
Confirm that staging uses the correct test endpoints and credentials, and that test events cannot trigger real fulfillment, customer notifications, or other production actions.
Shopify Staging Site Best Practices for Safe Releases
Moving approved work to the live theme is the step where a tested change can still fail. A fixed release process limits that risk.
- Back up the live theme first. Duplicate it and add the current date to its name. Republishing this copy restores the previous storefront if the release fails.
- Check for live edits made after the staging copy was created. A banner or app block changed on the live theme in the meantime would be erased when the older duplicate is published.
- Get sign-off from someone who did not build the change. Preview links are among the easiest ways to simplify public access to staging or review environments, because reviewers can open them without an admin login.
- Schedule releases for low-traffic periods when the team is available to respond. A release late in the week leaves less time to detect and correct a checkout failure.
- Follow the same staging-to-live deployment path every time. Publish the approved duplicate, merge the staging branch into main, or push the tested theme from a development store with Shopify CLI. App and setting changes made on a development store must be repeated by hand.
- Monitor orders and analytics for a few hours after release, and record what changed, who changed it, and when.
Stores without an in-house team often opt for Shopify maintenance and support services, which handle scheduled releases and rollbacks.
Conclusion: Test Shopify Changes Before Going Live
A Shopify staging site gives teams a controlled environment to build and verify changes before customers see them. A duplicated theme is sufficient for design and code edits, while app installs and checkout configuration belong in a development store or a staging app.
Whichever method you use to create a staging site in Shopify, its value depends on disciplined testing and release practices. Checkout and app behavior deserve the closest scrutiny. Before publishing, keep a dated backup of the live theme and have a second reviewer approve the change.
FAQs
1. Does it cost anything to create a Shopify staging site?
Duplicating a theme is free on Basic, Grow, Advanced, and Plus plans, and partner development stores are free too. Costs come only from staging apps, which charge monthly, or a second paid store.
2. Can a staging store affect my search rankings?
Search engines cannot index a development store because its password page cannot be removed. Unpublished themes are reachable only through preview links. A second paid store used for staging should run in private mode.
3. How many themes can one Shopify store keep?
Basic, Grow, and Advanced plans allow 20 themes in the library. Shopify Plus allows 100. Delete unused staging copies to free space.
4. How often should staging data be refreshed?
Short-term theme work does not require a refresh. Long-running staging stores should receive a fresh product import every four to six weeks or after major catalog changes.



