What product data transfers automatically

StoreShift reads your Shopify product catalog via the Shopify API and maps each field to its WooCommerce equivalent. Here's what migrates without any manual work.

Shopify field WooCommerce equivalent Status
Title Product name ✓ Auto
Body HTML (description) Product description ✓ Auto
Vendor Custom field (meta) ✓ Auto
Product type Custom field (meta) ✓ Auto
Tags Product tags ✓ Auto
Price (base) Regular price ✓ Auto
Compare-at price Sale price ✓ Auto
SKU SKU ✓ Auto
Weight Weight (unit converted) ✓ Auto
Inventory quantity Stock quantity ✓ Auto
Track inventory Manage stock ✓ Auto
Product status (active/draft) Published / Draft ✓ Auto
Images (all sizes) Media library + gallery ✓ Auto (sideloaded)
Variants (options + values) Attributes + variations ✓ Auto
Custom collections Product categories ✓ Auto
Smart collections Product categories ✓ Auto
Metafields Custom fields ⚠ Manual mapping
Product reviews (Yotpo etc.) Reviews ✗ Third-party app data
Gift card products Gift cards ✗ Platform-specific

What requires manual handling

A handful of product data types don't have a direct WooCommerce equivalent or require extra configuration after import.

Metafields

Shopify metafields are custom key-value data attached to products — things like "material", "care instructions", or "bottle size". WooCommerce has no concept of metafields in the same structured way. StoreShift imports metafield values as standard WordPress post meta, but you need to configure your theme or a plugin like Advanced Custom Fields (ACF) to display them on the product page.

Product reviews

If you're using a review app like Yotpo, Stamped.io, or Okendo, those reviews live in the app's database — not in Shopify itself. The Shopify API doesn't expose third-party app data. To migrate reviews, you'd need to export from the review app directly and import using a WooCommerce reviews plugin (such as WooCommerce Product Reviews Pro).

Gift cards

Shopify gift cards are stored as balance records tied to specific customers. WooCommerce handles gift cards via a paid extension (WooCommerce Gift Cards, $69/year). Gift card balances can't be migrated automatically — customers would need new gift cards issued on the WooCommerce side.

Subscription products

Shopify selling plans (subscriptions) require WooCommerce Subscriptions ($299/year) to replicate. The product can migrate, but the subscription billing logic needs to be reconfigured.

Before you start

Run through these steps before starting the products import to avoid common problems.

Before 01

Keep Shopify active

The importer reads from the Shopify API — your store must be active with an accessible API endpoint. Do not cancel Shopify before the migration finishes.

Before 02

Set up WordPress and WooCommerce on staging

Run the first import on a staging site, not directly on your production WooCommerce store. This lets you verify product output without affecting customers. You can use LocalWP for a local staging environment, or a subdomain on your host.

Before 03

Choose and configure your WooCommerce theme

WooCommerce themes control how product images, attributes, and descriptions display. Set up your theme before running the import so you can see exactly how products will look. Storefront (free), Kadence, or Blocksy are common starting points.

Before 04

Check your server's max execution time

Image sideloading makes HTTP requests to Shopify's CDN for each product image. On servers with PHP max_execution_time set below 120 seconds, the request may timeout mid-import. Set max_execution_time = 300 in your php.ini or ask your host to increase it. Most managed WordPress hosts have this set correctly by default.

Running the products importer

Step 01

Install StoreShift and connect your Shopify store

Install StoreShift on your WordPress site from WordPress.org (Lite) or via the paid download at storeshift.io. In your WP admin, go to StoreShift → Import. Click "Connect Shopify" to open the OAuth flow and approve the connection. StoreShift stores a read-only access token — it can't modify your Shopify store.

Step 02

Run Categories first

Import categories before products. Products are assigned to categories during import — if the category doesn't exist yet, the product won't have the correct WooCommerce category assigned. The Categories importer runs in seconds for most stores.

Step 03

Run the Products importer

Click "Import Products" in the StoreShift dashboard. The importer pages through your Shopify product catalog 100 items at a time, creating WooCommerce products and sideloading images as it goes. A store with 500 products typically finishes in 5–15 minutes depending on image count and server speed.

Step 04

Review the import log

The import log shows each product processed and flags any failures — typically images that failed to sideload or products with unusual data structures. Address any failures before running the final migration on your live site.

Tip

Re-running the importer is safe. StoreShift uses the Shopify product ID as a unique key and updates existing products rather than creating duplicates. You can run the import multiple times — useful for testing on staging before the final production run.

Variable products: how attributes map

Shopify and WooCommerce represent product variants differently. Understanding the mapping helps you verify the output.

Shopify's model

In Shopify, a product has up to three "options" (e.g., Color, Size, Material). Each option has values (Red, Blue; S, M, L). Variants are the combinations of those option values — each combination has its own price, SKU, and inventory level.

WooCommerce's model

In WooCommerce, a variable product has "attributes" with "terms". Each attribute corresponds to a Shopify option; each term corresponds to an option value. The variation combinations are created as individual child products under the parent, each with their own price, SKU, and stock.

How StoreShift maps them

Products with a single variant in Shopify (no options) import as WooCommerce "Simple" products. Products with multiple variants import as "Variable" products.

Watch out

If a Shopify variant has a blank option value or uses "Default Title" (Shopify's placeholder for single-variant products), StoreShift treats the product as simple. If your product should be variable but shows up as simple in WooCommerce, check whether the Shopify variants had real option values assigned.

Product images: sideloading explained

Shopify hosts product images on its own CDN. WooCommerce needs those images in your WordPress media library. "Sideloading" is the process of downloading each image from Shopify's CDN and uploading it to your WordPress installation during the import.

StoreShift sideloads images automatically. For each product, it processes the featured image first, then gallery images. Each image is:

Variant images (images specific to a particular variant, e.g., a red version of a shirt) are attached to the corresponding WooCommerce variation so the image swaps correctly when a customer selects that variant.

Image sideloading performance

Each image requires an HTTP request to Shopify's CDN and a file write to your server. A product with 6 images takes 6 requests. A catalog of 300 products averaging 4 images each means 1,200 HTTP requests. On a fast server with good outbound connectivity, this runs in 3–8 minutes. On shared hosting with throttled outbound connections, it can take 20–30 minutes.

If your server times out mid-import, re-running the Products importer will pick up where it left off — existing products are updated, failed images are retried.

Categories and collections

Shopify has two types of collections: custom collections (manually curated) and smart collections (rule-based). Both map to WooCommerce product categories.

Custom collections

Custom collections — where you manually add products — import as WooCommerce product categories. The category name, description, and image transfer. Products assigned to the collection are assigned to the matching WooCommerce category.

Smart collections

Smart collections use rules to automatically include products (e.g., "all products tagged with 'summer'"). WooCommerce doesn't have rule-based categories. StoreShift imports a smart collection as a standard WooCommerce category and assigns the products that were in the collection at import time. The automatic rule behavior doesn't transfer — if you add a product with the "summer" tag in WooCommerce, it won't automatically appear in that category unless you add it manually.

Note

Run Categories before Products. The importer assigns products to categories during the product import step — if categories don't exist yet, product-category relationships won't be created correctly.

After the import: what to check

Work through this checklist in WooCommerce after the products import finishes.

Product basics

Variable products

Images

Categories

StoreShift handles the full migration

Products, categories, orders, customers, coupons, and redirects. Starter plan includes products and categories. One-time purchase, no subscription.

See pricing

Common issues and fixes

Product images fail to sideload

The most common cause is PHP's max_execution_time being too short or an outbound HTTP restriction on your server. Check your host's PHP settings and increase max_execution_time to 300 seconds. Re-running the importer retries failed images without duplicating products.

Variable product appears as simple

Check the original Shopify product. If it had a single variant with option value "Default Title", it was a simple product in Shopify — StoreShift imports it correctly as a simple WooCommerce product. If the Shopify product had real options but still imports as simple, verify the product wasn't archived or had options left blank in Shopify.

Product description shows raw HTML

Shopify stores product descriptions as HTML. WooCommerce renders HTML in product descriptions correctly. If you see raw HTML tags on the product page, your theme may be rendering the description as plain text. Check your theme's template for the_content() vs the_excerpt() usage in product templates.

Categories missing from products

This happens when Products runs before Categories. Delete the imported products, run Categories first, then re-run Products. The importer will create products and assign them to existing categories correctly.

Image alt text is missing

Shopify allows custom alt text on product images. StoreShift imports alt text when present. If alt text is blank in Shopify, WooCommerce images will also have no alt text — set these manually in the Media Library for accessibility and SEO.

Frequently asked questions

Will product images transfer from Shopify to WooCommerce?

Yes. StoreShift sideloads all product images from Shopify's CDN into your WordPress media library automatically. Featured images, gallery images, and variant-specific images all transfer and are attached to the correct product and variation.

How do Shopify product variants map to WooCommerce?

Shopify options (Color, Size) become WooCommerce product attributes. Option values (Red, Blue; S, M, L) become attribute terms. Each Shopify variant combination becomes a WooCommerce variation with its own price, SKU, stock level, and image.

What plan do I need to migrate products?

StoreShift Starter ($79 one-time) includes products and categories. Starter Orders, customers, and coupons require the Pro plan ($149) or Agency plan ($249).

Can I re-run the products importer without creating duplicates?

Yes. StoreShift uses Shopify's product ID as a unique key. Re-running updates existing products rather than duplicating them. Useful for picking up new products added to Shopify after an initial staging migration.

What product data doesn't transfer automatically?

Product metafields need manual mapping to WooCommerce custom fields. Product reviews from third-party apps (Yotpo, Stamped.io) live outside Shopify's API. Gift card products and subscription selling plans require paid WooCommerce extensions to replicate.