To migrate to Shopify, you move three things: the product catalog (products, variants, images, categories), customer and order data, and the website itself (theme, pages, redirects). The catalog usually takes the longest and loses the most on the way, because every platform models products differently and exports them differently.
Most migration guides walk through the whole project in one generic checklist. That's useful for scoping, but it hides the part that actually differs from platform to platform: what your current store lets you take with you. A BigCommerce export, a Volusion export, a WooCommerce export and an Etsy download look nothing alike, and each one leaves out something different.
This guide focuses on the catalog side of a migration to Shopify from four platforms: BigCommerce, Volusion, WordPress (with or without WooCommerce) and Etsy. For each one, you'll see what the export contains, where data gets lost, and the most reliable way to get a clean, complete catalog into Shopify. If you're moving from Magento, we cover that platform in a separate guide. Stores on Wix or Squarespace can follow the same approach as the WordPress section below.
What Each Platform Lets You Take with You
Before choosing a migration app or a CSV workflow, check what your current platform can actually export. This table is the short version. Each platform section below explains the details.
BigCommerce | Volusion | WooCommerce | WordPress (no store) | Etsy | |
|---|---|---|---|---|---|
Native product export | CSV from the admin, several templates | CSV export of product tables | Built-in CSV exporter | None | Listings CSV from Shop Manager |
Variants | Exported with option rules, separate from modifiers | Options stored separately from products | Variations exported as rows, plugin data often missing | Not applicable | Variation types and values only, no per-variant price or stock |
Images | Exportable | Often missing from the export | Image URLs | Only on the pages | Up to 10 image URLs per listing |
Custom fields and specs | Custom fields packed into one column | Limited | Plugin fields and custom tabs often missing | Only on the pages | Tags and materials |
Typical gaps | Modifiers with no Shopify equivalent | Images, variant images, option links | Plugin content, complex variations | Everything: no product data structure | Variant prices and quantities, reviews |
Best route for the catalog | Migration app for simple catalogs; storefront collection for heavy custom fields | Storefront collection, or export plus manual image recovery | Store Migration app or CSV; storefront collection when plugins hold key data | Storefront collection | Etsy CSV plus Shopify's Store Migration app |
Formats change, so verify against your own export before you plan around it. At the time of writing, Shopify's own Store Migration app lists WooCommerce and Etsy among its supported sources. BigCommerce and Volusion stores usually rely on third-party migration apps or CSV files.
Everything else in a migration is not catalog data: customer accounts, passwords (they can't be transferred, so customers reset them), order history, gift cards, the theme, apps, and URL redirects. Migration apps, agencies or your developer usually handle these. The rest of this guide is about the products.
Four Mapping Problems You'll Hit on Any Platform
Whichever platform you're leaving, the same four differences in how Shopify models products cause most of the rework:
Options become variants, and Shopify allows three options per product. If your products are configured on four or more attributes, you'll need to merge two into one option, split the product, or move a non-selectable attribute into a metafield.
Categories become collections. Shopify has no category tree. Export the full category path for every product, then rebuild it as tags, product types and automated collections.
Custom fields become metafields. Any attribute shoppers filter by (material, size range, compatibility) should be a typed metafield, not text inside the description, or Shopify's filters can't use it.
Old URLs become handles. Shopify product URLs always follow
/products/handle. Keep your current slug as the handle wherever you can, so the redirect map stays simple.
We go through each of these in detail, with mapping tables, in our guide on how product data maps to Shopify. If you'd rather receive a file that already solves them, that's what a Shopify-ready CSV with variant rows and handles is for.
BigCommerce to Shopify Migration
BigCommerce and Shopify are both hosted platforms, so many merchants expect a BigCommerce to Shopify migration to be a simple swap. For basic catalogs it is. Stores that use modifiers and custom fields heavily need more planning, because BigCommerce describes products more flexibly than Shopify does.
How BigCommerce models products. BigCommerce has two kinds of product options. Variant options (size, color) create distinct variants, each with its own SKU, price and stock. Modifier options personalize the product without creating a SKU: an engraving text field, a gift-wrap checkbox, a file upload, a date picker or a pick list of add-on products. Modifiers can also change the price and weight.
What the export gives you. Products are exported from Products → Export. The Bulk Edit template includes most fields, and you can tick the option to include product options so variants and modifier rules appear under each product. Custom fields are typically packed into a single column as name–value pairs, which you'll need to split before they can become separate metafields.
Where data gets lost:
Modifiers have no direct Shopify equivalent. Variants map cleanly to Shopify variants. Modifiers do not. A text field or file upload becomes a line item property through your theme or an app. A checkbox add-on becomes a separate product or a bundle. Decide this per product type before you export, not after the first failed import.
Custom fields lose structure. Without splitting them into named metafields, specifications end up as one block of text.
Price lists and customer group pricing need a separate plan on Shopify, through B2B catalogs where your plan supports them.
URLs. By default, BigCommerce product and category URLs are short slugs such as /product-name/ and /category-name/. Reuse the product slug as the Shopify handle: /product-name/ becomes /products/product-name.
Choosing a route. If you migrate from BigCommerce to Shopify with a standard catalog (variants only, few custom fields), a migration app or the CSV route works well and also moves customers and orders. If your products depend on modifiers, dozens of custom fields or specification tables, collecting the catalog from the live storefront gives you each field as a separate, named column. The list of custom fields and specifications we can extract shows what that looks like in practice.
If you're still deciding between platforms, BigCommerce vs Shopify comparisons are worth reading first. Once the decision is made, the catalog work above is the same whichever comparison convinced you.
Volusion to Shopify Migration
Volusion went through a Chapter 11 restructuring in 2020, and many merchants on long-running Volusion stores are now planning a move. A Volusion to Shopify migration is usually harder on the catalog side than a BigCommerce one, because Volusion stores product data in several linked tables and its export leaves out some of what the storefront shows.
How Volusion models products. The product code is the main identifier. Options are stored separately and attached to products through option categories, so variants aren't stored as ready-made rows. They're assembled from options when the shopper picks them. Shopify expects the opposite: one row per variant, each with its own SKU, price and stock.
What the export gives you. Volusion exports products and options as CSV files. To rebuild variants, you have to join those tables and generate one row per combination.
Where data gets lost:
Images. This is the most common Volusion complaint. Images uploaded through Volusion's image manager often don't appear in the product export at all. They live in the store's media folder, named after the product. You either download that folder and match files back to products, or collect image URLs from the storefront.
Variant images. Which photo belongs to which color is rarely preserved in the export.
Option links. When options are shared across many products, it's easy to attach the wrong option set during the rebuild.
URLs. Volusion uses distinctive URL patterns: products at /Product_p/CODE.htm and categories at /category-name-c123.htm. Neither looks like a Shopify URL, so every product and category needs a redirect. Use the Volusion product code as the Shopify SKU, not as the handle. Product codes are often uppercase and cryptic, and a readable handle built from the title is better for the new URLs.
Why the storefront is often the better source. The live Volusion storefront shows what the export doesn't: variant combinations already assembled, full-size image URLs in gallery order, and the category path a shopper sees. When you migrate Volusion to Shopify, you can collect the catalog from the live storefront and fill exactly the gaps the export leaves. It also works when the Volusion admin is slow or you're close to the end of your plan.
Shopify vs Volusion is rarely a close comparison by the time merchants search for it. The real question is how much of the catalog survives the move, and images are the part to check first.
WordPress to Shopify Migration (with or without WooCommerce)
A WordPress to Shopify migration means one of two very different things, depending on whether your products live in WooCommerce or only on pages.
WooCommerce Stores
WooCommerce has a built-in product exporter under Products → All Products → Export, and Shopify's Store Migration app supports WooCommerce as a source. For a plain WooCommerce install, a WooCommerce to Shopify migration is straightforward.
The difficulty comes from plugins. Specification tabs, Advanced Custom Fields, brand plugins, size charts, dynamic pricing and product add-ons often don't survive the export, and products with many variations behave differently from small ones. We explain what WooCommerce's native export leaves out in our WooCommerce guide.
When you migrate WooCommerce to Shopify, map the data like this:
Variable products become Shopify products with variants. Global attributes (stored as
pa_color,pa_size) become options, as long as there are no more than three.Attributes that aren't used for variations (material, weight, compatibility) become metafields.
Product categories and tags become collections and tags.
Plugin data needs a decision per field: metafield, description content, or drop it.
Your blog is not part of the catalog. Posts move separately, usually with a blog migration app.
URLs. WooCommerce products usually live at /product/slug/ and categories at /product-category/slug/. Map them to /products/slug and /collections/slug.
WordPress Sites Without a Cart
Many small businesses that migrate WordPress to Shopify never had a real store. Their products sit on regular pages, in posts, in a page builder layout, or in a lightweight catalog plugin, with a "contact us" or "buy" button instead of a cart.
There is no product export here, because there is no product data, only pages. Moving from WordPress to Shopify in this case means building the catalog for the first time. You can do that by hand, product by product, or turn product pages into a table and then into a Shopify import file.
Be realistic about the result: the structure can only be as complete as the pages. If prices, variants or SKUs never appeared on the site, they have to be added before launch. Collecting the pages still saves the slowest part, copying titles, descriptions, specifications and images, and gives you a clean list of what you're missing.
Moving from Etsy to Shopify
Many Etsy sellers don't leave Etsy at all. They open a Shopify store alongside it. If that's your plan, you need a sync app, not a migration. This section is for sellers who want to transfer their Etsy shop to Shopify as their main store.
What the export gives you. Go to Shop Manager → Settings → Options → Download Data and download the listings CSV. It covers active listings and includes the title, description, price, currency, quantity, tags, materials, SKU (if you added one) and up to ten image URLs per listing.
Where data gets lost:
Variant prices and quantities. The CSV describes variation types and values, but not the price and stock of each combination. After import, check every product that has variations. Otherwise each variant may inherit the base price, and stock may be wrong.
Reviews. Etsy reviews stay on Etsy. Some Shopify review apps can import reviews from other sources, so check that before you announce the move to customers.
Sold-out and draft listings. The download covers active listings, so anything you want to bring back has to be reactivated or added by hand.
What carries over well. Etsy tags (up to 13 per listing) are a ready-made source for Shopify tags and automated collections. Materials can become a metafield or tags. Image URLs import directly.
Choosing a route. For most Etsy shops, the listings CSV plus Shopify's free Store Migration app is enough. With a few dozen to a few hundred listings, the manual work is checking variant prices and rewriting descriptions for your own store, not building a file. Keep your Etsy shop open until the Shopify store has orders coming in, and point your Etsy shop announcement and social profiles to the new store.
When the Export Isn't Enough: Rebuilding the Catalog from the Live Store
Across all four platforms, the same pattern repeats: the admin export is incomplete in some predictable way. Collecting product data from the live storefront fills that gap when:
The export loses images, variants or fields, as with Volusion images, BigCommerce custom fields, or WooCommerce plugin tabs.
The admin is slow, broken or out of reach: the plan is about to expire, the developer who set it up has left, or exports time out on a large catalog.
There is no product export at all, as on a WordPress site without a cart.
The migration is also a catalog upgrade. You're merging supplier products into your range, or want to fill gaps in product data during the move instead of carrying thin product pages into a new store.
The storefront shows the final result a customer sees: assembled variants, full-size images in gallery order, specifications as displayed, and the category path. That's usually more complete than what the admin exports.
With our catalog import for e-commerce, you get a file in Shopify's product import format: one row per variant, image URLs Shopify can fetch, the category path as tags, and identifiers kept stable so a second import updates products instead of duplicating them. Files come as CSV, Excel, JSON or Google Sheets. Ask for the old product URL as an extra column and you also have the left side of your redirect map.
What we don't do: move customers, orders or passwords, build the theme, or set up the redirects themselves. Those stay with your migration app, agency or developer.
Old URLs to Shopify: Redirect Patterns by Platform
Shopify uses fixed URL paths, so almost every product and category URL changes in a migration. Typical patterns:
Platform | Old product URL | Old category URL | Shopify URL |
|---|---|---|---|
BigCommerce |
|
|
|
Volusion |
|
|
|
WooCommerce |
|
|
|
WordPress (pages) |
|
|
|
Etsy |
|
| No redirect possible |
These are defaults, and stores can customize them. Export your real URL list and check a few against the live site before building the redirect file.
Etsy is the exception: listing URLs belong to etsy.com, so you can't redirect them. Instead, update links in your Etsy shop announcement, social profiles and any marketing pages that point to Etsy listings.
For the other platforms, Shopify supports bulk URL redirects from a CSV file with "Redirect from" and "Redirect to" columns. The full process, including carrying over SEO titles and descriptions and watching 404s after launch, is in our guide on how to set up redirects and keep SEO fields.
After the Import: Check the Catalog Against the Old Store
Before you switch the domain, compare the two stores side by side:
Product count: active products on the old store vs imported products in Shopify.
Variant count per product: the most common silent loss, especially from Volusion and Etsy.
Images per product: whether the full gallery arrived, not just the main image.
Prices and compare-at prices on a sample of products in each category.
You can check the new store from the outside the same way you'd check any Shopify store, through the public products.json endpoint. It shows each product's variants, prices and images exactly as Shopify publishes them.
Get a Shopify-Ready Catalog from Your Current Store
If your export is missing images, variants or fields, or there's no export at all, send us a category URL from your current BigCommerce, Volusion or WordPress store. We'll prepare a sample of 20 products as a Shopify-ready CSV so you can open it in Shopify's import preview before deciding anything.
The file includes handles, one row per variant, SKUs and barcodes where the store shows them, prices and compare-at prices, image URLs in gallery order, and categories as tags. You run the import yourself. No staff account, app install or API access is needed.
We handle the catalog only. Customers, orders and redirects stay with the rest of your migration project.
Run a demo extraction on one of your own product pages, check plans and pricing, or start your Shopify import.
FAQ
Can I migrate from BigCommerce to Shopify for free?
Yes. BigCommerce's product export and Shopify's CSV import are both free. The cost is time: splitting custom fields into metafields, deciding what to do with modifiers, and re-running test imports. Migration apps and services save that time but aren't required.
What happens to BigCommerce product modifiers in Shopify?
They don't map directly. Variant options become Shopify variants. Modifiers such as text fields, file uploads and checkboxes become line item properties (through the theme or an app), separate add-on products, or bundles. Decide per product type before you export.
How do I get product images out of Volusion?
Volusion's product export often doesn't include images uploaded through its image manager. You can download the store's media folder and match files to products, or collect image URLs from the live storefront, which also preserves gallery order and variant images.
Can I move a WordPress site without WooCommerce to Shopify?
Yes, but there's no product export to start from. Products have to be built from the existing pages, by hand or by collecting the pages into a table and converting it into Shopify's import format. Anything the pages never showed, such as SKUs or variant prices, has to be added before launch.
Do I need to close my Etsy shop after moving to Shopify?
No. Many sellers keep both: Etsy for marketplace discovery and Shopify for their own brand and repeat customers. If you keep both, use a sync app so stock doesn't oversell. If you close Etsy, keep it open until the Shopify store is getting orders.
Can I transfer my Etsy reviews to Shopify?
Not through the Etsy listings CSV. Reviews stay on Etsy unless a Shopify review app you choose supports importing them. Check this before you migrate, because reviews are one of the most valuable things a long-running Etsy shop has.
Do customers and orders move with the product CSV?
No. Shopify's product import covers products only. Customers can be imported from a separate CSV (passwords can't be transferred, so customers reset them). Order history usually needs a migration app.
What about Wix and Squarespace?
The same approach applies. Check what the platform's product export includes, compare it with the live storefront, and fill the gaps before importing. Shopify's Store Migration app supports Wix as a source. Squarespace stores usually move through a CSV export.





