Last updated August 2026
URL redirects are the most important post-migration task for preserving SEO value. Shopify's Store Migration app does not create them automatically.
Redirects are created with a **path** (the old URL) and a **target** (the new URL):
{
"redirect": {
"path": "/old-product-page/",
"target": "/products/new-product-slug"
}
}
Go to **Settings → Navigation → URL Redirects** and add redirects manually or via CSV import.
URL redirects can be created via the Shopify admin (bulk import) or the GraphQL Admin API at /admin/api/2026-07/graphql.json.
Prepare a CSV with two columns: `path` and `target`. Import in Shopify admin.
1. **One-to-one mapping** — Each old URL should redirect to exactly one new URL
2. **301 (permanent)** — Use 301 redirects for SEO value transfer
3. **Avoid chains** — Don't redirect to a redirect (A → B → C). Point directly to the final URL.
4. **Test after import** — Spot-check a random sample of redirects
5. **Prioritize by traffic** — Import high-traffic URLs first
6. **Handle query parameters** — Shopify ignores query strings in redirect matching
Old: `/product/product-name/` → New: `/products/product-name`
Old: `/product-category/category-name/` → New: `/collections/category-name`
Old: `/catalog/product/view/id/123` → New: `/products/product-name`
Check `url_rewrite` table for custom paths.
Old: `/category/id-product-name.html` → New: `/products/product-name`
Old: `/department/category/product-name/p` → New: `/products/product-name`
If you need pattern-based redirects, header manipulation, or more than 100,000 redirects:
Get a free assessment of your store's migration complexity, risks, and effort.
Assess my store