Shopify lets you redirect old URLs to new ones, one at a time or by CSV import. This guide shows how to map old URLs, import them in bulk, test the results with a crawler and remove redirect chains.

Plan your migrationSee selected work

Why redirects matter after a migration

When a URL changes, the old address stops working for shoppers and search engines, unless you redirect it. A redirect sends visitors and crawlers from the old URL to the new one. Without it, links and ranking signals that pointed to the old page are lost or weakened.

At scale, the work is mostly data, and the quality of that data decides the outcome. A store with thousands of retired product, collection or blog URLs needs a complete map. When I plan a migration, I treat the redirect map as a key deliverable. I cover the wider steps in my SEO migration service.

  1. Build the redirect sheet
  2. Import the CSV
  3. Read the summary
  4. Crawl and test
  5. Fix chains and re-check
Map first, import in bulk, then test every old URL with a crawler.

Decide how to map old URLs

Before you import anything, list every old URL that gets traffic, links or sales. Export them from your crawler, your analytics and Google Search Console. Then match each one to its closest new equivalent. Three simple rules cover most cases.

  • Like for like: An old product goes to the same product on the new store.
  • Closest match: A retired product goes to its category when no equivalent exists.
  • Home page: Use this only as a last resort, because it rarely matches what the shopper wanted.

Keep the map in one spreadsheet. It becomes your record for testing and for any later fixes. Share the final version with your developer and content team, so that later edits do not quietly break it.

Know how Shopify applies redirects

Shopify’s URL redirect help page says you can redirect only from broken URLs. If the old address still loads a valid page, the redirect does not work. A product that still exists under its old address keeps loading, and the redirect is ignored.

The same page sets limits on the number of redirects. Standard stores can hold up to 100,000 URL redirects, and Plus stores up to 20,000,000. Check your plan before a large import. The help page does not state a row or file size limit for CSV imports, so test with a small sample first. Match each path to the exact address a visitor types, including any market prefix such as /fr/. A small mismatch in casing, a trailing slash or a prefix can leave a redirect unused, so test a sample of each type of URL before you run the full import.

Step by step

  1. Build a two-column redirect sheet

    Create a spreadsheet with the old path in one column and the new path in the other. Use paths such as /old-product rather than full domains. Remove duplicate rows, and remove any old URL that still loads a live page.

  2. Open the import window in the admin

    In the Shopify admin, go to Content, then Menus. Select URL redirects, then Import. Shopify links a sample CSV template in this window. Use it as your starting file, and match its column headers exactly.

  3. Upload the CSV and review the preview

    Select Add file, choose your CSV, then select Upload file. Review the import, then select Import redirects. Wait for it to finish before you close the window. A large file can take a while, so do not refresh the page part way through.

  4. Read the import summary

    Shopify’s API reports how many redirects an import created, updated and failed. Check whatever summary the admin shows. Compare it with the row count in your sheet. Fix any failed rows in the sheet, then re-import only the corrected rows. Keep a copy of each summary, so you can compare the figures after launch and show what changed.

  5. Crawl the old URLs with a test tool

    Crawl your list of old URLs with a tool such as Screaming Frog. Each old URL should return a redirect and land on a page that returns 200 OK. For a quick check of a few URLs, run this command. It counts the hops and shows the final address.

    curl -sIL -o /dev/null -w "%{num_redirects} %{http_code} %{url_effective}\n" https://yourstore.com/old-product
  6. Remove redirect chains

    A chain runs from an old URL to page A, then from page A to page B. Each hop slows the visit and can weaken the signal. Shopify’s help does not say how chains are handled, so do not rely on it. Point each old URL straight to its final page in your sheet, then re-import the changed rows. Keep the sheet as the single source of truth, so each fix is made once and recorded in one place.

  7. Re-check after launch

    Crawl again once the new site is live, and look closely for 404 errors, redirect loops and chains that were not there before. Then check Google Search Console for crawl errors, and confirm that visits to old URLs reach live pages.

How to check it worked

A good result has three parts. Every old URL that matters redirects to a live, relevant page. No redirect chains remain in the crawl. The import summary matches your sheet, and no failed rows are left unresolved.

Common mistakes

  • Mapping everything to the home page: Shoppers land somewhere they did not ask for.
  • Redirecting a page that still exists: Shopify ignores the redirect, so the old URL keeps working.
  • Chains from earlier moves: A redirect points to a page that has since moved again.
  • Trusting the import count: The count shows what Shopify accepted, not whether each target is right.

For a full migration, the migration SEO checklist lists the checks in order. If you are moving from another platform, see migrate to Shopify for the wider process.

See all the Shopify, WooCommerce and 3D how-to guides.

Common questions

Can I redirect a URL that still has a live page?

Not usefully, because Shopify applies redirects only when the old URL breaks. If the page still loads, the redirect is ignored. Either retire the old page first, or accept that it keeps working. Check each old URL in your map before you import it.

How many redirects can a Shopify store have?

Shopify’s help page says standard stores can hold up to 100,000 URL redirects, and Plus stores up to 20,000,000. Check the current figures in Shopify’s help before a large import, because limits can change.

Do I need a developer for bulk redirects?

A developer is not always needed, because the admin CSV import handles most maps. A developer helps when old URL patterns are complex, or when redirects must be set in code. Test the result with a crawler either way.

Plan your migrationSee selected work

A practical guide by Niall Arnfield. Published 16 October 2026.