Quick summary
A practical guide to Shopify URL structure and SEO. Covers which path prefixes are fixed, what you can optimise through handles and slugs, best practices for product and collection URLs, how to manage URL changes without losing rankings, and how redirects work in Shopify. Written for merchants who want clean, SEO-friendly URLs without breaking their existing search visibility.
Shopify controls most of your URL structure. Unlike WordPress or a custom-built store, you cannot freely choose your URL path format. Products will always appear under /products/, collections under /collections/, and blog posts under /blogs/. This frustrates merchants who want cleaner or more flexible structures, but the reality is that it matters far less than most people think.
What actually affects your rankings is largely within your control: the handle (the slug at the end of each URL), how you manage URL changes over time, and whether you are creating unnecessary duplicate content through how Shopify generates collection-context product URLs.
Understanding what Shopify does automatically, and what you need to manage yourself, prevents the ranking losses that come from accidental URL changes, missed redirects, and misunderstood duplication.
What URL Structure Does Shopify Use?
Shopify generates URLs based on your content type and the handle you assign. The path structure is fixed for each type:
| Page type | URL format |
|---|---|
| Product | yourstore.com/products/{handle} |
| Collection | yourstore.com/collections/{handle} |
| Blog post | yourstore.com/blogs/{blog-name}/{post-handle} |
| Static page | yourstore.com/pages/{handle} |
| Homepage | yourstore.com |
The path prefixes (/products/, /collections/, /blogs/, /pages/) are hardcoded on standard Shopify. You cannot change them. Shopify Plus merchants building with Hydrogen (Shopify's headless framework) can create fully custom URL structures, but that requires significant development investment and is not appropriate for most stores.
What you can control: The handle, which is the part of the URL after the fixed prefix. By default, Shopify auto-generates the handle from your title: it lowercases everything and replaces spaces with hyphens. You can edit the handle manually in the product, collection, page, or blog post editor.
What Are Best Practices for Product and Collection Handles?
The handle is your primary URL optimisation lever. Google reads URLs as a relevance signal: a handle that includes your target keyword is marginally stronger than a handle that does not.
A well-written handle:
- Includes the primary keyword for that page
- Uses hyphens to separate words (not underscores or spaces)
- Is lowercase throughout
- Is concise: under 60 characters
- Avoids unnecessary filler words (and, the, in, of) unless they genuinely aid readability
- Avoids special characters, apostrophes, and brackets
Product handle examples:
| Auto-generated handle | Optimised handle |
|---|---|
classic-leather-bifold-wallet-in-tan-brown |
leather-bifold-wallet-tan |
mens-grey-marl-cotton-crew-neck-t-shirt-medium |
mens-grey-cotton-crew-neck-t-shirt |
espresso-coffee-machine-with-built-in-grinder-stainless |
espresso-machine-built-in-grinder |
Collection handle examples:
| Auto-generated handle | Optimised handle |
|---|---|
all-mens-leather-wallets-and-cardholders |
mens-leather-wallets |
womens-activewear-and-gym-clothing |
womens-activewear |
Important: once a URL is indexed by Google, changing the handle creates a new URL and breaks the old one unless you add a 301 redirect immediately. Do not optimise handles casually. Plan changes carefully and always set up the redirect before or immediately after making the change.
What Cannot Be Changed on Shopify URLs?
To be clear on the limits:
Fixed elements you cannot change on standard Shopify:
- The
/products/prefix for product pages - The
/collections/prefix for collection pages - The
/blogs/prefix for blog posts - The blog subfolder name within
/blogs/(you can rename "news" to "blog" but not remove the subfolder entirely) - The
/pages/prefix for static pages
The /blogs/news/ path: Shopify defaults to this for blog posts. You can rename the blog from "News" to something else in Online Store, then Blog Posts, then Manage blogs, then click your blog name. Changing it to "Blog" gives you /blogs/blog/ instead of /blogs/news/. This is marginally cleaner but creates new URLs for every existing post. Only make this change if your blog is new or if you are prepared to set up individual redirects for every existing post. The SEO impact of the subfolder name is minimal.
Shopify Plus Hydrogen exception: If you are on Shopify Plus and building a custom storefront with Hydrogen, you can create any URL structure you want. This is the only way to get full URL control on Shopify.
What Duplicate Content Does Shopify's URL Structure Create?
The most important URL-related SEO issue on Shopify is the collection-context product URL.
When a product belongs to a collection, Shopify creates an additional URL for it in the context of that collection:
yourstore.com/collections/{collection-handle}/products/{product-handle}
This URL serves identical content to yourstore.com/products/{product-handle}. If your product appears in five collections, there are five collection-context URLs for it, all with identical content.
How Shopify handles this: Shopify automatically adds a rel="canonical" tag to collection-context product URLs pointing back to the canonical /products/ URL. This tells Google to consolidate ranking signals on the /products/ URL and not split them across the collection variants.
Where this breaks down: Google treats canonical tags as hints, not directives. If your internal navigation links predominantly use collection-context URLs rather than canonical /products/ URLs, Google may ignore the canonical hint. The practical fix is to ensure your theme navigation, featured product sections, and any internal links use /products/y rather than /collections/x/products/y.
For a full breakdown of this issue, see our guide to fixing duplicate content on Shopify.
How Do URL Redirects Work on Shopify?
URL redirects are critical for maintaining SEO when URLs change. Shopify has a built-in redirect manager under Online Store, then Navigation, then URL Redirects.
When you need a redirect:
- A product or collection handle changes (Shopify will not automatically redirect the old URL)
- A product is deleted and its URL was indexed by Google
- A collection is renamed or deleted
- You migrate your store from another platform with different URL formats
How to add a redirect in Shopify:
- Go to Online Store, then Navigation, then URL Redirects.
- Click "Create URL redirect".
- In the "Redirect from" field, enter the old path only (e.g.
/products/old-handle, not the full domain). - In the "Redirect to" field, enter the new path (e.g.
/products/new-handle). - Save.
Shopify only supports 301 redirects (permanent), which is correct for SEO. A 301 passes the majority of link authority from the old URL to the new one.
For bulk redirects (platform migrations, large-scale handle changes), use the CSV import feature in the URL Redirects section. This lets you upload a spreadsheet of old URL to new URL pairs in bulk.
The timing matters: Add the redirect before or immediately after changing a handle, not days later. Google crawls popular pages frequently. A gap between the handle change and the redirect going live will result in 404 errors being recorded by Google.
What Happens to Rankings When You Change a URL?
Ranking losses from URL changes are one of the most preventable problems on Shopify stores.
When you change a product handle without a redirect, the old URL returns a 404 error. Every link pointing to the old URL, including backlinks from other sites and Google's existing index entry, lands on a dead page. The SEO equity built up on that URL is temporarily lost.
With a 301 redirect in place, Google transfers most of the ranking signals from the old URL to the new one over time. This process typically takes 2 to 6 weeks. You may see a temporary ranking dip during this transition, but rankings usually recover once Google processes the redirect and updates its index entry.
The process for changing a URL safely:
- Note the current URL of the page you are changing.
- Make the handle change.
- Immediately add a 301 redirect from the old URL to the new URL.
- Update any internal links on your store that point to the old URL.
- Submit the new URL for indexing in Google Search Console's URL Inspection tool.
- Monitor the old URL in Search Console over the following 4 to 6 weeks to confirm Google processes the redirect correctly.
How Do URL Parameters Affect Shopify SEO?
Shopify appends URL parameters in several situations:
- Sort parameters:
?sort_by=price-ascending - Filter parameters:
?filter.p.m.colour=blue - Variant parameters:
?variant=12345678 - Pagination:
?page=2
Shopify manages most of these with canonical tags pointing to the base URL. However, third-party filtering and search apps (Boost Commerce, Instant Search Plus, Smart Product Filter) can create parameter URLs that bypass Shopify's default canonical handling.
To check: install your filtering app, apply a filter on a collection page, view the page source, and find the canonical tag. It should point to the base collection URL without parameters. If it points to the filtered URL, you have a canonicalisation problem. Contact the app developer with the specific URL and canonical tag you are seeing.
How Should You Structure Handles for SEO Impact?
A practical rule for setting handles on new products and collections:
- Identify the primary keyword for the page (what would your ideal customer search to find this product or collection?).
- Write the handle using that keyword, hyphen-separated, lowercase, under 60 characters.
- Remove filler words that add length without adding search relevance.
- Check the handle is not already in use on your store.
- Save the page and confirm the URL is correct in the browser.
For an existing store with hundreds of products, do not bulk-change handles for marginal SEO gain. The risk of missed redirects causing 404 errors outweighs the small benefit of marginally cleaner URLs. Prioritise handle optimisation for your top 20 highest-traffic product pages and any new products added going forward.
Frequently Asked Questions
Can I remove the /products/ and /collections/ prefixes from Shopify URLs? No, not on standard Shopify. These path prefixes are hardcoded into the platform. Shopify Plus merchants building with Hydrogen can create fully custom URL structures, but that requires significant development work and is not appropriate for most stores.
Does changing a product handle affect its search rankings? Yes, temporarily. When you change a handle, the old URL breaks unless you add a redirect. With a 301 redirect in place, Google transfers ranking signals to the new URL over 2 to 6 weeks. During this period you may see a temporary dip. Rankings typically recover once Google processes the redirect.
Should I include my brand name in product handles? Usually not. Product handles should be as concise as possible while including the key product keyword. Your brand name already appears in your domain, so adding it to every URL handle adds length without SEO benefit. The exception is if customers genuinely search for your brand name combined with product names.
How do I redirect all my old blog posts after migrating to Shopify? Export a list of all your old blog post URLs and map each one to its equivalent Shopify URL (yourstore.com/blogs/news/post-handle). Use the bulk redirect import feature in Shopify's URL Redirects manager to upload the full mapping at once. For a migration with hundreds of blog posts, this is a substantial task but critical for preserving existing organic traffic.
Key Actions to Take Now
- Review the handles on your top 20 product and collection pages. Where the auto-generated handle is unnecessarily long or includes filler words, note the optimised version. Add redirects before making any handle changes.
- Confirm your canonical tags are working. Browse to a product through a collection URL, view the page source, and check that the canonical tag points to
/products/handle, not the collection-context URL. - Go to Online Store, then Navigation, then URL Redirects. Confirm you have redirects in place for any products or collections deleted or renamed in the last 12 months.
- Check Google Search Console's Indexing report for 404 errors. For every 404, either restore the page or add a redirect to the nearest current equivalent.
- If you are using a filtering app, test a filtered collection URL and check its canonical tag to confirm it canonicalises back to the base collection URL.
- Set a workflow for all future product additions: create the handle deliberately before publishing, do not rely on Shopify's auto-generation.