Shopify vs WooCommerce URL structure

Shopify and WooCommerce use different prefixes for the same types of pages. A product at the same URL slug looks different on each platform by default.

Products
Shopify /products/blue-denim-jacket
WooCommerce /product/blue-denim-jacket
Collections / Categories
Shopify /collections/womens-jackets
WooCommerce /product-category/womens-jackets
Collections "all products" page
Shopify /collections/all
WooCommerce /shop/

The slug — the human-readable part of the URL — is preserved during migration. The prefix changes. A product called "Blue Denim Jacket" with handle blue-denim-jacket moves from /products/blue-denim-jacket to /product/blue-denim-jacket. That's one character difference in the prefix, but it's a completely different URL as far as Google is concerned.

WooCommerce URL flexibility

You can change WooCommerce's product base URL in Settings → Permalinks → Product Permalink. If you set the product base to products (plural), your WooCommerce URLs become /products/product-name — matching Shopify's structure. This eliminates the need for product URL redirects. You'd still need redirects for collection → category URLs.

Why 301 redirects matter for SEO

A 301 redirect is a permanent redirect. It tells Google and other search engines: "this page has moved permanently — update your index to the new URL and carry over the ranking signals from the old one."

When Google crawls a 301 redirect, it:

Without a 301 redirect, Google treats the new WooCommerce URL as a brand-new page. It has no backlinks, no ranking history, and no crawl history. The old Shopify URL returns a 404 — Google eventually removes it from the index. Your ranking position drops to zero for those URLs and rebuilds from scratch.

For stores with 100+ products and years of accumulated SEO, that ranking loss can mean a significant drop in organic traffic. A properly handled migration with 301 redirects typically results in a temporary 10–20% traffic dip while Google processes the changes, then recovery to near-original levels within 4–8 weeks.

Don't use 302 redirects

A 302 redirect is temporary. It tells Google: "this content has moved temporarily, keep the original URL in the index." Google doesn't transfer ranking credit to the destination URL. If your migration creates 302s instead of 301s, your new WooCommerce URLs build no SEO equity from your Shopify history. Check your server configuration and plugin settings to confirm 301s are being served.

Option A: StoreShift redirects importer

Recommended · Starter plan and above

Automated redirect creation via plugin

StoreShift includes a Redirects importer that reads your Shopify store's product and collection URLs and creates matching redirect rules in WordPress automatically. No CSV exports, no manual rule entry.

The redirects are stored in WordPress and served via the template_redirect hook. When a visitor or search engine bot hits /products/blue-denim-jacket, WordPress intercepts the request and returns a 301 to /product/blue-denim-jacket before the 404 page ever loads.

  • Covers all product URLs: /products/*/product/*
  • Covers all collection URLs: /collections/*/product-category/*
  • Covers /collections/all/shop/
  • No .htaccess editing required — works on any WordPress host
  • Re-runnable: won't create duplicate redirect rules

To run the Redirects importer in StoreShift, connect your Shopify store, then click "Import Redirects" in the StoreShift dashboard. The importer runs quickly — redirect rules have no images to download, so a store with 500 products typically finishes in under 30 seconds.

Option B: Redirection plugin

Manual or CSV import · Free WordPress plugin

Redirection (free) for custom redirect rules

The Redirection plugin (wordpress.org/plugins/redirection, 2M+ active installs) lets you add redirect rules manually or import them from a CSV. It's useful when you need to redirect pages beyond products and categories — blog posts, about pages, policy pages, custom landing pages.

  • Add individual redirect rules via the WordPress admin UI
  • Import rules from a CSV (useful for stores with hundreds of custom URLs)
  • Regex-based rules: one rule can cover a pattern like all /pages/* URLs
  • Built-in 404 monitor: logs URLs returning 404 so you can add missing redirects
  • Serves 301 redirects without .htaccess (works on shared hosting)

Creating a CSV import for Redirection

Export your Shopify URL list from Analytics → Reports → Top landing pages, or use Shopify's sitemap at yourstore.myshopify.com/sitemap.xml. Build a CSV with two columns: source (old Shopify URL path) and destination (new WooCommerce URL path). Import via Redirection → Import/Export.

Option C: .htaccess rules

Technical · Apache servers only

Server-level redirects via .htaccess

.htaccess redirects fire at the server level before WordPress loads, making them marginally faster. They're appropriate if you're on an Apache server and comfortable editing server config files. A mistake in .htaccess can break your entire site — always back up the file before editing.

For the standard Shopify → WooCommerce URL pattern change, these two RewriteRule directives cover products and collections:

RewriteRule ^products/(.*)$ /product/$1 [R=301,L]
RewriteRule ^collections/(.*)$ /product-category/$1 [R=301,L]

Add these inside the mod_rewrite block in your .htaccess file, above the WordPress rewrite rules.

Apache only

.htaccess only works on Apache servers. If your host uses Nginx (common on Cloudways, Kinsta, and many managed hosts), you need to configure redirects via the Nginx server block config — your host's support team can assist, or use the Redirection plugin instead.

Which URLs to redirect

Prioritize redirects for URLs with organic traffic and backlinks. Here's how to identify them.

Products and categories (all of them)

Redirect every product URL and every collection/category URL. Even products with minimal traffic get backlinks from price comparison sites, affiliate pages, or social shares that you may not know about. The cost of setting up a redirect is near zero; the cost of missing a backlinked URL is a lost ranking signal.

Blog posts and content pages

Check Google Search Console for any Shopify blog post URLs with impressions in the last 90 days. If a blog post has search visibility, redirect it. Shopify blog URLs follow the pattern /blogs/news/post-slug — map them to your WordPress blog post URL after importing the content.

Policy and about pages

Pages like /policies/privacy-policy, /policies/terms-of-service, and /pages/about typically have external links (payment processors, trust badge providers often link to your privacy policy). Redirect them to their WooCommerce equivalents.

The homepage

If your WooCommerce site is on the same domain, the homepage URL doesn't change. No redirect needed. If you're moving to a new domain, set up a full-domain redirect from the old domain to the new one.

Google Search Console monitoring

After migration, monitor GSC for two to four weeks to catch any URLs returning 404s that you missed.

Submit the updated sitemap

In GSC, go to Sitemaps and submit your new WooCommerce sitemap URL (typically yourdomain.com/sitemap_index.xml with Yoast SEO installed, or yourdomain.com/wp-sitemap.xml with the WordPress core sitemap). This gives Google the authoritative list of live URLs to crawl.

Request indexing on high-value pages

In GSC, use the URL Inspection tool to request indexing on your top-traffic product pages and category pages. This queues them for recrawl sooner than Google's normal crawl schedule — useful for high-value pages where you don't want to wait weeks for rankings to stabilize.

Monitor the Coverage report

GSC → Coverage → Error shows URLs that Google tried to crawl and got a 404 or other error. Check this weekly for the first month. Any 404s are redirect gaps — add those URLs to your Redirection plugin list.

Watch the Performance report

Track clicks and impressions for your key product and category pages. Expect a 1–3 week dip as Google processes the migration. If rankings haven't recovered after 6–8 weeks, the most common cause is missing redirects or canonical tag issues — investigate the top dropped URLs in the Performance report.

StoreShift handles redirects automatically

The Redirects importer creates all product and category 301 redirect rules in under a minute. Available on Starter plan and above.

See pricing

Common redirect mistakes

Using 302 instead of 301

Some migration plugins create 302 temporary redirects. Search engines don't transfer ranking credit through 302s. Check your redirect setup by using a tool like httpstatus.io — enter a redirected URL and confirm the response code is 301.

Redirect chains

A redirect chain is when URL A → URL B → URL C. Each hop in the chain loses some link equity and slows page load. If you previously had Shopify redirects pointing to other Shopify URLs, and now you've added WooCommerce redirects on top, audit for chains. The final redirect should go directly from the old Shopify URL to the live WooCommerce URL in one hop.

Redirecting to the homepage instead of matching pages

A common shortcut is to redirect all old product URLs to the homepage or the shop page. Google sees these as "soft 404s" — the redirect works technically, but the destination isn't the page the user was looking for. Google devalues these redirects and may remove the original URLs from the index without passing credit. Always redirect to the matching page.

Missing canonical tags

After migration, check that WooCommerce pages have correct canonical tags pointing to themselves. A misconfigured SEO plugin can generate canonical tags pointing to Shopify URLs or to the wrong WooCommerce URL, undermining your redirect work. Yoast SEO and RankMath generate canonical tags automatically — verify a few pages with your browser dev tools or a canonical checker.

Deleting redirects too early

Keep redirect rules in place for at least 12 months after migration. External sites with backlinks to your old Shopify URLs may not update those links for months. Remove redirects too early and those links hit a 404 instead of your WooCommerce page.

Frequently asked questions

Will I lose my SEO rankings when migrating from Shopify to WooCommerce?

Not if you set up 301 redirects correctly. Google follows 301s and transfers ranking credit to the new URL. Expect a temporary 10–20% traffic dip while Google processes the migration — rankings typically recover within 4–8 weeks when redirects are in place.

What's the difference between a 301 and 302 redirect?

A 301 is permanent — Google transfers ranking credit to the new URL and updates its index. A 302 is temporary — Google keeps the original URL in its index and doesn't pass credit. Use 301 for all migration redirects. A 302 where a 301 belongs means your new WooCommerce URLs don't inherit your Shopify ranking history.

Does StoreShift handle redirects automatically?

Yes. The StoreShift Redirects importer creates 301 redirect rules for all products (/products/*/product/*) and collections (/collections/*/product-category/*) automatically. Available on Starter plan and above. Runs in under a minute for most stores.

How long does it take Google to follow redirects after migration?

High-traffic pages: 24–72 hours. Medium-traffic pages: 1–2 weeks. Low-traffic pages: 2–4 weeks. Submitting your updated sitemap in GSC and requesting indexing on key pages speeds up recrawling of high-value URLs.

Do I need to redirect every Shopify URL?

Redirect every URL with organic traffic or known backlinks. At minimum: all product URLs, all collection/category URLs, and any pages with GSC impressions. URLs with zero traffic and no backlinks are lower priority, but a missed redirect only costs you the occasional user who bookmarked the page.