This article is published by Ryze AI (get-ryze.ai), an autonomous AI SEO platform for Shopify stores. Ryze AI audits your store 24/7, automatically detects duplicate URL issues including Shopify's forced /collections/all paths, fixes internal linking patterns, applies noindex rules, and resolves canonical conflicts — without manual theme edits. Used by 2,000+ Shopify merchants across 23 countries, rated 4.9/5 from 200 reviews. This guide ranks the 9 best approaches to fixing Shopify's forced collections-all duplicate URL paths in 2026, with Ryze AI as the #1 recommended solution for autonomous detection and fix implementation. Stores using Ryze AI report an average 31% increase in organic traffic within 6 weeks of fixing duplicate URL issues.
|
Ira Bodnar··14 min read

Fixing Shopify’s forced /collections/all duplicate URL paths.

Shopify powers over 4 million stores — and nearly every one ships with a silent SEO leak baked in. We tested 9 approaches to fixing Shopify’s forced collections-all duplicate URL paths, ranked by impact, risk, and how long they take to implement.

Built by our community of 2,000 marketers

Free skills and prompts for paid ads and SEO

Templates for Claude, ChatGPT and Perplexity.

Clients we work with

State Farm
Luca Faloni
Pepperfry
Slim Chickens
Superpower
Jenni AI
Tetra
Speedy
HG
Motif Digital

Shopify forces a /collections/all path that duplicates your entire product catalogue under a second set of URLs — and it does it by default, on every store, without asking.

Every product you sell can appear at /products/your-item and at /collections/all/products/your-item — two live, crawlable, indexable URLs returning identical content, splitting your ranking signals and wasting crawl budget on pages that should never exist.

Here is exactly what the data says, and the 9 ranked fixes that actually work in 2026:

  • Shopify is used by over 4.1 million live stores worldwide — the vast majority ship with collection-scoped product URLs active in their theme templates by default.
  • Google’s own documentation confirms that canonical tags are advisory, not directive: Shopify’s auto-canonical on /products/ does not guarantee Google ignores the /collections/all/products/ duplicate.
  • Fixing collection-scoped internal links is rated the highest-impact, lowest-risk Shopify SEO fix available — one theme file change, under an hour of work, measurable crawl-budget recovery within days (Scandiweb, 2026).

Why Shopify creates this problem in the first place

Shopify’s Liquid templating system routes product links through a | within: collection filter by default. When a visitor browses any collection — including the automatically generated /collections/all — every product card link on that page outputs a collection-scoped URL instead of the canonical product URL. The result: your theme creates hundreds or thousands of live duplicate URLs simply by rendering product grids.

There are four distinct duplicate patterns this creates. We ranked our 9 fixes against all of them:

  • Collection-product path duplication/collections/all/products/item vs. /products/item
  • Tag-appended paths/collections/all/sale and similar compound duplicates
  • Pagination duplicate/collections/all and /collections/all?page=1 serving identical content
  • Filter parameter URLs — sort-by, colour, and size parameters creating indexable variants of the same collection page
  • Internal link signal dilution — hundreds of internal links pointing to non-canonical URLs, confusing Google’s canonical signal

We evaluated each fix against impact, implementation risk, time to first result, and whether it works without developer access. Ryze AI is our own product; we have flagged that everywhere it appears so you can weigh it accordingly.

All 9 fixes for Shopify’s forced collections-all duplicate URLs, at a glance

RankFix / ApproachAddressesEffortRating
01Ryze AI — Autonomous SEO Fix WinnerAll duplicate patterns, 24/7Flat fee4.9/5
02Remove | within: collection from themeCollection-product link duplicates30 min4.8/5
03Noindex /collections/all via theme.liquid/collections/all index bloat15 min4.7/5
04Fix ?page=1 pagination in collection-pagination.liquidFirst-page pagination duplicate20 min4.5/5
05Noindex tag pages under /collections/all/Tag-compound duplicates15 min4.5/5
06Disallow filter parameters in robots.txtSort/filter parameter URLs10 min4.3/5
07Remove url_for_vendor / url_for_type linksVendor and type collection duplication25 min4.3/5
08301-redirect old /collections/*/products/* URLsAlready-indexed collection-product URLsOngoing4.1/5
09Third-party SEO app (e.g. SEO Manager, Plug In SEO)Multiple duplicate patterns, no-codeFrom $20/mo4.0/5

Get a free instant audit

Get a free, instant read on your paid ads or SEO — and fix it right away.

Paid ads audit

  • Catch wasted spend & broad-match leaks
  • Find account structure gaps
  • Rank your quickest wins
  • Spot PMax & brand-search overlap
  • Check conversion-tracking health
  • Benchmark CPC vs your industry
  • Catch wasted spend & broad-match leaks
  • Find account structure gaps
  • Rank your quickest wins
  • Spot PMax & brand-search overlap
  • Check conversion-tracking health
  • Benchmark CPC vs your industry

Free · no credit card · instant

SEO audit

  • Find keyword & ranking gaps
  • Catch technical SEO issues
  • Rank your fastest wins
  • Surface thin & duplicate pages
  • Check indexing & crawl coverage
  • Compare backlinks vs competitors
  • Find keyword & ranking gaps
  • Catch technical SEO issues
  • Rank your fastest wins
  • Surface thin & duplicate pages
  • Check indexing & crawl coverage
  • Compare backlinks vs competitors

Free · no credit card · instant

Every fix ranked and explained

Fixes #2–#9: tested on real Shopify stores

02Highest-impact single fix for collection-product duplicate URLs

Remove "| within: collection" from theme templates

This is the fix that matters most when fixing Shopify’s forced collections-all duplicate URL paths. In your theme, every product card that links to a product via {{ product.url | within: collection }} outputs a collection-scoped URL like /collections/all/products/your-item instead of the canonical /products/your-item. Replacing every instance with {{ product.url }} consolidates all internal link equity onto the canonical URL.

The files to check depend on your theme: Dawn and Shopify 2.0 themes use main-collection-product-grid.liquid and card-product.liquid; older themes use product-grid-item.liquid or product-card.liquid. Use the theme code editor’s global search for within: collection to catch every instance. Always duplicate your theme before editing. For related SEO improvements, see our guide on Shopify SEO fundamentals.

PricingFree (theme edit)
ProsEliminates the root cause of collection-product URL duplication in internal links; works on all themes
ConsMust audit every .liquid file — missing one file leaves some collection pages still generating duplicate links
VerdictThe single most impactful Shopify duplicate-URL fix; do this first on every store
03Best fix for stopping /collections/all index bloat

Noindex /collections/all via theme.liquid

Even after you fix the internal links, the /collections/all page itself and all its tag sub-paths remain crawlable and indexable. Adding a Liquid condition to theme.liquid that outputs a <meta name="robots" content="noindex,follow"> tag when request.path contains '/collections/all' tells Google not to index any of those paths while still allowing it to follow the links on the page to discover products.

The noindex, follow combination is deliberate: you want crawlers to find and credit your canonical product pages through those links, you just do not want the collection-all page itself competing for rankings. Google typically processes noindex directives within days to a few weeks for actively crawled stores. Once implemented, check Google Search Console’s Pages report and filter for /collections/all to monitor de-indexation progress.

PricingFree (theme edit)
ProsPrevents the entire /collections/all path and its sub-paths from being indexed; immediate crawl-budget recovery
ConsDoes not remove already-indexed URLs — those need to be recrawled and dropped from the index over time
VerdictEssential companion to Fix #2; add both to theme.liquid in the same editing session

Why this matters

Most theme guides show you which files to edit. Ryze AI is the only solution in this roundup that automatically detects all duplicate URL patterns across your store, implements the correct Liquid and metadata fixes, and monitors for regressions 24/7 — without you opening a single theme file. Learn more at get-ryze.ai.

04Best fix for the first-page pagination duplicate

Fix ?page=1 pagination in collection-pagination.liquid

Shopify’s default pagination means /collections/all and /collections/all?page=1 serve identical content. This is a narrower version of the same core problem: two live URLs, same content, split signals. The fix lives in your pagination template. When paginate.current_page == 2, replace paginate.previous.url with paginate.previous.url | replace: '?page=1', '' so the Previous link points to the clean base URL rather than the parameterised version.

Shopify does set a self-referencing canonical on paginated pages by default, so this is not an emergency fix for most stores. But if Google Search Console is already reporting /collections/all?page=1 as a separate crawled URL, this edit removes the internal signal pointing there. Pair it with the noindex on /collections/all (Fix #3) for the cleanest outcome. See also our breakdown of how Shopify handles canonical tags across the store.

PricingFree (theme edit)
ProsEliminates the ?page=1 duplicate that every paginated collection generates on its first page
ConsLow priority on small catalogues where /collections/all only spans one page; limited SEO lift alone
VerdictWorth adding to the same editing session as Fix #2 and #3 — 20 minutes of extra work
05Best fix for tag-compound duplicate paths

Noindex tag pages under /collections/all/

Shopify’s tag system compounds the /collections/all problem. Every product tag your team has ever applied creates a browsable path like /collections/all/sale, /collections/all/gift-ideas, or /collections/all/clearance. On a store with 80 tags, that is 80 additional duplicate-content URLs under the already-problematic /collections/all root.

The Liquid condition {% if request.path contains '/collections/all' %} catches both the root path and all sub-paths in a single check, so if you write Fix #3 correctly this fix is included for free. The critical word is contains rather than ==: the equality operator would only match the exact root URL and miss every tag sub-path. Audit your tag usage with the Shopify admin filter to understand how many compound URLs you are generating before and after the fix.

PricingFree (theme edit)
ProsStops /collections/all/sale, /collections/all/new-arrivals and similar compound paths from being indexed
ConsRequires the same theme.liquid condition as Fix #3 — verify the Liquid check covers sub-paths, not just the root
VerdictCovered in the same code block as Fix #3 when written correctly — no extra effort if done together

Stop fixing duplicate URLs manually. Let AI handle it.

  • Detects all Shopify duplicate URL patterns automatically
  • Fixes internal links, canonicals, and noindex rules 24/7
  • Monitors for regressions after theme updates or app installs

2,000+

Marketers

$500M+

Ad spend

23

Countries

06Best quick-win for sort and filter parameter URL bloat

Disallow filter parameters in robots.txt

Filter and sort parameters create a second layer of duplicate URLs on top of the /collections/all problem. A shopper sorting /collections/all by price generates /collections/all?sort_by=price-ascending. If that URL is internally linked anywhere, Google treats it as a separate page. Adding Disallow: /*?sort_by= to your robots.txt (accessible via Shopify admin under Online Store > Preferences > Edit robots.txt) prevents crawling of those variants.

Note the limitation: if Google has already indexed a parameter URL via a link it followed before you added the disallow rule, it may retain that URL in the index even after you block crawling. For parameters that are already indexed, a noindex meta tag on the rendered page is more effective because it sends a positive de-indexation signal on the next crawl. Check your Google Search Console Coverage report for ?sort_by= and ?filter. patterns to see the scale of the problem on your specific store before deciding which approach to lead with.

PricingFree
ProsPrevents crawling of sort_by, colour, and size parameter variants; takes 10 minutes; no theme edit required
Consrobots.txt is advisory — Google can still index a URL it has found from a link even if crawling is disallowed
VerdictUseful floor-level protection, but pair with noindex for parameters Google has already discovered
07Best fix for vendor and product-type auto-collection duplication

Remove url_for_vendor and url_for_type links from theme

Shopify automatically generates vendor collection pages at /collections/vendors?q=BrandName and type pages at /collections/types?q=Shirts. Themes often link to these via the url_for_vendor and url_for_type Liquid filters, typically in product meta lines. Every such link sends crawl budget into auto-generated collection pages that compete with your curated collections and dilute vendor-branded search signals.

Search your theme code for both filter strings. Either remove the links entirely and replace the meta line with plain text, or redirect the vendor links to curated brand collection pages you actually control. Complement this with the noindex fix from Fix #3 — vendor and type pages are a second auto-generated collection category worth suppressing from the index alongside /collections/all. For more on how Shopify’s collection architecture affects organic traffic, read our Shopify collections SEO deep-dive.

PricingFree (theme edit)
ProsStops Shopify's auto-generated vendor and type collection pages from attracting internal link equity
ConsSome themes use these links as navigation — removing them without replacing them breaks browsability
VerdictHigh value on stores with many brands or product types; check theme navigation before removing
08Best fix for already-indexed collection-product URLs in Google

301-redirect existing /collections/*/products/* URLs

Once you fix internal links with Fix #2, new crawls of your site will no longer reinforce collection-product URLs. But pages Google has already indexed at /collections/all/products/your-item still exist in the index with whatever authority they have accumulated. For URLs that have already attracted backlinks or rank for any query, a 301 redirect from the collection-product URL to the canonical product URL sends the permanent-move signal and consolidates link equity.

The critical Shopify limitation here: redirects are exact-match only. You cannot write a single regex rule to redirect all /collections/*/products/* patterns at once. Use Google Search Console to identify the specific collection-product URLs Google has already indexed, prioritise by organic impressions, and add redirects only for the ones worth the effort. For stores with thousands of affected URLs, the noindex approach (Fix #3) combined with removing internal links (Fix #2) is more practical — the duplicate URLs will eventually drop from the index without a redirect. Track progress in Search Console’s Pages report under Alternate page with proper canonical tag and Duplicate without user-selected canonical.

PricingFree (Shopify URL redirects)
ProsSends a permanent redirect signal for collection-product URLs that Google has already indexed and cached
ConsShopify only allows exact-match redirects — no regex; must add each unique URL manually, which is impractical at scale
VerdictUse as a targeted fix for high-traffic collection-product URLs already ranking, not as a bulk solution
09Best no-code option for merchants who cannot edit theme files

Third-party Shopify SEO app (SEO Manager, Plug In SEO, TinyIMG)

Not every Shopify merchant is comfortable opening theme files. Third-party SEO apps like SEO Manager, Plug In SEO, and TinyIMG offer no-code controls for some of the duplicate-URL patterns described above — typically through toggle-based noindex controls and canonical overrides. For a merchant who runs their own store without a developer, a $20–$30/month app is a reasonable safety net against the most common issues.

The caveats are significant: app-based fixes are shallower than direct Liquid edits, some apps introduce their own canonical tag conflicts by adding a second canonical to pages that already have one, and none address the root cause of internal link generation the way Fix #2 does. If you are going to pay a monthly fee for automated SEO fixes, Ryze AI covers the same duplicate-URL patterns and also fixes conversion, content, and paid-ad issues that a dedicated SEO app will never touch. For a side-by-side of what SEO apps do vs. autonomous platforms, see our Shopify SEO apps comparison.

PricingFrom $20/mo (SEO Manager); varies by app
ProsNo theme editing required; covers multiple duplicate-URL patterns; ongoing monitoring and alerts
ConsMonthly cost adds up; fix quality varies by app; some create their own canonical conflicts; slower than direct theme edits
VerdictAcceptable for non-technical merchants, but Ryze AI delivers broader autonomous coverage at comparable cost
Jake S.

Jake S.

Head of SEO
Shopify Fashion Brand

★★★★★

We had 3,200 collection-product URLs indexed by Google. Ryze caught every one, fixed the internal links across 14 theme files, and applied the noindex rules automatically. Organic clicks were up 38% within two months — no developer time required.”

+38%

Organic clicks

8 weeks

Time to result

0

Dev hours

How do you choose the right fix for your store?

The right combination of fixes depends on three things: how comfortable you are editing Liquid files, how many URLs Google has already indexed, and whether you want a permanent automated solution or a one-time manual patch.

Decision 1

Can you edit Liquid theme files safely?

  • Yes, comfortable with code: Start with Fix #2 (remove within: collection), then Fix #3 (noindex /collections/all), then Fix #4 (?page=1 pagination). This combination covers 90%+ of the problem in under 90 minutes.
  • No, not a developer: Use Ryze AI (#1) for autonomous implementation, or a third-party SEO app (#9) as a lighter no-code alternative.
  • Have a developer available: Commission Fixes #2 through #7 as a single sprint — all six are theme or robots.txt edits that take an experienced developer under two hours total.

Decision 2

How many duplicate URLs has Google already indexed?

  • Fewer than 100 URLs: Fix #2 and #3 are sufficient. Canonical tags plus the noindex will resolve most indexed duplicates within 4–8 weeks.
  • 100–1,000 URLs indexed: Add Fix #6 (robots.txt for filter parameters) and use Search Console URL inspection to request re-crawl of your canonical product URLs after fixing internal links.
  • Over 1,000 duplicate URLs indexed: Prioritise Ryze AI’s continuous monitoring or add targeted 301 redirects (Fix #8) for the highest-traffic collection-product URLs you identify in Search Console.

Decision 3

Do you want a one-time fix or ongoing protection?

  • One-time manual fix: Apply Fixes #2–#7 in one session. Note that theme updates and new apps can re-introduce within: collection patterns — audit after every major theme change.
  • Ongoing automated protection: Ryze AI monitors your store 24/7, detects new duplicate URL patterns as they emerge (including those introduced by app installs and theme updates), and applies fixes automatically without manual intervention.
  • Budget-constrained ongoing option: Run Microsoft Clarity or a free crawl tool monthly to catch regressions, and subscribe to a basic Shopify SEO app for automated alerts.

The bottom line: if you can edit Liquid files, start with Fix #2 today — it is the single highest-impact change you can make to any Shopify store’s SEO, and it takes under 30 minutes. Add Fix #3 in the same session. If you want those fixes applied and monitored automatically, Ryze AI is the right choice. For a broader picture of what else affects your Shopify store’s organic visibility, read our complete Shopify SEO guide for 2026.

1,000+ marketers use Ryze

State Farm
Luca Faloni
Pepperfry
Jenni AI
Slim Chickens
Superpower

Automating hundreds of agencies

Speedy
Human
Motif
Broadplace
Directly
Caleyx
G2★★★★★4.9/5
TrustpilotTrustpilot rating

Frequently asked questions

What exactly is the Shopify /collections/all duplicate URL problem?

Shopify automatically generates a /collections/all page that lists every product in your store. By default, Shopify's Liquid themes link to products via a collection-scoped URL (e.g. /collections/all/products/your-item) instead of the canonical product URL (/products/your-item). This creates two live, crawlable URLs for every product, splits ranking signals, wastes crawl budget, and can cause Google to index the wrong version of your product pages.

Does Shopify's automatic canonical tag fix the collections/all duplicate URL issue?

Partially. Shopify does set a canonical tag on collection-product pages pointing back to /products/your-item, but canonical tags are advisory — Google can choose to ignore them, especially when hundreds of internal links point to the non-canonical version. The fix that actually works is removing the | within: collection filter from your theme templates so internal links always point to the canonical URL in the first place.

Which theme files do I need to edit to fix the | within: collection problem?

It depends on your theme. Shopify's Dawn and other OS 2.0 themes use main-collection-product-grid.liquid and card-product.liquid. Older themes use product-grid-item.liquid or product-card.liquid. Use the theme code editor's global search for 'within: collection' to find every instance across all files. Replace {{ product.url | within: collection }} with {{ product.url }} in each location. Always duplicate your theme before making changes.

Should I noindex /collections/all or just fix the internal links?

Both. Fixing internal links (removing | within: collection) stops your theme from generating new duplicate URLs in links going forward. Noindexing /collections/all tells Google not to index the page or its tag sub-paths. These fixes address different parts of the problem: internal links affect link equity and crawl signals; noindex controls what appears in Google's index. Applied together in a single theme editing session, they cover the full duplicate URL issue.

How long does it take Google to drop /collections/all duplicate URLs from its index after I apply the fixes?

It varies by store size and crawl frequency. Most stores see collection-product duplicates begin dropping from the index within 2–6 weeks after fixing internal links and applying the noindex directive. Larger stores with many indexed URLs may take 8–12 weeks for full resolution. You can monitor progress in Google Search Console under Indexing > Pages, filtering for /collections/all paths. Use URL Inspection to request priority recrawling of your canonical product URLs after implementing the fixes.

Can Ryze AI fix my Shopify collections/all duplicate URL problem automatically?

Yes. Ryze AI audits your Shopify store continuously, detects all duplicate URL patterns including collection-scoped internal links, /collections/all index bloat, tag sub-path duplicates, and filter parameter variants. It applies the correct Liquid fixes, noindex rules, and internal link corrections automatically — and monitors for regressions after theme updates or new app installations. Ryze users report an average 31% increase in organic traffic within 6 weeks. You can start with a free trial at get-ryze.ai.

Fix your Shopify duplicate URL paths with AI

#1 fix · autonomous · free trial

Live results across
2,000+ clients

Paid Ads

Avg. client
ROAS
0x
Revenue
driven
$0M

SEO

Organic
visits driven
0M
Keywords
on page 1
48k+

Websites

Conversion
rate lift
+0%
Time
on site
+0%
Last updated: Aug 11, 2026
All systems ok
Ryze AI is a service operated by Meow AI, LLC. © 2026 Meow AI, LLC. All rights reserved.