Guides ยท Shopify redirects
Shopify migration redirect checklist: test the file before you launch
Redirects are the part of a store migration that fails quietly. The new store looks finished, and the damage shows up weeks later as lost rankings and 404s. This list covers the redirect file from start to finish.
1. Collect every old URL
- Download the old store's
sitemap.xml, including the product, collection, page and blog sitemaps it links to. - Add the landing pages from your analytics for the last 12 months. Pages that get traffic are not always in the sitemap.
- Add URLs with backlinks, from Search Console or whichever link tool you use. These matter most and are the easiest to forget.
Keep this list. You will use it again in step 6.
2. Map old to new
- Send each old URL to the closest matching page on the new store: product to product, category to collection, article to article.
- Do not send everything without a match to the homepage. Visitors lose the page they wanted, and a search engine may treat a mass redirect to the homepage like a missing page.
- Where the path is identical on both stores, you need no redirect at all.
3. Put the file in Shopify's format
Redirect from,Redirect to /old-shop/blue-mug,/products/blue-mug
- Two columns with exactly these headers. If you use Matrixify, the Redirects sheet uses
PathandTarget. - Sources are paths on your own store, starting with a slash. Strip the old domain.
- Percent-encode spaces and other characters that are not valid in a URL.
- A source with a query string only matches that exact query. Make sure that is what you want.
4. Check the file against itself
- Duplicates. The same row twice. Remove the extra.
- Conflicts. The same source with two different targets. Only one can win, so decide which.
- Self-redirects and loops. Addresses that lead back to themselves. Visitors get a "too many redirects" error.
- Chains. A target that is itself redirected. Point each row at the final page.
- Empty or invalid cells. A missing target, or a source that is not a path.
- Sources Shopify does not redirect. Paths under
/cart,/apps,/shopand a few others. See the full list. - The row count. A store can hold up to 100,000 redirects, or 20,000,000 on Shopify Plus.
5. Check the file against the new store
Do this once the new store's products, collections and pages are in place.
- Targets that do not exist. A redirect to a product that was renamed or never imported lands on a 404. Compare every target with the new store's sitemap or product export.
- Sources that are live pages. Shopify only applies a redirect when the old address would return a 404. If a page already lives at the source path, the redirect never fires.
- Targets on another domain. Sometimes intended, often a leftover from the old site.
6. Check the old list against the file
Go back to the list from step 1. Every old URL should either have a redirect or exist at the same path on the new store. Anything else will 404 on launch day.
7. Import and spot-test
- Import the CSV in the Shopify admin, or with Matrixify.
- Open a sample of old URLs in a private window: your top ten landing pages, a few products, a few categories, and anything with strong backlinks.
- Check that each lands on the right page in one hop.
8. Watch for a month
- Check Search Console for new "not found" pages each week and add redirects for the ones that matter.
- Re-run steps 4 and 5 after any bulk change to products or pages. New content can land on a path that a redirect depended on.
Check your own file
Rowmill Redirect Check runs these checks on a Shopify redirect CSV or a Matrixify Redirects sheet. It is free, it runs in your browser, and your file is never uploaded.
Open the checker