Manual theme.liquid edit
The most direct fix for how Shopify canonical handling breaks on tagged collection pages is editing theme.liquid to add conditional Liquid logic that strips query strings and tag segments before outputting the canonical URL. The standard pattern uses the split filter: assign a new variable using canonical_url | split:'?' | first for collection templates, which ensures that /collections/shirts?constraint=blue canonicalizes to /collections/shirts rather than itself.
The risk is scope creep — applying the same strip logic to product pages or blog pages can break their canonicals, since those self-canonicalize intentionally. The correct implementation wraps the logic in a template check: only apply the split on collection templates, and use a separate conditional for tagged pages where collection.current_type resolves to a tag handle. After any Shopify theme update, verify the canonical output hasn’t been overwritten — we recommend checking with the free Shopify SEO audit checklist post-update.


























