Shopify Plus is a different SEO surface than standard Shopify. The basics are the same - Liquid theme, canonical URLs, the /products/, /collections/, and /pages/ URL pattern - but the things that make Plus Plus (Markets, Functions, the expanded Variant API, scripts on checkout, Hydrogen storefronts on Oxygen) introduce their own set of indexing, canonicalization, and rendering questions that off-the-shelf advice does not cover.
We have worked on Shopify since the platform was a small Ottawa-based startup, and we have been a Shopify Plus Partner since the program existed. This is the checklist we run through on every Plus account in 2026 - both the routine fixes and the platform-specific work that only matters once you cross over from standard Shopify.
1. Confirm the Variant API and ?variant= strategy first
The single most underestimated SEO problem on Shopify Plus accounts is variant URL handling. By default, Shopify serves /products/foo as the canonical product page and appends a ?variant=<id> query string when a customer selects a specific variant. That query parameter does not generate a new indexable URL - but it can generate hundreds of weakly differentiated crawl paths if internal links, email campaigns, sitemaps, or third-party apps inject variant URLs without canonical handling.
Audit every theme template (product.liquid, product-template.liquid, the Online Store 2.0 product section JSON) and confirm:
- The
<link rel="canonical">on the product page points to the variant-stripped URL. - The Open Graph and Twitter Card tags reference the master product, not the variant.
- The XML sitemap (auto-generated at
/sitemap.xml) is not serving?variant=URLs. If it is, you have a corrupted theme tag or a misbehaving app. - Structured data (
ProductJSON-LD) emits the master product as the primary entity, with each variant nested as anOffer.
For dedicated guidance on this, see the definitive guide to variant URL canonicals on Shopify.
2. Markets - split-language and split-domain SEO at scale
Shopify Markets is the Plus-tier internationalization layer. It is also the layer where most large Plus catalogs leak ranking authority. Markets supports three deployment modes:
- Subfolder per market (
/en-gb/,/de/,/fr-ca/) under one root domain. - Subdomain per market (
uk.example.com,de.example.com). - Top-level domain per market (
example.co.uk,example.de).
Each mode has implications. Subfolders consolidate the most domain authority, but require careful hreflang clusters. Subdomains and ccTLDs split authority but signal locality more strongly to Google. There is no universally correct answer - but there is a wrong implementation: shipping a Markets configuration where hreflang annotations are missing, contradictory, or pointing at unindexable pages.
Validate the following on every Markets setup:
- Every market URL has reciprocal
<link rel="alternate" hreflang="...">tags listing every other market plus anx-default. - Currency switches do not trigger query parameters that create duplicate indexable URLs.
- Robots.txt is not blocking translated subfolders for crawlers (this happens more often than you would think on legacy theme migrations).
3. Shopify Functions - checkout, discount, and shipping logic moved to the edge
Functions replaced Shopify Scripts in 2024. They run server-side at the edge and are how Plus merchants now extend discount logic, payment customizations, delivery customizations, and validation rules. From an SEO standpoint, Functions themselves are mostly invisible to search engines - they execute deep in the funnel, well past where Googlebot crawls. But two side effects do matter:
- Discount Function output sometimes mutates the displayed price on the product page (through theme app extensions). When it does, validate that the JSON-LD
Offer.pricematches the rendered price for a logged-out user. Mismatches trigger Google Merchant Center suspensions and can suppress rich results. - Validation Functions that block add-to-cart for specific products will be triggered for Googlebot too. Make sure those functions do not return errors that render through the page DOM in ways that crawlers might parse as the product being unavailable.
4. Online Store 2.0 sections, blocks, and metafield-driven content
Online Store 2.0 (the JSON-template architecture introduced in 2021) is now the default for every new Plus theme. Sections, blocks, and metafields let merchandisers compose product, collection, and content pages without developer involvement. The SEO catch: metafield content does not always render server-side in older themes. Confirm in the rendered HTML - view source, not the React DevTools tree - that metafield-driven copy on product, collection, and page templates is present in the initial response, not hydrated client-side after first paint.
This matters more on Plus than on standard Shopify because Plus catalogs lean heavily on metafields for spec sheets, ingredient lists, sizing guides, and compatibility tables - exactly the kind of attribute density that Google rewards in eCommerce results.
5. Hydrogen and Oxygen - when the headless storefront enters the picture
A growing share of Plus merchants are running Hydrogen storefronts hosted on Oxygen, with the Shopify admin and checkout still running on *.myshopify.com. Hydrogen is a React-based framework; Oxygen is Shopify's edge worker hosting platform. The combination is fast and flexible, but it is also where most accidental SEO regressions happen.
Hydrogen-specific checks:
- All product, collection, and content routes must be server-rendered (SSR) or use streaming SSR. Pure client-rendered routes will not be reliably indexed.
- The
<link rel="canonical">must be emitted in the initial HTML response, not injected client-side viauseEffect. - Product
ProductJSON-LD must be present in the SSR response. - The sitemap generated by Hydrogen (or your custom route) must list every published handle, and
robots.txtmust allow indexing for the live Oxygen domain.
The deeper guide is Hydrogen SEO: SSR vs streaming for headless Shopify.
6. Robots.txt customization on Plus
Plus accounts can customize robots.txt.liquid. Most do not, and that is fine - Shopify's defaults are sensible. But two patterns are common mistakes:
- Custom
Disallow: /collections/rules added in an attempt to prevent faceted-nav indexing, which inadvertently de-indexes the entire collection tree. Disallow: /searchpatterns that block the internal search results page (correct) but also accidentally match/search-results-helpor other content pages that share the prefix.
Audit the rendered /robots.txt against the URLs that you actually want crawled.
7. Structured data - Product, Offer, AggregateRating, Brand
Shopify themes ship JSON-LD by default, but the markup is often incomplete. On Plus, where catalogs are larger and Merchant Center listings are a meaningful traffic source, the gaps cost money. Confirm:
Productincludesname,image,description,sku,mpn,gtin13(or appropriate GTIN type),brand, andoffers.Offerincludesprice,priceCurrency,availability,priceValidUntil, anditemCondition.AggregateRatingandRevieware emitted when reviews exist. The most common Plus stack - Judge.me, Yotpo, Okendo - handles this when configured correctly. The most common bug is double-emitted schema (theme plus review app).
8. Crawl budget on large catalogs
Plus catalogs with 10,000+ SKUs and dozens of collections will hit crawl budget ceilings. Symptoms: new products take weeks to get indexed; collection pages that have not changed in a year are re-crawled daily. The fixes are not exotic - they are about removing crawl waste:
- Block
/collections/*?*parameter URLs that do not serve a unique purpose. Thesort_by,filter.v.option.*, andpage=*parameters in particular generate massive crawl footprints. - Use the URL parameter handling that Shopify exposes in
robots.txt.liquidto scope the parameters that should be crawlable. - Make sure the XML sitemap is segmented (
/sitemap_products_1.xml,/sitemap_collections_1.xml, etc.) so Google can prioritize.
9. Core Web Vitals on Liquid themes
LCP and INP are the two metrics most often degraded on Plus themes. Common causes:
- Hero images that are not responsive - using a single 2400px asset instead of Shopify's
image_urlfilter withwidthparameters. - Theme app extensions that inject blocking scripts into the head.
- Review widgets that render synchronously and push LCP past the LCP element.
The Shopify image CDN supports responsive variants natively. Use image_tag with the widths argument and a sizes attribute. Defer non-critical scripts. Confirm that review widgets render below the fold and load lazily.
10. Checkout extensibility - Open Checkout, Open Source App templates
Checkout Extensibility (Shopify's replacement for the deprecated checkout.liquid) lives in a different rendering context than the storefront. SEO-relevant only insofar as: the canonical product page must reflect the same offer terms that the checkout will honor. Trust badges, shipping promises, and return policy claims that exist only in the checkout but not on the product page get flagged in Merchant Center policy reviews.
Key takeaways
- Variant URL canonicalization is the most underestimated Plus SEO problem. Audit
?variant=handling in your theme and sitemap first. - Markets requires correct hreflang clusters across every subfolder, subdomain, or ccTLD market. There is no "set and forget" mode.
- Functions are invisible to crawlers but their effects on price, availability, and add-to-cart flow are not - validate JSON-LD against rendered output.
- Hydrogen and Oxygen are powerful but introduce a new set of SSR, canonical, and sitemap requirements that pure-Liquid stores do not face.
- Crawl budget management on 10,000+ SKU catalogs is about removing parameter-URL waste, not adding more content.
If your Plus account is leaking ranking authority and you would rather have a partner who has shipped this work hundreds of times, our Shopify Plus SEO and Shopify Plus agency practices were built for exactly this. For broader Shopify support across themes, apps, and migrations, see our Shopify support services, and the full Shopify SEO overview for the foundation work. When you are ready to talk, we are here. For the platform-by-platform view, browse SEO by platform or our broader eCommerce SEO agency services.
