How do you migrate a Shopify store to WooCommerce?
Split the job in two. Product data travels in a product CSV exported from Shopify, which the agent maps to WooCommerce products, and the storefront pages are rebuilt as native blocks on your site through NibWP. You test checkout yourself before any customer sees it.
What you get
- Products, variants and prices mapped from CSV to WooCommerce
- Product images moved into your WordPress Media Library
- Collections recreated as WooCommerce product categories
- Home, about and policy pages rebuilt as editable blocks
- Old product URLs listed for redirects so links keep working
- The new store built on staging before your domain moves
How it works
- Install WooCommerce and NibWP on a staging WordPress site
- Export your products as CSV from Shopify and share the file with the agent
- Ask the agent to map columns, import products as drafts and rebuild pages
- Test checkout, taxes and shipping, add redirects, then switch the domain
What to check after
Customer accounts, order history, gift cards and Shopify apps do not travel in a product CSV, so plan each one separately or start fresh. Payment gateways, tax rules and shipping zones must be set up and tested in WooCommerce by you, not left to the agent.
What moves from Shopify to WooCommerce, and how?
A Shopify store has two very different halves. One half is data: products, variants, prices, images, collections and, separately, customers and orders. The other half is presentation: the home page, landing pages, policy pages and blog. They travel by different routes. Product data moves through CSV files, and WooCommerce has its own product importer for exactly that. Presentation is rebuilt page by page on WordPress. Keeping the two halves apart makes the project far easier to plan and to check.
What WordPress receives
Products land as WooCommerce products, with variable products holding their variations. Collections become product categories. Store pages become WordPress pages built from native blocks, editable in the normal editor, with no Custom HTML blocks holding copied theme code. Images move into your WordPress Media Library, so nothing depends on Shopify once you close the account.

Before you start: a store migration checklist
- Export products to CSV from the Shopify admin and keep an untouched copy of the file
- Count products and variants so you can confirm the totals after import
- Export customers and recent orders separately if you plan to bring them across
- List every installed Shopify app and the job it does in the store
- Write down your payment providers, tax settings and shipping zones
- Note the URL of each product, collection, page and blog post for redirects
- Build on a staging WordPress site with WooCommerce installed, never on the live domain
How do you move products with a CSV?
Shopify's export uses one row per variant, grouped by a handle that ties the rows of one product together. WooCommerce's importer expects a parent row for each variable product and one row per variation linked to that parent. The columns overlap but are not identical, so the file needs reshaping before import. This is careful, repetitive work, which is why handing it to an agent saves time, as long as you check the result.
How the main columns line up
| Shopify column | WooCommerce importer column |
|---|---|
| Handle | Slug of the parent product, and the link between variations |
| Title | Name |
| Body (HTML) | Description, cleaned into plain paragraphs and lists |
| Option1 Name and Option1 Value | Attribute 1 name and Attribute 1 value(s) |
| Variant SKU | SKU |
| Variant Price | Regular price |
| Image Src | Images |
| Product type, tags or collections | Categories and tags |
Images, collections and SEO fields
Image URLs in the CSV point at Shopify. WooCommerce can fetch images from those URLs during import while the Shopify store is still online, which is another reason to keep it running until the end. Collections are not a column in the product export, so decide how they map to categories and add that column before importing. If your products have custom SEO titles and descriptions, carry them into your SEO plugin's fields so search snippets do not change overnight.

Where does an AI agent help, and where should it stop?
Install NibWP on the staging site. It is a WordPress plugin that turns the site into an MCP server, so an AI client such as Claude, ChatGPT or Cursor can work on the site directly. The MCP switch is off by default and bound to the domain you enable it on, and each client you connect receives its own application password.
The agent is useful for three jobs. First, reshaping the Shopify CSV into a file the WooCommerce importer accepts, and explaining any row it could not map. Second, rebuilding the home, about, contact, shipping and policy pages as native blocks, based on your live Shopify pages. Third, producing the full list of old and new URLs for your redirects. You then run the WooCommerce import yourself, starting with a small test file of five or ten products.
The agent should stop at money and personal data. Payment gateways, tax rules, shipping zones and customer records need a person to configure and verify them, and nothing about them should be left to guesswork.
What about customers, orders and apps?
Customer names and addresses can be exported, but passwords cannot, so returning customers will set a new password the first time they log in. Tell them before launch. Order history can be exported for your records or imported with a dedicated tool if you need it inside WooCommerce. Gift cards, discount codes and loyalty points each need a decision: recreate, honour manually, or retire. Every Shopify app needs a WordPress counterpart, or a deliberate choice to drop the feature.
What should you tell customers before the switch?
A platform change is invisible when it goes well, except for one moment: the first login. Send existing customers a short notice a few days ahead explaining that the store is moving, that their order history is safe, and that they will be asked to choose a new password. Mention any change to how gift cards or discount codes work, and say who to contact if something looks wrong. On launch day, put a small notice on the account page with a direct link to the password reset form. Keep the tone practical rather than apologetic. If you sell subscriptions, contact those customers individually, because recurring payments usually need to be set up again with the new payment provider and nobody wants a surprise failed charge.
How do you keep product URLs and rankings?
Shopify and WooCommerce use different default paths, so redirects are essential.
| Shopify path | Typical WooCommerce path |
|---|---|
| /products/handle | /product/slug |
| /collections/handle | /product-category/slug |
| /pages/handle | /handle |
| /blogs/news/handle | /blog/handle or a path you choose |
Keep slugs identical to handles where you can, and add a 301 redirect for every old URL. Submit the new sitemap after launch and watch for crawl errors during the first weeks.
How do you test the new store before launch?
Place real test orders on staging with every payment method, check tax totals for each region you sell to, and confirm shipping rates for at least one address in every zone. Read the order and customer emails WooCommerce sends. Compare product counts and a sample of prices against your original export. Only then move the domain, and keep Shopify active briefly in case anything was missed.
Is there a dedicated Shopify to WooCommerce tool?
Yes, dedicated migration services and import plugins exist, and for a large catalogue with years of orders they are often the sensible choice. None of the WordPress MCP plugins we have reviewed offers a Shopify-specific workflow. The agent approach on this page suits stores small enough for a person to check, where control over every product and page matters more than speed. If you also run content sites elsewhere, see how we move Squarespace to WordPress and Wix to WordPress, or rebuild single pages with the live URL to WordPress guide. Every source is listed on the converters directory.
When your product export is ready, try NibWP free on a staging store.
Troubleshooting
Store migrations fail in predictable places. Check these before opening the new store to customers.
Product import fails or skips rows
Column headers must match what WooCommerce expects. Open the CSV, compare the headers with the WooCommerce importer mapping, and fix variants, which need parent rows. Import a small batch first.
Variants and options are wrong
Shopify options become WooCommerce attributes and variations. Check each variable product for correct prices, stock and images before launch.
Product images are missing
Image URLs in the export may point to Shopify. Import them into the Media Library, confirm each product shows its images, and keep a copy in case old links fail.
Customers cannot log in
Passwords do not transfer. Plan a notice and a reset email. Test the reset flow before announcing the move.
Checkout shows wrong tax or shipping
Set up tax rules and shipping zones from scratch, and test with real addresses. Compare totals with Shopify for a few sample orders.
Product URLs changed
Shopify paths differ from WooCommerce slugs. Create 301 redirects from each old product and collection URL to its new page.
If an order or product behaves oddly on the new store, test it in isolation: one product, one customer, one payment. Most problems come from a single misconfigured setting, and a small test finds it fast. When a total looks wrong, rebuild the same basket on the old store and compare line by line: product price, tax, shipping and discount. The difference almost always points to one rule that was copied incorrectly.
Doing it by hand vs with an AI agent
A store move is the kind of job where care matters most. Here is where each approach helps.
| Task | By hand | With an AI agent |
|---|---|---|
| Preparing the product CSV | Careful spreadsheet work you control | Fast reshaping, you check every column |
| Importing products | Run the WooCommerce importer yourself | Same importer, the agent prepares the file |
| Setting taxes and shipping | Done by you with test orders | Should not decide this for you |
| Customer accounts | Handled with a reset plan | Can draft the notice, you decide the plan |
| Redirect list | Built from old and new URLs | Drafted from two lists, you test |
| Payment setup | Always yours | Never delegated |
| Stock and inventory counts | You verify each count | The agent flags mismatches, you decide |
| Order history | Imported with a dedicated tool or kept as an archive | Needs a plan, not a shortcut |
In a store move, anything touching money stays under your control. Use an agent for preparation and cleanup, and keep payments, taxes and customer messages as deliberate human steps. Keep a rollback plan. If something goes wrong after launch, you want to know exactly how to point customers back to the old store while you fix the new one, and that is only possible if you did not close the old store too early.
Checklist before you publish
Work through this list in test mode first. Only open the store to customers after every line has been confirmed with a real test.
- A full Shopify export of products, customers and orders was saved
- A sample CSV import worked before the full import
- Variants, prices and stock were reviewed
- Product images show correctly
- Tax and shipping were tested with real addresses
- Payment gateway was tested in test mode first
- Redirects cover products and collections
- Customers received a notice and reset instructions
- Policies and contact pages were moved
- A backup exists and the old store stays live until launch
- Stock counts match between old and new store
- You decided what to do with order history
Keep a dated copy of the list for your records, and repeat it after any major plugin update. If staff will process orders, give each person their own account with only the permissions they need, and walk through the order screen together before launch. A short rehearsal avoids panic on the first real day.
Glossary
Terms you will meet in the migration.
CSV: a spreadsheet file used to move product data
Variation: a version of a product, such as size or color
Attribute: a WooCommerce product property such as size
Shipping zone: a region with its own shipping rules
Payment gateway: the service that takes card payments
301 redirect: a permanent redirect from an old product URL
Test mode: a payment setting that lets you place pretend orders
Inventory: the stock count for each product
Common mistakes
A store has real customers and real money attached, so the cost of a mistake is higher than on a brochure site. The items below are the ones that most often cause trouble after launch.
- Importing everything at once. Start with a small batch.
- Letting an agent touch payments. Set up and test payments yourself.
- Forgetting customers. Tell them before the switch. For a simpler content move first, see Squarespace to WordPress.
- Dropping redirects. Shop links in search and on social media will break, and native blocks versus a Custom HTML block is a reminder that structure matters. A page-level rebuild is covered in live URL to WordPress.
- Closing Shopify early. Keep it live until orders flow on the new store.
- Skipping test orders. Place real test orders for each shipping and payment option.
Slow is fast here. A careful test of one product, one customer and one order catches problems that a full import would bury.
Get the guide by email
The Shopify to WooCommerce move list: CSV mapping, payment setup, redirects and launch day checks.
Questions
Will my customers keep their passwords?
Plan for customers to set a new password at their first login. Passwords are not part of a product export.
Do dedicated Shopify migration services exist?
Yes, paid store migration services exist. This guide covers doing it yourself with an agent, which suits catalogs small enough to check by hand.
Should I build the new store on my live domain?
No. Build on staging, place real test orders, and move the domain last.
How do I migrate from Shopify to WooCommerce?
Export your products, customers and orders, prepare the product CSV, import it into WooCommerce, rebuild pages, set tax, shipping and payments, and add redirects. Test checkout thoroughly before launch. Test with real addresses before you go live. Test with several addresses and carriers. Write down each setting you change. Keep screenshots of the old checkout and product pages. Review each step before you move on. Keep notes so the next page goes faster. Ask someone else to check the result.
Can I import Shopify products into WooCommerce?
Yes. Export products from Shopify as a CSV, adjust the columns to what the WooCommerce importer expects, and import a small batch first. Review variants and images afterwards. Start with a small batch and widen it. Import a handful of products first. Ask a friend to place a test order. Write down each setting you change as you go. Review each step before you move on. Keep notes so the next page goes faster.
Will Shopify customers keep their passwords on WooCommerce?
No, passwords do not move across. Accounts can be created, and customers reset their passwords. Plan a clear message and test the reset email. Send a clear message ahead of the switch. Explain the change plainly. Keep screenshots of the old checkout. Review each step before you move on. Keep notes so the next page goes faster. Ask someone else to check the result.
How do I keep SEO when moving from Shopify to WooCommerce?
Keep product and category slugs where possible, copy titles and descriptions, and set 301 redirects from every changed URL. Check Search Console for errors after launch. Watch Search Console for errors in the first weeks. Check redirects for collection pages too. Review each step before you move on. Keep notes so the next page goes faster. Ask someone else to check the result.
Is WooCommerce cheaper than Shopify?
It depends on hosting, extensions, payment fees and your time. Compare real costs for your store, including the work to maintain it, before deciding. Include the effort of upkeep in your comparison. Count plugin updates as a running cost. Review each step before you move on. Keep notes so the next page goes faster. Ask someone else to check the result.