Move a WooCommerce store to Shopify.
Without installing a plugin on the source store. Variants, images, reviews all included — one-time payment, not a subscription.
What gets migrated
- Every product, including variable, grouped, and external/affiliate
- Variant matrices mapped to Shopify's 3-option model (extras become metafields)
- Product images, gallery images, alt text — rehosted as WebP
- Categories mapped to Shopify Collections (manual collection rules generated)
- Tags — preserved 1:1
- SKUs, barcodes, stock quantities, low-stock thresholds
- Pricing (regular and sale), tax classes, weights, dimensions
- Reviews from native Woo + WP Comments — exported in Judge.me / Loox CSV format
Why this works on WooCommerce
Every modern Woo install exposes the /wp-json/wc/store/v1/productsread-only Store API. We probe that first for clean structured data, and fall back to DOM extraction (with theme-specific shims) when it's disabled.
- Variable products with attribute matrices (size × color × material) translate cleanly into Shopify's variant system — up to 3 options natively, extras as metafields.
- Custom attributes and ACF fields are preserved as Shopify metafields under custom.field_name for theme access.
- Woo's native reviews are exported in Judge.me or Loox CSV format depending on which review app you're using on Shopify.
Five steps end to end
Install the WooScraper extension
Chrome or Edge. The WooCommerce source store stays untouched — no plugin to install on it.
Open the WooCommerce store you're migrating
Yours, a client's, or one you've acquired. As long as the storefront is browsable, we work. Cloudflare-protected stores work fine because we use your real browser session.
Click Start scrape
Extension probes /wp-json/wc/store/v1/products + sitemap to find every product, ships responses to our backend. Close the tab whenever you want.
Download a Shopify-ready CSV + image ZIP
Or push directly to Shopify via Admin GraphQL — paste your Shopify API key once.
Import via Shopify Admin → Products → Import
Image URLs point at our CDN, so Shopify's import auto-fetches them. Reviews import via Judge.me's or Loox's CSV format, whichever app you use.
The Woo-specific edges
WooCommerce stores are more varied than Shopify stores. Themes pile on. Here's where we've done the extra work:
- Themes that hide the Store API
- Some hardening plugins disable /wp-json. We fall back to DOM extraction with theme-specific shims for Astra, Flatsome, Storefront, OceanWP, Divi, Avada — the top six by install count.
- Variable products with hidden variations
- WooCommerce only emits variation JSON for visible variations by default. We walk every variation_id from the data-product_variations attribute, including out-of-stock ones, so the Shopify import is complete.
- Image galleries with broken hot-link protection
- If you've ever migrated a Woo store and watched half the product images 404 in Shopify a week later, you've hit hot-link expiry. We rehost on our CDN to avoid this.
- Reviews stuck in WP comments
- WooCommerce uses native WP comments for reviews — a format Shopify doesn't speak. We translate them to whichever Shopify review app you're moving to (Judge.me, Loox, Yotpo).