Website Checker - Shopify SEO Guide: Working Around a Locked URL Structure

Shopify SEO Guide: Working Around a Locked URL Structure

Jul 31, 2026 · Platform SEO

Search any Shopify community forum for "duplicate content" and you'll find the same thread posted hundreds of times: "Why does my product exist at two URLs?" It's the first thing store owners discover when they start taking Shopify SEO seriously — every product lives at /products/product-handle, but Shopify also serves it at /collections/collection-name/products/product-handle for every collection it belongs to. One product in five collections means six URLs for the same page.

The good news: Shopify ships canonical tags pointing every collection-scoped URL back to the clean /products/ version, so Google usually consolidates them correctly. The bad news: your theme's collection grids typically link to the collection-scoped versions, which means you're spending internal link equity on URLs that canonicalize elsewhere. If canonicals are new territory, our canonical tag explainer covers why that matters.

Fixing the duplicate URL linking in your theme

In most themes, the product card snippet builds links with product.url | within: collection. Remove the within filter so it's just {{ product.url }}, and your grids will link straight to the canonical URL. In Online Store 2.0 themes like Dawn, look in snippets/card-product.liquid. It's a one-line edit via Online Store → Themes → Edit code, and it's the single highest-value theme change for duplicate content hygiene on Shopify.

What you can and can't change about Shopify URLs

Shopify's URL prefixes are hard-coded. No app, no plan upgrade, no support ticket changes them:

Content typeForced pathEditable part
Products/products/Handle only
Collections/collections/Handle only
Pages/pages/Handle only
Blog posts/blogs/blog-name/Blog name and handle

Annoying? Yes. A ranking problem? Honestly, no — URL prefixes carry negligible weight. Don't burn hours on it. When you edit a handle, Shopify offers a checkbox to "create a URL redirect for the old address" — always leave it ticked, and you can review everything it creates under Online Store → Navigation → URL Redirects (currently surfaced in Settings on newer admin versions; search "URL redirects" in the admin search bar if it's moved on you).

Shopify SEO strengths you don't have to configure

Credit where due: the platform auto-generates /sitemap.xml (with child sitemaps for products, collections, pages, and blogs), includes SSL on every store, renders server-side, and lets you edit meta titles and descriptions per product under each item's Search engine listing section. Since 2021 you can even customize robots.txt by creating a robots.txt.liquid template in the code editor — useful for blocking faceted filter URLs like /collections/all?filter.v.price= that crawlers otherwise chew through.

The sitemap itself isn't editable, though. You can't exclude a published product from it; your only lever is unpublishing the product from the Online Store sales channel or hiding it via metafield-driven noindex in the theme's <head>.

Two settings screens every store owner should visit once. First, Online Store → Preferences — this is where your homepage title and meta description live, separate from any product or page, and it's also where the storefront password sits. Launching with the password page still enabled is the Shopify equivalent of WordPress's "discourage search engines" checkbox: your site exists, Google can't see it. Second, each product's Search engine listing section (scroll to the bottom of the product editor, click Edit) controls the title, description, and handle individually — worth hand-writing for your top sellers even if the long tail runs on defaults. And verify the store in Google Search Console early — domain verification through your DNS provider is cleaner than meta-tag verification, which theme updates can silently strip.

Thin pages Shopify generates without asking

Product tags quietly create filterable collection URLs like /collections/all/red — one page per tag, usually near-duplicate listings with no unique copy. Vendor and product-type pages behave similarly. On a store with hundreds of tags, that's a lot of low-value URLs absorbing crawl attention. The robots.txt.liquid customization mentioned above is the cleanest containment; blocking /collections/*+* and filter parameter patterns keeps crawlers focused on the collections you actually curated. The store blog has the opposite problem — too little structure rather than too much — so if content is central to your acquisition, plan for that gap early.

Apps: where fast stores go to die

Every Shopify app that touches your storefront injects JavaScript, and most never remove it after uninstall. A store with a reviews app, a bundle app, a popup app, a wishlist app, and a "recently viewed" widget can easily double its load time. Two habits keep this in check: audit installed apps quarterly and delete stragglers, and after uninstalling, check theme.liquid for leftover script tags the app injected. Online Store 2.0 apps use theme app embeds (toggleable under Online Store → Themes → Customize → App embeds), which are much cleaner to disable than legacy script injections.

Structured data: check before you add

Modern themes output Product schema — price, availability, review stars if your reviews app integrates — plus BreadcrumbList and Organization. Before installing a schema app, run a product URL through Google's Rich Results Test. Duplicate Product markup from a theme and an app is a common cause of stars disappearing from search results.

Selling internationally? Shopify Markets handles the hreflang annotations automatically when you serve regions from subfolders (/en-ca/, /fr/) on one domain — a setup that used to require third-party apps and prayer. Configure it under Settings → Markets and let the platform emit the tags rather than hand-rolling them in the theme.

Is Shopify the right platform for organic traffic?

For a store whose revenue depends on product and collection rankings, Shopify is a safe bet: the technical baseline is solid and you can't break the server. Content marketing is its weak flank — the built-in blog is bare-bones, with no categories beyond tags and clunky internal linking. Some serious content operations run WordPress on a subdomain or subfolder alongside Shopify for exactly that reason.

Either way, crawl your store the way Google does. A full-site audit will show you how many collection-scoped duplicate URLs your theme is still linking to, which redirects chain, and which products are missing meta descriptions — the exact problems Shopify's admin won't surface on its own.

Frequently Asked Questions

Can I remove /products/ from Shopify URLs?

No. The /products/, /collections/, and /pages/ prefixes are hard-coded into Shopify and can't be removed by any app or plan. It has negligible ranking impact, so it's not worth working around — focus on handles, titles, and internal linking instead.

Does Shopify's duplicate content problem hurt rankings?

Usually not severely, because Shopify adds canonical tags pointing collection-scoped product URLs to the main /products/ URL. The real cost is internal linking: most themes link to the duplicate versions. Removing the 'within: collection' filter in your product card snippet fixes that.

Can I edit the Shopify sitemap?

No, sitemap.xml is auto-generated and locked. To keep a page out of it you have to unpublish it from the Online Store channel or apply a noindex via metafields and theme code. You can, however, customize robots.txt by creating a robots.txt.liquid template.

Do Shopify apps slow down SEO?

Storefront-facing apps inject JavaScript that adds real page weight, and many leave code behind after uninstall. Audit your apps quarterly, remove leftover script tags from theme.liquid, and prefer Online Store 2.0 app embeds that you can toggle off cleanly.

Try WebsiteChecker.Tech Free

Run a free technical SEO audit on any website. Get a client-ready report in minutes.

Start Free Scan