The order history problem in every WooCommerce to Shopify migration

Moving from WooCommerce to Shopify copies your products over by spreadsheet, but your past orders do not come along and every product URL changes. This guide shows a Houston store owner how to plan for both before switching over.

Published 8 min read
Fredy RodriguezFredy Rodriguez
A back-office archive of plain cloth-bound ledgers shelved spine-out beside blank archive boxes, with one closed ledger lying flat, the years of order and customer history behind a WooCommerce to Shopify migration
Table of Contents

Your store keeps two sets of records. The public set is the catalogue, with the products, photos, and prices a customer can see. The private set holds every order, every refund, and every customer who has ever paid you.

A WooCommerce to Shopify migration treats those two sets very differently. The catalogue moves by spreadsheet, and every guide covers it. The order history is the part store owners tend to discover late, sometimes after the plan has already been priced.

Both vendors’ own documentation settles what actually moves, so that is what this post runs on. For a Houston store with years of sales behind it, the history deserves the first look, not the last.

Moving the catalogue

Products travel well. WooCommerce ships a built-in export tool and describes it plainly.

WooCommerce includes a built-in CSV tool for importing, exporting, and bulk-updating products.

Pick your columns, export, and you have a spreadsheet.

Shopify accepts that spreadsheet on the other side, with some homework. Its product import caps files at 15 MB, and its WooCommerce migration guide includes the column map, so Name becomes Title and weight converts from pounds to grams.

Images ride along as web addresses, not files. Shopify’s import documentation is clear that “a CSV file can only contain text,” so every product image must already live at a working URL before you import. Budget time to verify them.

Everything in this post was checked against both vendors’ documentation in September 2026 and is linked where it comes up. Documentation shifts, so confirm against those pages before you build a schedule on them.

WooCommerce has no order export

Now try the same move with orders. WooCommerce’s documentation for the Orders screen lists every bulk action available there, and the list is short:

  • Move to Trash
  • Change status to Processing
  • Change status to On hold
  • Change status to Completed
  • Change status to Cancelled
  • Remove personal data

Export is not among them, and the word never appears on the page.

WooCommerce Analytics does offer a CSV download, but it downloads report tables. Those tables hold totals and averages, not individual order records.

The route to full order records is the REST API, a developer interface whose use WooCommerce places “beyond the scope of our merchant documentation.” In plain words, the core software gives a store owner no button for this.

Even WooCommerce’s own marketplace treats order export as an add-on, sold as a paid extension by a third-party developer. That is not a flaw in the product, but it does tell you where your records live, and this migration turns on that fact.

Shopify cannot import order history by CSV

The receiving side is just as plain. Customers move to Shopify as records, so names, emails, and addresses arrive by CSV. What they cannot bring along is what they bought.

Shopify’s customer-import documentation is direct about it.

You can’t import order information using a customer CSV file.

The same page closes the workaround of carrying totals over some other way.

It isn’t possible to import customer data for orders placed or money spent on other Shopify stores or e-commerce platforms.

Your best customer of five years arrives with a spent total of zero.

Passwords stay behind too, since “you can’t migrate customer passwords from another online store using a CSV.” Every customer sets a new one on their first visit to the new store.

What Shopify’s own guide offers instead

Shopify publishes a dedicated guide for leaving WooCommerce, organized as 19 numbered steps. Read what it offers for each kind of data and the shape of the gap appears.

For products, Shopify built a first-party Store Migration app, though it is in early access and moves products only. For customers, the guide has you install a plugin on the WooCommerce side first, because nothing built in exports them.

For order history, the guide offers nothing of Shopify’s own. Step 11 hands the job to the App Store and names three apps.

You can use third-party migration apps from the Shopify App Store to migrate your order history from WooCommerce to Shopify.

So Shopify’s own guide concedes that no first-party path for orders exists. The apps are real and Shopify names them, but what each one can carry is a marketing claim until you test it against your own data, and that test belongs in the plan.

Where a hard answer exists, the guide gives it.

You can’t export or migrate reviews from WooCommerce to Shopify.

Refunds and coupon codes sit in a third category, because neither platform’s documentation offers a dedicated export for them. Undocumented does not mean impossible, but it does mean nobody has promised you a path.

Subscriptions are a separate question. They run on a paid WooCommerce extension with documentation of its own, and that documentation is the place to check before you count on an export.

Every product URL changes

The SEO half of this migration starts from one structural fact. Shopify product pages live under /products/ and collections under /collections/, and its redirect documentation calls these “fixed Shopify paths.”

The only editable piece is the handle, the last part of the address after the prefix. Unless your WooCommerce URLs already match those paths exactly, every product URL changes on migration day.

That makes the redirect map the core SEO deliverable, and Shopify adds a sequencing rule to it.

You can redirect only from broken URLs.

A redirect for a page that still loads does nothing until that URL dies.

So the map gets built and loaded before cutover, and it takes over the moment the old store goes dark. The mechanics are friendly, since redirects import in bulk by CSV, with room for 100,000 rules, and 20 million on Shopify Plus.

How to build that map, what belongs in it, and why it stays live for a year afterward is territory we covered in migrating from Squarespace to Webflow. The redirect work is the same whichever platform you are leaving.

Treat order history as a business record

Put the vendor documentation together and your order history stops looking like a website asset and starts looking like a business record. Your bookkeeper, your tax filings, and your warranty lookups all quietly depend on it.

Treated that way, the decision gets clearer. There are three deliberate options, and all three need to be picked before cutover.

The first is to migrate the history through the app route Shopify’s guide names, once that route has been tested against your own data. The second is to export it for the books through the developer route WooCommerce leaves open, so the record survives whether or not it ever enters Shopify. The third is to keep a read-only copy of the old store’s data where your bookkeeper can reach it, and let the new store start its history clean.

Any of the three can work. What does not work is putting the decision off. On cutover day the old admin stops being where your team works, and every question about last spring’s orders gets harder to answer. Decide while the store is still yours to query.

Planning the move

If you are still weighing the move itself, we compared what WooCommerce and Shopify each demand of their owner. Shopify is our default for a Houston store, and this migration is one we plan often.

There is one case where we say stay. If your pricing logic is the product, meaning subscription billing or B2B tiers that live in code you control, WooCommerce’s code access is the reason to keep it. Rebuilding that logic on a hosted platform is the hard part of the move, not the catalogue.

If the WordPress install behind your store also runs your marketing site, that half of the move has its own first step, which is the plugin audit.

Our website migration service treats the two record sets the way this post does. The redirect map and the history decision come first, and the build is planned around them.

To be clear about what we do and do not take on, we do not build or maintain WordPress, so we are not the people to keep your WooCommerce store patched while you decide. Moving it is the work we do.

Get in touch when you are ready to plan the move. Knowing how many years of orders your store carries shapes the plan more than your product count does, so have that number handy.

Frequently asked questions

Can I move my order history from WooCommerce to Shopify?

Not natively. WooCommerce’s documented order actions include no export, and Shopify states order information cannot be imported by CSV. For order history, Shopify’s own guide points to third-party apps from its App Store. Test that route before cutover.

Do customer accounts transfer from WooCommerce to Shopify?

Customer records transfer. Names, emails, and addresses arrive by CSV, though Shopify’s guide has you install a plugin to get them out of WooCommerce. Order history and spend totals do not come along, and passwords never migrate. Each customer sets a new one.

Will my product URLs change when I move to Shopify?

Almost certainly. Shopify product pages live under /products/ and collections under /collections/, prefixes its documentation calls fixed. Only the handle after the prefix is editable, so a WooCommerce URL shape cannot carry over. Map redirects before cutover.

Do I have to migrate my order history?

No, and the choice deserves to be deliberate. Migrate it through the apps Shopify names, export it for your accounting records, or keep a read-only copy of the old store’s data. Any of the three can be right, as long as you decide before cutover.

Share this postTwitter / XLinkedInBluesky
Fredy Rodriguez
Fredy Rodriguez

Technical Director & Co-Founder

Runs the data-and-code side of Desque: SEO, GEO, AEO, PPC, copywriting, and the engineering behind every site we ship. Builds in Go and TypeScript.