301 redirects: WooCommerce to Shopify complete guide (2026)
Complete guide to setting up 301 redirects when migrating from WooCommerce to Shopify — URL pattern differences, bulk redirect import, Shopify's redirect manager, and SEO best practices.
301 redirects are the single most important SEO task when migrating from WooCommerce to Shopify. Every URL that exists in Google's index needs a 301 redirect to its Shopify equivalent — otherwise you permanently lose the link equity and rankings those pages accumulated. This guide covers every URL type you need to redirect and how to set them up efficiently.
Why 301 redirects are critical
When Google has indexed a URL (a product page, category page, blog post), that page has accumulated:
- Link equity (backlinks from other sites)
- Historical engagement signals (click-through rates, dwell time)
- Domain authority contributions
A 301 redirect tells Google: "This page has permanently moved here." Google transfers approximately 90–99% of link equity from the old URL to the new URL over 2–6 weeks. Without a redirect, that page returns a 404, Google drops it from the index, and all accumulated ranking signals are lost permanently.
WooCommerce vs Shopify URL structure
| Content type | WooCommerce URL | Shopify URL |
|---|---|---|
| Product page | /product/product-slug/ | /products/product-handle |
| Product category | /product-category/category-slug/ | /collections/collection-handle |
| Tag page | /product-tag/tag-name/ | /collections/all?q=tag-name (or custom collection) |
| Blog post (WordPress) | /blog-name/post-slug/ or /year/month/post-slug/ | /blogs/news/post-handle |
| Blog archive | /blog-name/ or /blog/ | /blogs/news |
| Author archive | /author/author-name/ | No equivalent — redirect to /blogs/news |
| Static page | /page-name/ | /pages/page-handle |
| Cart | /cart/ | /cart |
| Account login | /my-account/ | /account/login |
| Shop page | /shop/ | /collections/all or / |
Setting up redirects in Shopify
Shopify Admin URL Redirect Manager
Shopify Admin → Online Store → Navigation → URL Redirects
This interface allows you to:
- Add individual redirects (Old path → New path)
- Import redirects in bulk via CSV
- Export existing redirects to CSV
- Search and delete redirects
Bulk redirect import via CSV
For stores with more than 10–20 products, bulk CSV import is the only practical approach. Shopify's redirect CSV format:
Redirect from,Redirect to
/product/old-product-slug,/products/new-product-handle
/product-category/electronics,/collections/electronics
/blog/2024/01/my-blog-post,/blogs/news/my-blog-post
Important notes on the CSV format:
- Paths must start with
/(not include the domain) - "Redirect from" must be a relative path (
/product/slug, nothttps://example.com/product/slug) - "Redirect to" can be a relative path or a full URL (for redirecting to an external domain)
- Maximum 1,000 redirects per CSV import
How to build your redirect CSV
Product redirects
The most important redirects. Products have different URL structures on WooCommerce (/product/slug/) vs Shopify (/products/handle).
To build the product redirect CSV:
- WooCommerce export: Export your WooCommerce products via WooCommerce → Products → Export. The CSV includes the "slug" column (the WooCommerce URL slug).
- Shopify products: After pushing products to Shopify (via k-sync or CSV), export your Shopify products. The "Handle" column is the Shopify URL slug.
- Build mapping: Match WooCommerce slugs to Shopify handles. If your product slugs match exactly (which they usually do), the formula is simple:
Redirect from: /product/{wc-slug}/
Redirect to: /products/{shopify-handle}
In a spreadsheet:
=CONCAT("/product/", A2, "/") ← Redirect from
=CONCAT("/products/", B2) ← Redirect to
Category redirects
WooCommerce product categories (/product-category/slug/) need to redirect to Shopify collections (/collections/handle).
Export WooCommerce categories: WooCommerce → Products → Categories → Export. Match the category slug to the Shopify collection handle:
/product-category/electronics,/collections/electronics
/product-category/clothing/mens,/collections/mens-clothing
Note: WooCommerce supports hierarchical categories (/product-category/clothing/mens/). Shopify collections are flat — recreate parent/child logic using tags or separate collections.
Blog post redirects
WordPress blog posts can have several URL structures depending on your permalink settings:
/blog-name/post-slug/(most common)/year/month/post-slug/(date-based)/post-slug/(plain)
Shopify blog posts are at: /blogs/{blog-name}/{post-handle}
Export your WordPress posts to build the redirect list. If you're using date-based URLs, each post needs its date stripped:
/2024/01/15/my-blog-post,/blogs/news/my-blog-post
/blog/my-blog-post,/blogs/news/my-blog-post
Page redirects
Static WordPress pages typically map directly: /about-us/ → /pages/about-us. Usually straightforward to set up manually.
Shop page redirect
/shop,/collections/all
/shop/,/collections/all
Account page redirect
/my-account,/account/login
/my-account/,/account/login
Shopify redirect limitations to know
No wildcard redirects
Shopify's redirect manager does not support wildcard or regex redirects. You cannot do:
/product/* → /products/* ← DOES NOT WORK in Shopify
Every redirect must be listed individually. For large catalogs, this means your redirect CSV may have thousands of rows — which is fine, Shopify handles this.
Maximum 100,000 redirects
Shopify supports up to 100,000 URL redirects per store (on Plus, there's higher capacity). For most WooCommerce migrations, this is sufficient.
Redirect processing speed
Shopify resolves redirects at the CDN level, so redirects are fast. However, you should minimize redirect chains (A → B → C) — always point directly to the final URL.
Apps for wildcard redirects
If you need wildcard or pattern-based redirects (useful for complex URL restructuring), apps like Easy Redirects or SEO Manager support regex and pattern redirects.
When to set up redirects
Timing matters for SEO:
- Before DNS cutover: Redirects need to be in Shopify's system before you point your domain to Shopify
- Not too early: Redirects only activate when the domain is on Shopify — adding them weeks early is fine but they don't "do anything" until the DNS change
- Verify immediately after DNS cutover: Check that redirects are working within the first hour of the DNS change
Verifying redirects after migration
After DNS propagation, verify your redirects:
Manual spot checks
Visit 10–20 of your most important old URLs in a browser. You should be automatically redirected to the Shopify equivalent.
Using redirect checking tools
- Screaming Frog: Crawl your WooCommerce URL list, check response codes (301 = correct, 200 = not redirected, 404 = broken)
- httpstatus.io: Check individual URLs
- Google Search Console: After a few weeks, check Coverage report for 404 errors (missed redirects) and see if old URLs are being indexed
Common redirect mistakes to verify
- Redirect loop: old URL → new URL → redirects back to old URL
- Redirect to homepage: "catch-all" that sends everything to / loses page-specific rankings
- Missing trailing slash variants: check both
/product/slugand/product/slug/ - Case sensitivity: WooCommerce slugs are lowercase; check any uppercase URLs in Google's index
International stores: hreflang and subdomain redirects
For stores that had multilingual WooCommerce (WPML, Polylang) with language subdomains or subdirectories:
fr.example.com/product/slug→example.com/fr/products/handle(if using Shopify Markets with subdirectory)example.com/fr/product/slug→example.com/fr/products/handle
Update hreflang tags to reflect the new URL structure. Shopify Markets automatically generates hreflang tags when configured correctly.
Redirect setup checklist
- Export WooCommerce product slugs (WooCommerce → Products → Export)
- Export WooCommerce category slugs
- Export WordPress blog post slugs (with their old URLs)
- Export Shopify product handles (after push)
- Build redirect CSV: product redirects (largest batch)
- Build redirect CSV: category redirects
- Build redirect CSV: blog post redirects
- Add manual redirects: /shop, /my-account, author archives, tag pages
- Import all CSV redirects to Shopify Admin → Online Store → Navigation → URL Redirects
- Import multiple CSVs if over 1,000 rows per file
- Immediately after DNS cutover: spot-check 20+ old URLs
- After 1 week: check Google Search Console for 404 errors in Coverage report
- After 2–3 weeks: verify Google is discovering and indexing the new Shopify URLs
Redirects are not glamorous work, but they're the difference between a migration that preserves years of SEO investment and one that destroys it. Spend the time to build a complete redirect map before your DNS cutover — it's the highest-ROI migration task you'll do.
Migrate your store with k-sync
Connect your WooCommerce store, validate your products, and push to Shopify in minutes. Free for up to 50 products.
Get started freeRelated reading
Migrating a luggage and travel accessories store from WooCommerce to Shopify (2026)
How to migrate a luggage, travel bags, or travel accessories WooCommerce store to Shopify — luggage specifications, airline compliance, TSA lock, warranty and durability claims, and luggage retail Shopify setup.
Migrating a motorcycle accessories store from WooCommerce to Shopify (2026)
How to migrate a motorcycle accessories, biker gear, or motorbike parts WooCommerce store to Shopify — helmet safety standards, CE-rated protective clothing, type approval for parts, fitment compatibility, and motorcycle retail Shopify setup.