SEOSeptember 24, 2025

Shopify URL Structure for SEO: What You Can and Can't Change

Shopify forces certain URL patterns that frustrate SEO professionals. Here's what you can optimize, what you can't, and how to work with the constraints.

Mark Cijo

Mark Cijo

Founder, GOSH Digital

Shopify URL Structure for SEO: What You Can and Can't Change

Shopify's URL structure is one of the platform's most debated SEO limitations. Unlike WordPress or custom-built sites where you have complete URL control, Shopify enforces certain URL patterns that you cannot change.

This frustrates SEO professionals who want clean, keyword-rich URLs with complete hierarchical control. But here's the truth: Shopify's URL constraints rarely prevent sites from ranking well. The brands that rank on Shopify don't rank DESPITE the URL structure — they rank because they focus on what actually matters (content, authority, and user experience) while optimizing the URL elements they CAN control.

Let me show you what's fixed, what's flexible, and how to make the best decisions within the system.

Shopify's Fixed URL Patterns

These are non-negotiable. You cannot change the base path structure.

Products: yourstore.com/products/product-handle

Collections: yourstore.com/collections/collection-handle

Blog posts: yourstore.com/blogs/blog-name/post-handle

Pages: yourstore.com/pages/page-handle

Collection + Product (secondary path): yourstore.com/collections/collection-handle/products/product-handle

The "/products/," "/collections/," "/blogs/," and "/pages/" directories are hardcoded. You cannot remove them or change them to something else like "/shop/" or "/category/."

This means you can't have: yourstore.com/running-shoes (direct to collection) You get: yourstore.com/collections/running-shoes

And you can't have: yourstore.com/nike-air-max-90 (direct to product) You get: yourstore.com/products/nike-air-max-90

What You CAN Control: Handles

The "handle" is the part of the URL after the base path. And this is where your SEO optimization happens.

Product handles: When you create a product, Shopify auto-generates a handle from the product title. "Women's Organic Cotton V-Neck T-Shirt - Navy Blue" becomes "womens-organic-cotton-v-neck-t-shirt-navy-blue." That's too long.

Edit the handle to something shorter and keyword-focused: "organic-cotton-vneck-navy." Include the primary keyword someone would search for, drop the fluff.

Collection handles: Same principle. "All Women's New Arrivals Spring Summer 2025" becomes a terrible URL. Edit the handle to: "womens-new-arrivals" or even better, "womens-spring-collection."

Blog post handles: The blog post URL should include the primary keyword. "How to Choose the Right Running Shoes for Your Foot Type" should have the handle "choose-running-shoes-foot-type" — not the full title.

Page handles: For static pages, keep handles descriptive but short. "about," "contact," "size-guide," "shipping-policy."

URL Optimization Best Practices

Here's how to optimize every handle you create:

Include your target keyword. The handle should contain the primary keyword you want the page to rank for. Product page for organic face serum? Handle: "organic-face-serum." Collection for running shoes? Handle: "running-shoes."

Keep it short. Under 60 characters for the handle portion. Shorter URLs perform better in search results (more readable, more clickable) and are easier to share.

Use hyphens, not underscores. Google treats hyphens as word separators and underscores as word joiners. "running-shoes" is two words to Google. "running_shoes" is one word.

Remove filler words. Drop "the," "and," "for," "with," "in," unless they're part of the keyword. "/products/the-best-organic-face-serum-for-dry-skin" becomes "/products/organic-face-serum-dry-skin."

Don't stuff keywords. "/products/organic-serum-face-serum-best-serum-natural-serum" is keyword stuffing. One clear, natural phrase.

Think about the search query. What would someone type into Google? That's your handle. They search "mens leather wallet" — your handle is "mens-leather-wallet."

The Collection-Product URL Duplicate Issue

Shopify creates two valid URLs for every product that's in a collection:

  1. /products/product-handle (the canonical URL)
  2. /collections/collection-handle/products/product-handle (the contextual URL)

Both display the same product page. This looks like a duplicate content problem, but Shopify handles it correctly. The collection-product URL includes a canonical tag pointing to the shorter /products/ URL. Google knows the canonical is the "real" URL and ignores the longer one for indexing purposes.

What to do about it: Nothing, technically. Shopify handles it. But in your internal links (navigation, content links, email links), always link to the canonical /products/ URL, not the /collections/../products/ version. This keeps link equity concentrated on one URL.

Blog URL Strategy

Shopify's blog structure is: /blogs/blog-name/post-handle

The "blog-name" is fixed once created. If you named your blog "News" during setup, your URLs are /blogs/news/post-handle. You can't change this without creating a new blog and migrating content.

Recommendation: Name your blog something SEO-neutral like "journal" or "articles" or even a keyword-rich term like "ecommerce-guides." Avoid generic names like "news" or "blog" that add no keyword value.

Multiple blogs: Shopify lets you create multiple blogs. Some brands use this strategically:

  • /blogs/guides/ for how-to content
  • /blogs/news/ for brand announcements
  • /blogs/stories/ for customer features

This creates category-level URL differentiation. But it's not necessary for SEO. One well-organized blog with good internal linking works fine.

Handling URL Changes (Redirects)

If you change a handle after the page has been live, the old URL breaks. Shopify creates an automatic redirect from the old handle to the new one — but only for products and pages, not always for collections or blog posts.

Always verify redirects after handle changes. Go to Online Store, then Navigation, then URL Redirects. Confirm the old URL redirects to the new one with a 301 (permanent) redirect.

When to change a handle:

  • The current handle is terrible for SEO (e.g., "product-123" or "untitled-2")
  • Your target keyword has changed based on research
  • The page was restructured significantly

When NOT to change a handle:

  • The page is already ranking well (don't risk losing that ranking for a marginal URL improvement)
  • External sites link to the current URL (even with redirects, there's a small loss of link equity)
  • The change is purely cosmetic with no keyword improvement

Subfolder Strategy for SEO Pages

One of Shopify's limitations is the lack of true URL hierarchy. You can't create /services/seo/ or /products/men/shoes/ natively.

The workaround for pages: Use handle prefixes. A page at /pages/services-seo gives you a "pseudo-subfolder" in the URL, even though it's technically flat. Some brands create pages like:

  • /pages/services-seo
  • /pages/services-paid-media
  • /pages/services-email-marketing

This isn't a true hierarchy (there's no /services/ parent folder), but Google reads hyphens as separators, and the keyword structure is preserved.

The workaround for collections: Use subcollections (available on Shopify Online Store 2.0). You can nest collections visually in navigation, but the URLs remain flat: /collections/mens-running-shoes, /collections/mens-casual-shoes, etc.

For true hierarchical URLs: You'd need Shopify Plus with custom routing or a headless Shopify setup with a custom frontend. For most brands, the flat structure with keyword-optimized handles is sufficient.

International URL Structure

If you sell internationally, Shopify Markets creates localized URLs:

  • yourstore.com (primary market)
  • yourstore.com/en-ca/ (Canada, English)
  • yourstore.com/fr/ (France)
  • uk.yourstore.com (if using subdomains)

Google uses hreflang tags (which Shopify generates automatically for Markets) to understand which version to show in each country's search results.

Best practice: Use subfolders (/en-ca/, /fr/) rather than subdomains for international. Subfolders inherit domain authority from the root domain. Subdomains start from scratch.

What To Do Right Now

Export your product catalog. Sort by the "handle" column. Look for:

  • Handles that are too long (over 60 characters)
  • Handles missing your target keyword
  • Handles with meaningless words (product-1, untitled, new-v2)
  • Handles with underscores instead of hyphens

Fix the worst offenders. Start with your top 10 traffic products — the pages that get the most organic impressions. Optimize those handles. Verify the redirects work. Then work through the rest over time.

If you want a complete URL and technical SEO audit for your Shopify store — book a call with our team. We'll identify every URL optimization opportunity and the technical fixes that'll improve your organic rankings.

Mark Cijo

Written by Mark Cijo

Founder of GOSH Digital. Klaviyo Gold Partner. Helping eCommerce brands grow revenue through data-driven marketing.

Book a free strategy call →

Want results like these for your brand?

Book a free call. We'll look at your data and show you what's possible.

Pick a Time

15 minutes. No pitch deck. Just your data and our honest take.