Knowing the platform's limits saves months of wasted recommendations. These are the ones that matter most.
Fixed by Shopify#
The /products/, /collections/, /pages/ and /blogs/ prefixes cannot be removed. The sitemap is generated automatically and cannot be edited directly. Canonical tags are written by the platform through canonical_url, and hreflang for Markets is injected through content_for_header. Any audit that tells you to "flatten your URL structure" was not written by a Shopify specialist.
Controlled in the theme#
Most of the real wins sit here. Product cards that use the within: collection filter create the duplicate collection-product paths, and changing them to plain product.url fixes it store-wide. Tag pages can get a conditional noindex. Pagination links can be rendered as real anchor tags so crawlers reach page 2 and beyond, even when shoppers see infinite scroll. Structured data is usually in the theme too, and it often clashes with the JSON-LD a review app injects.
Controlled in settings and data#
Since 2021, robots.txt.liquid lets you add rules on top of Shopify's defaults, which already block cart, checkout, sort parameters and multi-filter URLs. Products, pages and blog posts can be hidden from the sitemap and search engines with the seo.hidden metafield, or products can be set to Unlisted. Redirects live in the admin, and Shopify offers to create one automatically when you change a handle. Many stores untick that box by accident.
Where it overlaps#
Technical fixes pay off most when the pages behind them are worth crawling. That is why we pair this work with collection page SEO, and why stores with thousands of SKUs need a large catalog plan for filters and variants. If speed is the main complaint, see speed optimization.