Skip to main content
Shopify guide

301 Redirect for Shopify Stores

By ยท Updated ยท 7 min read

How 301 Redirects Work Inside Shopify

Shopify has a native URL redirect manager built into every store's admin panel under Online Store โ†’ Navigation โ†’ URL Redirects. Merchants enter an old path (e.g., /products/old-product-name) and a destination path (e.g., /products/new-product-name), and Shopify returns a 301 status code to browsers and crawlers hitting that old URL. No code edits or server configuration are required โ€” the redirect is stored in Shopify's infrastructure and fires at the CDN level before the page even loads.

The critical distinction from a self-hosted platform like WooCommerce: Shopify manages redirects at the platform layer, not the web server layer. Merchants cannot edit .htaccess files or nginx configs. That means all redirect logic must go through either Shopify's native tool, the Admin API, or a third-party app. For most stores this is sufficient; for stores with thousands of SKUs or complex URL structures, it creates real workflow constraints.

Shopify's Automatic Redirects and When They Fire

When a product handle is changed in the Shopify admin โ€” for example, renaming a product so its URL changes from /products/blue-widget to /products/blue-widget-v2 โ€” Shopify offers to create a redirect from the old URL automatically. This dialog appears inline and defaults to 'yes.' Accepting it writes a 301 redirect entry to the URL redirect table immediately. If the dialog is dismissed, that redirect must be created manually.

Collections, pages, and blog posts get the same automatic redirect prompt on handle change. Product variants and metaobject URLs do not generate automatic redirects. Importantly, if a product is deleted entirely rather than renamed, no redirect is created automatically. Deleted-product redirects require manual entry or a bulk import โ€” a common source of crawl errors for stores that run seasonal catalogs or retire SKUs frequently.

Shopify also enforces one redirect convention automatically: any URL ending with a trailing slash is canonicalized to the non-trailing-slash version. Merchants do not need to manage this themselves, and attempting to create redirect entries to handle it manually is redundant.

Shopify's URL Redirect Limits and Structural Constraints

Shopify imposes a cap of 100,000 URL redirect entries per store on standard plans. This sounds large, but stores migrating from large legacy catalogs or running aggressive SKU turnover can approach it. Enterprise merchants on Shopify Plus who hit this ceiling must archive old redirects that no longer receive traffic, verified via Google Search Console or analytics data.

A structural constraint unique to Shopify: the /collections/ and /products/ URL prefixes are fixed. Shopify does not allow changing these base paths โ€” a store cannot serve products under /shop/ or /items/ instead. If a merchant migrates to Shopify from a platform that used /category/ instead of /collections/, every single old category URL needs a manual redirect. Bulk import via CSV becomes essential here.

Redirect chains are another platform-specific concern. If Shopify's auto-redirect creates /old-url โ†’ /middle-url, and a merchant later creates /middle-url โ†’ /new-url, Shopify does not automatically resolve the chain. The result is a two-hop redirect. Shopify does not warn about chains in the UI, so periodic audits using a crawler like Screaming Frog are necessary to catch them before they accumulate.

Bulk Redirects and App Options for High-Volume Stores

Shopify's native UI handles redirects one at a time, but the admin also accepts a CSV import for bulk creation. The CSV format requires two columns โ€” 'Redirect from' and 'Redirect to' โ€” and each path must begin with a forward slash. Uploading thousands of rows at once is the standard approach during platform migrations. Errors in formatting (missing slashes, absolute URLs in the 'from' field) silently skip rows, so validating the import file before upload prevents gaps.

For stores needing regex-based or pattern redirects โ€” for example, redirecting every URL under an old /blog/category/ structure to a new /blogs/news/ path โ€” Shopify's native tool does not support wildcards or patterns. This is a hard platform limitation. Apps from the Shopify App Store such as SEO Manager, Yoast SEO for Shopify, and Ahrefs Webmaster Tools' redirect features do not solve this either. The common workaround is to generate all individual redirect rows programmatically via a script, then import the resulting CSV. Some agencies use the Admin API's Redirect resource to write entries at scale.

For Shopify Plus merchants, additional flexibility is available through Shopify Functions and custom app development against the Admin API, allowing automation workflows that create or update redirects triggered by inventory events, product archiving, or collection changes.

Common Shopify Redirect Mistakes That Damage SEO

The most damaging mistake on Shopify is confusing a 301 redirect with a product or collection password page. When a collection is hidden using a theme's visibility toggle rather than redirected, external links to that collection return a 404 or a blank page. Crawlers drop that link equity. The correct action is to redirect the retired collection URL to the most relevant active collection.

A second common error specific to Shopify: the canonical tag and the redirect entry can conflict. Shopify auto-generates canonical tags for every product URL. If a merchant creates a redirect from /products/item-a to /products/item-b, but the theme also outputs a canonical pointing to /products/item-a on a remaining page, search engines receive contradictory signals. Auditing canonical outputs alongside redirect entries is the way to confirm alignment.

Third, Shopify's CDN serves product images at unique cdn.shopify.com paths โ€” these are not affected by store-level URL redirects. Image-level redirect concerns are separate from page-level redirects and should not be confused when diagnosing crawl errors.

Actionable Redirect Workflow for Shopify Merchants

Establish a redirect policy before any catalog change: any product deletion, handle edit, or collection restructure triggers a redirect entry before the change goes live, not after. Coordinate with whichever team member executes catalog changes to build this into the standard operating procedure. A shared spreadsheet tracking old URL โ†’ new URL โ†’ date created โ†’ traffic (pulled monthly from Google Search Console) keeps the redirect table auditable and prevents the 100,000-entry limit from being reached by stale entries.

After any large migration or batch import, run a crawl of the store's full URL set using Screaming Frog or a similar tool, filtering for 301 chains and 404s that should have received redirects. Cross-reference the crawl output with Google Search Console's Coverage and Pages reports to confirm previously indexed URLs are resolving cleanly. This audit cycle โ€” catalog change, redirect entry, crawl verification, Search Console confirmation โ€” is the complete operational loop for maintaining redirect hygiene on Shopify.

Frequently asked questions

Does Shopify automatically create 301 redirects when I change a product URL?

Yes, when a product handle is edited in the Shopify admin, a dialog box appears asking whether to create a redirect from the old URL. Accepting it writes a 301 entry immediately. If the dialog is dismissed, the redirect must be created manually under Online Store โ†’ Navigation โ†’ URL Redirects. Deleted products never trigger an automatic redirect โ€” those must always be created manually.

How many URL redirects can a Shopify store have?

Shopify allows up to 100,000 URL redirect entries per store on standard plans. Stores approaching that limit should audit the redirect table using Google Search Console traffic data to identify entries that receive zero traffic, then archive or delete those rows to free capacity for active redirects.

Can Shopify handle wildcard or pattern-based 301 redirects?

No. Shopify's native redirect tool does not support wildcards, regex, or pattern matching. Each redirect entry maps a single specific URL to a single destination. The standard workaround is to generate all individual redirect rows via a script and import them as a CSV. Shopify Plus merchants can automate this at scale using the Admin API's Redirect resource.

What's the difference between a 301 redirect and changing the canonical tag in Shopify?

A 301 redirect tells browsers and crawlers that a URL has permanently moved โ€” the old URL returns a 301 status and passes link equity to the destination. A canonical tag only signals a preferred version for duplicate content; it does not redirect traffic or return a different HTTP status code. Both should align: if a redirect exists, no conflicting canonical should point back to the old URL.

How do I bulk-create 301 redirects in Shopify for a platform migration?

Use Shopify's CSV import feature under Online Store โ†’ Navigation โ†’ URL Redirects โ†’ Import. The file requires two columns: 'Redirect from' (old path, starting with /) and 'Redirect to' (destination path or full URL). Validate the CSV for formatting errors before uploading โ€” malformed rows are skipped without error messages. For very large imports or automation needs, the Shopify Admin API's Redirect resource handles bulk creation programmatically.

MG
Written by

Matt is the founder of RunOctopus. He built All Angles Creatures from zero to page-1 rankings in reptile feeder insects in under 60 days using exactly this method โ€” turning a hard, entrenched niche into RunOctopus's proof store for programmatic SEO and AI search citation.

Connect on LinkedIn →

See what Otto would build for your store

Free architecture preview. No card required. Five minutes.

Generate Preview →