Shopify handles a lot of SEO well and imposes a few fixed constraints that no amount of optimisation removes. Knowing which is which saves a great deal of wasted effort.
Shopify merchants whose paid acquisition costs keep climbing and who want organic search carrying more of the load, and stores that have added apps over time and watched their speed scores fall.
Good, with known limits. It gives you clean HTML, fast hosting, automatic HTTPS and sitemaps, and mobile-ready themes as standard. The constraints are structural: fixed URL prefixes such as /collections/ and /products/, limited robots.txt control, and duplicate product URLs when a product appears in several collections. None of these prevents ranking. They just cannot be removed.
Not the prefixes. Every product sits under /products/ and every collection under /collections/, and no app or theme changes that. You control the handle at the end. This costs less than merchants fear, since prefix structure is a weak ranking signal.
Collections, first and by a distance. They target the category terms with real volume, while product pages target specific model or brand names with far less. Most Shopify stores have thin collection pages carrying nothing but a title and a product grid, which is the most reliable opportunity on the platform.
Shopify creates a URL for each product within each collection, plus the canonical /products/ version. It sets canonical tags automatically, which handles most of it. Problems arise when themes or apps override those tags, so it is worth verifying rather than assuming.
Frequently, and it accumulates. Each app injects scripts that load on every page whether needed or not, and stores that have added apps over years commonly fail Core Web Vitals as a result. Auditing and removing unused apps is often the single largest speed win available.
Partially, through the theme. Coverage varies a lot between themes and is often incomplete for reviews and availability. Worth validating instead of trusting, particularly after a theme update.
Yes, through robots.txt.liquid, though the control is more limited than on self-hosted platforms. Enough for most legitimate needs.
Shopify's, in almost all cases. Content on a separate domain or subdomain does not pass value to your store nearly as well. The /blogs/ prefix is a small price for keeping everything on one domain.
Keep the page live for temporary stock issues, since removing it discards the ranking. For permanently discontinued products, redirect to the closest alternative or the parent collection. Deleting without a redirect loses both the ranking and any links pointing at it.
Not materially. Plus adds checkout customisation, scripts and higher limits. The SEO-relevant constraints are identical on both.
Rarely worth it on SEO grounds alone. The constraints are real but small next to migration risk, which is one of the most common causes of serious traffic loss. Migrate for commercial reasons, not for prefixes.
Run the free audit on your storefront. It flags speed, structured data and on-page problems, which is where most Shopify opportunity sits. See also ecommerce SEO.