Shopify SEO starts with the theme
Most Shopify SEO problems live in the theme and the apps, not in the admin settings. As a Shopify SEO agency, we start with a crawl and a review of your Liquid code, because a single snippet can decide how thousands of internal links behave. Only then do we move on to content, links and new collections.
Shopify gets a lot right. It generates XML sitemaps, adds canonical tags, serves pages through a global CDN and lets you edit handles, titles and meta descriptions. What it doesn’t do is stop your theme from linking to the wrong URLs or your apps from slowing every page.
Fixing collection-scoped product URLs
Every Shopify product can be reached at /products/handle and at /collections/collection-name/products/handle. Most themes canonicalize the second version to the first, so indexing is usually fine. But product grids that use the within: collection filter still link to the collection path, so crawlers keep fetching duplicates and internal link signals point at the wrong URL.
We change the product card and related-product snippets to link directly to /products/ URLs. If you want collection context in breadcrumbs, we build them from a primary collection stored in a product metafield instead of from the URL.
Filters, tags and robots.txt.liquid
Search & Discovery filters and sort options add parameters to collection URLs. Shopify’s default robots.txt blocks some of these, but not every combination, and tag-based filtering on older themes creates separate URLs that can be indexed. We review crawl data first, then add rules in robots.txt.liquid or noindex tags only where they are needed.
When a filter reflects real demand, such as a material or style people search for, we build it as a proper collection with its own copy instead of relying on a parameter URL.
App bloat and Core Web Vitals
Apps are the biggest speed risk on most Shopify stores. Reviews, upsells, pop-ups, chat and tracking tools each add JavaScript, and older apps that edited theme files can leave code behind after uninstalling. We inventory every script, remove orphaned code, move tools to app embeds where possible and defer anything that doesn’t need to load immediately. Image sizing and font loading on product templates usually come next.
Collections that deserve to rank
Collections are your main ranking pages for category terms. We add a short intro above the grid and longer buying guidance and FAQs below it, using metafields or sections so your team can edit the copy without touching code. New collections are created only where keyword research shows demand.
Sold-out and discontinued products
Sold-out products stay published on Shopify unless you hide them, which is usually right: the page keeps its rankings and shoppers can sign up for restock alerts. Problems start when products are deleted or set to draft, since both return a 404 and Shopify doesn’t redirect them automatically. We set a simple rule: redirect discontinued products to a replacement or the closest collection, and retire the rest cleanly.
Product schema, Merchant Center and AI shopping
Many themes output basic Product markup, and review apps often add a second block. We consolidate everything into one Product entity with brand, GTIN, offers, reviews, shipping and returns, and match it to the feed Shopify sends to Merchant Center. That consistency supports free listings, rich results and AI shopping visibility in ChatGPT and Google AI Mode.
Shopify Plus SEO and headless builds
Shopify Plus SEO follows the same rules with more moving parts: expansion stores for international markets, larger catalogs and more integrations. For headless builds on Hydrogen or another framework, we check rendering, canonicals, sitemaps and redirects, since the theme no longer handles them for you. Moving to Shopify from another platform? Our SEO migration process protects existing rankings. To see what your store needs first, request a free SEO audit.