When you move an online store from one platform to another, most of your page addresses (URLs) change. If Google cannot find your old pages at their new addresses, your rankings and traffic drop. URL mapping is the process of matching every old URL to its new URL and setting up a 301 redirect between them. This guide shows how to do that for Shopify, Adobe Commerce (Magento), and BigCommerce, step-by-step.
Our SEO website migration checklist covers the general rules for any site move. This guide goes deeper into the parts that only apply to eCommerce stores: products, categories, filters, variants, reviews and product feeds.
URL mapping is a spreadsheet with two main columns: the old URL and the new URL. Every page on your current store that has traffic, rankings, or backlinks gets a row. The new platform then uses this list to send visitors and search engines from the old address to the new one with a 301 redirect (a permanent redirect).
Without a URL map, old links from Google, other websites, emails, and bookmarks land on a “page not found” error. Google may eventually remove the old page from its index, while the new page may struggle to inherit the old page’s existing search signals.
Each eCommerce platform builds URLs in its own way. Some let you choose the structure. Others don’t. The table below shows the default patterns.
| Page Type | Shopify | Magento/Adobe Commerce | BigCommerce |
| Product | /products/blue-work-jacket | /blue-work-jacket.html or /workwear/blue-work-jacket.html | /blue-work-jacket/ or /workwear/blue-work-jacket/ |
| Category | /collections/workwear | /workwear.html or /workwear/jackets.html | /workwear/ or /workwear/jackets/ |
| Sub-category | Not supported. Every collection sits at /collections/name | Nested paths supported | Nested paths supported |
| Filter Results | /collections/workwear?filter.v.option.color=blue | /workwear.html?color=blue | /workwear/?color=blue |
| Blog Post | /blogs/news/post-title | /blog/post-title (depends on extension) | /blog/post-title/ |
| Static Page | /pages/about-us | /about-us | /about-us/ |
| Can You Change the Structure? | No. Prefixes are fixed. | Yes. Suffix and category path are settings. | Yes. Several formats to pick from. |
The biggest change usually happens when you move to Shopify, because Shopify adds /products/ and /collections/ to every URL and doesn’t allow nested categories. Moving to BigCommerce or Magento provides more control over URL structure, which may allow you to preserve more existing URLs and reduce the number of redirects required.
Your product export isn’t a full list. It shows what is live today, not what Google has indexed over the years. Pull URLs from four places and combine them in one sheet:
Crawl the Live Site
Use Screaming Frog or Sitebulb to crawl the whole store. Export every URL with its status code, title tag, meta description, H1, and canonical tag. This is your record of what each page looks like before the move.
Export from Google Search Console
Go to Performance, then Pages, and export the last 16 months. This shows every URL that got clicks or impressions. Any URL on this list needs a redirect.
Export from Google Analytics 4
Export landing pages with sessions and revenue for the last 12 months. Sort by revenue. These are among the highest-priority pages to preserve during migration.
Export Backlinks
Use Ahrefs, Semrush, or Ubersuggest to export every URL that has links from other websites. Properly redirecting pages with valuable backlinks helps preserve the authority and referral value associated with those links.
Remove duplicates and add columns for monthly clicks, revenue, backlink count, and page type (product, category, blog, static page, or other). Then sort by clicks and revenue. This tells you which URLs to map by hand and which can use a pattern rule.
Every URL gets one of four decisions. Add a column called “Action” to your sheet.
| Action | When to Use it | What to Set Up |
| Keep | The URL stays exactly the same on the new platform. | Nothing. Test that it returns 200 after launch. |
| Redirect | The page still exists but the URL changes. | 301 redirect, one old URL to one new URL. |
| Merge | Two or more old pages become one new page. | 301 redirect from each old URL to the single new URL. |
| Remove | The page is gone for good and has no replacement. | 410 status, or 301 to the closest category if it has backlinks or traffic. |
Don’t redirect everything to the homepage. Google treats this as a soft 404 and drops the old page’s value. Send each URL to the page that best matches what the visitor was looking for.
Work through one page type at a time. Most stores can map 80–90% of URLs with a pattern rule and then check the rest by hand.
Products are the largest group and carry most of the revenue. Match old and new URLs using the SKU or product ID as the key, not the product name. Names change during migration; SKUs usually don’t.
| Move | Old URL | New URL |
| Magento to Shopify | /workwear/blue-work-jacket.html | /products/blue-work-jacket |
| WooCommerce to Shopify | /product/blue-work-jacket/ | /products/blue-work-jacket |
| BigCommerce to Shopify | /blue-work-jacket/ | /products/blue-work-jacket |
| Magento to BigCommerce | /workwear/blue-work-jacket.html | /workwear/blue-work-jacket/ (can often match the old path) |
| Shopify to BigCommerce | /products/blue-work-jacket | /products/blue-work-jacket/ (BigCommerce lets you keep the /products/ prefix) |
| Shopify to Magento | /products/blue-work-jacket | /blue-work-jacket.html (or turn off the .html suffix and keep /products/) |
Shopify product handles must be lowercase with hyphens. If your old URLs use capital letters, underscores, or spaces, the new URL will differ even when the product name is the same. Build the map from the exported handle, not by guessing.
Category pages often rank for your most valuable search terms, such as “work jackets” or “industrial fasteners.” Map them by hand. Don’t use a pattern rule.
Shopify has no subcategories. A Magento path like /workwear/jackets/rain-jackets.html has to become a single collection such as /collections/rain-jackets. Decide the new collection name before the build, so the map and the store match. Keep the same word order as the old category where possible.
If you merge small categories into one larger collection, redirect every old category URL to the new collection. If you split one category into several, redirect the old URL to the new category that most closely matches the original page’s products and search intent.
Magento and BigCommerce create URLs for filter results (for example /workwear.html?color=blue&size=xl). Most of these shouldn’t be indexed, but some get traffic because Google indexed them anyway. Check Search Console. If a filter URL has clicks, redirect it to the matching collection on the new site. If a filtered URL has no meaningful traffic, rankings, backlinks, or strategic search value, determine whether it should be removed, noindexed, consolidated, or redirected based on its role in the new site architecture. Don’t create thousands of redirects for filter URLs nobody visits.
Page-2, page-3 URLs (?p=2 or /page/2/) should redirect to page 1 of the new collection.
Magento can give each size or color its own URL if variants were set up as simple products. Shopify puts all variants on one product URL with a ?variant= parameter. Redirect each old variant URL to the parent product on Shopify. Don’t try to preserve one URL per variant.
Magento with “use category path in product URLs” turned on creates several URLs for one product: /workwear/blue-jacket.html and /sale/blue-jacket.html. Redirect all of them to the single new product URL. On Shopify, a product opened from a collection shows as /collections/workwear/products/blue-jacket, but Shopify sets the canonical tag to /products/blue-jacket. That’s fine. Redirect old URLs to the /products/ version, not the /collections/ version.
These are the pages that get forgotten. Blog posts often have years of backlinks from press or partners. Map each one. On Shopify every post sits under /blogs/blog-name/, so /blog/how-to-choose-a-jacket becomes /blogs/news/how-to-choose-a-jacket. Static pages such as About, Contact, Shipping, and Returns move to /pages/.
Image URLs change on every platform. Google Images traffic can be large for some stores, and PDFs (spec sheets, catalogs, and manuals) are often linked by other websites. Export the image and file URLs that appear in Search Console and redirect the top ones. Keep the same file names and alt text on the new platform.
Don’t delete them. Choose one of three options:
Each platform has its own redirect tool and its own limits.
Go to the Online Store, then Navigation, then URL redirects. You can add redirects one by one or upload a CSV with two columns: “Redirect from” and “Redirect to.” Standard Shopify plans allow up to 100,000 redirects and Shopify Plus allows many more, so large stores should redirect their highest-value URLs first. Shopify doesn’t support wildcard rules, so every old URL needs its own row. When you later change a product handle inside Shopify, check the “Create a URL redirect” box. Read more about our Shopify Plus development work.
Go to Settings, then 301 Redirects. You can upload a CSV or add redirects by hand. BigCommerce supports “dynamic” redirects that point to a product or category by its ID, so the redirect keeps working even if you rename the product later. BigCommerce also lets you choose the URL format for products and categories, so in many migrations you can match the old URLs exactly and avoid redirects for most pages. See our BigCommerce development services.
Redirects live in Marketing, then URL Rewrites. You can import them in bulk with an extension or a script. For pattern-based redirects (for example, everything under /product/ to the root), use the web server: .htaccess on Apache or the config file on Nginx. Server rules run faster than database rewrites. If you are moving to Magento, turn the .html suffix and category-path options on or off before you import products, so the URL keys match your map. Our Adobe Commerce development team can set this up. For permanent URL changes during a migration, use 301 redirects rather than temporary 302 redirects. A 302 tells Google the move is temporary, and Google will keep the old URL in its index.
Redirects protect the address. These items protect what is on the page.
Platforms often reset these to the product name during import. Compare your pre-migration crawl with the new site and copy the old values back where they differ. Losing hand-written title tags is one of the most common causes of ranking drops after a migration.
Valid Product structured data can earn eligible product pages rich results — ratings, pricing, and other product details shown right in search.
Check that the new theme outputs valid Product schema and that your review app moved the reviews over with the same product IDs. A store that loses 5,000 reviews in a migration also loses its rating stars. Our guide on schema markup and structured data covers what to check.
Indexable primary pages should generally use a self-referencing canonical URL, while duplicate or variant URLs should canonicalize to the preferred version. Shopify handles this for products in collections. On Magento and BigCommerce, check filter pages and paginated pages so they don’t point to the wrong URL.
Update links in menus, footers, product descriptions, blog posts, and banners to point straight to the new URLs. Redirects can resolve old internal links, but updating those links to point directly to the final destination creates a cleaner site architecture and avoids unnecessary redirect hops.
Shopify and BigCommerce create the sitemap for you. On Magento, generate a new one after import. Make sure the new sitemap only lists live URLs, not redirected ones. Check that robots.txt doesn’t block the whole site (a staging setting that often gets copied over to the live site).
Your product feed uses URLs. If the feed still points to old URLs after launch, Google disapproves the products and your Shopping ads and free listings stop. Update the feed source to the new platform on launch day and check for disapprovals within 24 hours.
A new theme can be slower than the old one. Test your Core Web Vitals on staging and fix large images, unused apps, and slow scripts before launch.
Check the Search Console every day for the first week and every few days after that. Look at three reports:
| Time After Launch | Normal | A Problem |
| Week 1-2 | Rankings move up and down. Traffic dips 10%-20%. | Traffic down more than 40%, or many pages missing from the index. |
| Week 3-4 | Rankings settle. Most pages recover. | Top category pages still aren’t ranking. |
| Month 2-3 | Traffic back to 80%-90% of the old level or higher. | Flat or falling with no technical errors. |
| Month 4-6 | Full recovery. Many stores end up above the old level. | Still below the old level. Run a full SEO audit. |
Large stores with many non-branded rankings take longer than small stores. A store with 50,000 products can take two to three months to be fully re-crawled.
| Mistake | What it Causes | Fix |
| Redirecting All Old URLs to the Homepage | Google treats them as errors. Rankings for every product and category are lost. | One old URL to one matching new URL. |
| Mapping by Product Name Instead of SKU | Renamed products get no redirect. | Use SKU or product ID as the match key. |
| Forgetting Old Redirects from a Past Migration | Redirect chains, slower pages, and lost value. | Export old redirects and point them straight at the final URL. |
| Leaving the Noindex Tag on After Launch | The whole site drops out of Google within days. | Add it to the launch checklist and check the homepage source after go-live. |
| Not Updating the Product Feed | Shopping ads and free listings stop. | Switch the feed on launch day, and check the Merchant Center the next morning. |
| Using 302 Instead of 301 | Old URLs stay indexed. New pages don’t gain value. | Check status codes with a crawler before launch. |
| Skipping Blog and PDF URLs | Backlinks from press and partners are wasted. | Include every page type in the URL list. |
| Launching in Peak Season | Any dip costs real revenue with no time to fix it. | Launch in your quietest month. |
| Task | Tool | Cost |
| Crawl the Site and Test Redirects | Screaming Frog, or Sitebulb | Free up to 500 URLs, and paid above |
| Find URLs with Traffic | Google Search Console, or GA4 | Free |
| Find URLs with Backlinks | Ahrefs, Semrush, or Ubersuggest | Paid |
| Move Products, Orders and Customers | Cart2Cart, LitExtension, or Matrixify (Shopify) | Paid, based on record count |
| Check Schema | Google Rich Results Test | Free |
| Check Page Speed | PageSpeed Insights | Free |
For a store with under 1,000 products, one person can build and test the map in two to four days. For 10,000 or more products with several categories per product, plan two to three weeks, most of it spent on categories, filters, and old redirects. The mapping work should finish before the new site build starts, so the collection and product handles match the plan.
If you are choosing between platforms and want to know which one will require the fewest redirects for your store, our platform discovery and selection service compares the options against your current URL structure. If you have already chosen, our eCommerce platform migration team builds the URL map, runs the redirects, and monitors the first 30 days as part of every project.
Do I lose SEO when I migrate to Shopify?
Not if every old URL is redirected to its matching new URL and the page content, titles, and schema are kept. Shopify’s fixed /products/ and /collections/ structure isn’t a ranking problem on its own. Traffic loss comes from missed redirects, not from the URL format.
Can I keep my old URLs on the new platform?
On BigCommerce and Magento, usually yes, because both let you set the URL format. On Shopify, no. Products must sit under /products/ and categories under /collections/, so you will need redirects for those pages.
Which URLs need a redirect?
Any URL that has had clicks in Search Console, sessions in Analytics, or a backlink from another website. If a URL has none of these, it can return a 404 or 410 without harm.
Should I redirect old product pages to the homepage?
No. Redirect them to the same product on the new site, to the replacement product, or to the closest category. Homepage redirects are treated as errors by Google.
How many redirects can Shopify handle?
Standard plans allow up to 100,000 redirects. Shopify Plus allows far more. If you are near the limit, redirect the URLs with traffic and backlinks first and let the rest return 404.
Do I need to redirect image URLs?
Only the ones that get traffic from Google Images or have backlinks. Export image URLs from Search Console, sort by clicks, and redirect the top ones. Keep the same file names and alt text on the new site.
How long should I keep the redirects?
Keep them for at least one year. Keep any redirect that still gets hits in your server logs. Old links on other websites don’t go away.
When should I bring in a migration specialist?
If the store has more than 1,000 products, sells in more than one country, has years of backlinks, or earns more than a few thousand dollars a day from organic search, the cost of a mistake is higher than the cost of help. A specialist also handles the ongoing SEO work after launch.
What is URL mapping in an eCommerce migration?
URL mapping is the process of matching every URL on your current store to its counterpart on the new platform, recorded in a spreadsheet with old-URL and new-URL columns. That map becomes the source for your 301 redirects, so visitors and search engines landing on old addresses end up on the right new pages.
How do I create an SEO URL redirect map?
Pull every URL from four sources — a full site crawl (Screaming Frog or Sitebulb), Google Search Console’s Pages report (last 16 months), GA4 landing pages (last 12 months), and your backlink tool — then deduplicate, add traffic, revenue, and backlink data, sort by value, and assign each URL an action: keep, redirect, merge, or remove. Map products by SKU (not name) and hand-map high-value categories; pattern rules can cover the rest.
What is the difference between a URL map and a redirect?
The URL map is the plan — a spreadsheet pairing each old URL with its new destination (or a decision to remove it). Redirects are the execution — the 301 rules implemented on the new platform that actually send visitors and search engines from the old address to the new one. You build the map first, then implement the redirects from it.
How do I preserve SEO when migrating an eCommerce website?
Redirect every URL with traffic, rankings, or backlinks to its closest matching new page (never bulk-redirect to the homepage), carry over titles, meta descriptions, H1s, and schema, update internal links and XML sitemaps, switch your product feeds on launch day, and monitor Search Console daily for the first week. Most well-executed migrations recover fully within 4–6 months.
Should every old URL be redirected during a website migration?
No — only URLs with clicks, sessions, or backlinks need redirects. Pages with none of those can safely return a 404 or 410. That said, when in doubt, redirect: a redirect you didn’t need costs nothing, while a missed redirect on a page Google valued costs rankings.
What happens if I forget redirects during an eCommerce migration?
Old URLs return 404s, Google drops them from its index, and the rankings and link equity they carried are lost — traffic typically dips sharply in the first weeks. The fix is to build the redirect map retroactively from your pre-migration crawl and Search Console data and implement the missing 301s as fast as possible; recovery starts once Google recrawls the redirected URLs.
How do I migrate from Magento to Shopify without losing SEO?
Map every Magento URL to its Shopify counterpart — products move under /products/ and categories under /collections/, so every URL changes and you should expect a full redirect map. Match products by SKU, hand-map your top category pages, implement the 301s in Shopify’s URL redirect tool before launch, carry over metadata and schema, and validate everything on staging with a crawler before go-live.
How do I migrate from Shopify to BigCommerce without losing SEO?
Export your full Shopify URL list, then take advantage of BigCommerce’s flexible URL formats — you can often keep the /products/ prefix and match old paths closely, which means fewer redirects than most migrations. Redirect what must change, preserve titles and metadata, and test the full redirect list on staging.
How do I migrate from Magento to BigCommerce without losing SEO?
This is the most URL-friendly of the three moves, since BigCommerce lets you mirror Magento’s URL structures (including nested categories) in many cases. Map by SKU, hand-map your priority categories, use 301s only where URLs actually change, and carry over metadata, schema, and internal links.
Chloe Lapina drives digital communication strategies at ioVista, combining content expertise, email marketing, and audience insights to create meaningful brand experiences across channels. She creates engaging campaigns, insightful content, and data-driven marketing initiatives that help brands strengthen customer relationships and drive business growth. With expertise in content development, audience engagement, and marketing automation, Chloe helps transform ideas into impactful digital experiences that connect with audiences across channels.
With 20+ years of industry experience, ioVista understands your eCommerce needs and delivers best-in-class solutions that help you gain a competitive edge.
TOP
Get in Touch