Shopify does not let you touch the server, so every redirect goes through its own URL Redirects system. That simplifies a great deal and at the same time imposes two limits worth knowing before you plan a migration: only one type of redirect is available, and some paths the platform will not let you redirect at all.
Where redirects are created
- 1.In the admin, go to Settings → Online Store → Navigation.
- 2.At the bottom you will find the URL Redirects section. Click Create URL redirect.
- 3.Under "Redirect from" put the old path, starting with a slash: /old-collection. No domain needed.
- 4.Under "Redirect to" put the destination. It can be an internal path (/collections/new) or a full URL on another domain.
- 5.Save. The redirect takes effect immediately, with nothing to deploy.
Shopify only generates 301 redirects, meaning permanent ones. If you need a temporary 302 — a campaign, a page under maintenance — the admin will not give you one: you have to solve it with an app or with theme logic, and neither is as clean as a server redirect.
Bulk import by CSV
Creating redirects one at a time is not viable during a migration. On the same URL Redirects screen you can import a CSV with two columns: source path and destination path. It is the only realistic route if you are coming from another platform with hundreds or thousands of URLs.
- •Prepare the CSV with the two columns and no blank rows: one malformed row can abort the whole import.
- •Source paths go relative and with a leading slash. If you exported them with the domain, clean them first.
- •Import in batches if the file is large, so you can tell which block failed if something goes wrong.
- •After importing, check a real sample. The import can report success and still have normalised a path in a way you did not expect.
Migrating to Shopify from another platform
This is where the most traffic is lost, because Shopify imposes its own URL structure and almost nothing matches the source. The prefixes are fixed: products live under /products/, collections under /collections/, pages under /pages/ and blog posts under /blogs/blog-name/. You cannot remove them.
That means every single one of your old URLs changes shape, even the ones keeping the same slug. The redirect map is not optional: it is the migration.
Export the old URLs before switching the previous site off, not after. Once migrated there is nowhere left to get the full list, and rebuilding it from Search Console only returns the ones Google managed to crawl.
The chains Shopify creates on its own
Even when your redirects are individually correct, Shopify can chain them without telling you. The two most frequent cases:
| Situation | What happens |
|---|---|
| You change a slug twice | The first redirect still points at the intermediate slug, which then redirects to the new one. Two hops where there should be one. |
| Redirect plus market change | With Shopify Markets, a redirect to a path without a language prefix can trigger a second hop to the localised version. |
Neither shows up in the admin: there, each redirect looks individually correct. They only surface by following the whole chain from the original old URL.
What to check once they are in place
Take a sample of the old URLs — not the new ones — and follow their path to the final destination. What you want is a single hop, and a destination that matches exactly what you put in the map. If two hops appear, you have an intermediate slug to remove by pointing the original redirect straight at the final destination.
Try the tool for free
Analyze your URLs with 301 Redirect Checker by iRankly. No sign-up, no credit card.
If you are on another platform, or want the detail of each redirect type: