Shopify creates several URLs for the same product, and handles the obvious half itself.
Shopify sets canonicals on product URLs reachable through collections, so the most-discussed duplicate problem is already solved by the platform.
The real cost is filtered, sorted and paginated collection URLs, which multiply on large catalogues and consume crawl budget.
Search Console's page indexing report tells you exactly how much of your crawl is going nowhere useful.
Internal links that disagree with the canonical force reconciliation work on every crawl and waste link equity.
Partly, and less than most articles claim. Shopify serves products through both /products/handle and /collections/x/products/handle, and it sets a canonical tag pointing at the
The full guide has the formats, the deadlines and the worked examples.