Shopify SEO is the set of platform-specific configurations that decide whether a Shopify store appears in Google, Bing, AI Overviews, and the AI shopping channels (ChatGPT, Perplexity, Gemini, Copilot, Shop). Most of it lives in three places: the Online Store > Preferences panel (sitewide title, description, password), the per-resource Search engine listing panel (product, collection, page, blog), and the theme's editable robots.txt.liquid file. The rest lives in URL Redirects, theme.liquid (custom meta-robots and JSON-LD), and the Search & Discovery surfaces Shopify ships into the admin.
Shopify's own SEO overview1 describes the platform as doing most of the mechanical work automatically: themes generate title tags that include the store name, /sitemap.xml and /robots.txt are emitted by default, canonical tags are auto-injected to prevent duplicate content, SSL is on by default, and Schema markup for products is built into themes. Google indexes a Shopify store "automatically within 48 to 72 hours after you add or update information"8. The owner's job is to make those automated outputs better.
The boundary worth naming up front: Shopify SEO is not a separate discipline from SEO. The on-page rules — unique titles, useful descriptions, fast pages, indexable content, complete product data — are the same rules every commerce platform plays under. What's different is the path you take to apply them. WooCommerce, BigCommerce, and Magento all expose raw .htaccess or full-template control. Shopify trades that flexibility for speed: you cannot break /robots.txt because the platform serves a default version, and the only knob you have is the optional robots.txt.liquid template you can add to your theme4. The 10 clusters below walk through every workaround with the named Shopify Help Center or Shopify Dev Docs source.
The 2026 reframe: Shopify SEO is becoming product-data SEO. Google's AI Overviews, ChatGPT shopping, Perplexity recommendations, Gemini AI Mode, Copilot shopping, and Shopify's own Shop app all read the same underlying catalog data — product title, description, images, barcode, type, vendor, tags, variants, sizing, materials, care11. A Shopify store that ranks in classical SEO but ships thin PDP data still misses every AI shopping surface. This pillar covers the classic mechanics. The AI shopping mechanics live in /shopify-ai-search/.
§02Takeaways
Five takeaways before you read anything else
If you only have time for the headlines: Shopify auto-canonicals and auto-sitemaps almost every page (the platform's default-on settings remove 80% of classical SEO traps); robots.txt.liquid is the only bot-control surface Shopify exposes, and Shopify Support cannot help with edits; the recommended title-tag length is 60 characters with a 70-character hard maximum; Shopify warns explicitly against copying manufacturer descriptions; and the Unlisted product status is Shopify's recommended way to hide a product from search, Catalog, and the sitemap in one toggle.
Shopify auto-canonicals and auto-sitemaps almost every page. The platform emits canonical tags "to prevent duplicate content from appearing in search results"1 and auto-generates /sitemap.xml and /robots.txt5. The default robots.txt already blocks the duplicate URL patterns that wreck non-Shopify stores: /admin, /cart, /checkout, /collections/*+* (filtered duplicates), /search, and /policies/4. Most classical SEO traps are removed at the platform level.
robots.txt.liquid is the only bot-control surface Shopify exposes. The editable template lives at theme/templates/robots.txt.liquid12. Shopify's verbatim warnings: "Shopify Support can't help with edits to the robots.txt.liquid file" and "Incorrect use of the feature can result in loss of all traffic"4. The robots.txt.liquid section below covers the safe editing pattern.
Title tags are 60 characters recommended, 70 maximum. Shopify's keywords doc3 states the recommendation (less than 60 characters) and the hard cap ("up to 70 characters in the title"). Meta descriptions: less than 160 characters. Page body: 250 words minimum on standard pages, 500 words on blog posts.
Don't copy manufacturer descriptions. The Shopify keywords doc states verbatim: "avoid directly copying text that's provided to you by a manufacturer"3. This is the single most-skipped Shopify SEO rule on dropship and reseller stores. The product-descriptions section below walks through the rewrite pattern.
Unlisted status hides a product from search, Catalog, and the sitemap in one toggle. Shopify recommends Unlisted over the seo.hidden metafield for products, because Unlisted also removes the product from collection pages, internal search, and product recommendations6. The hide-pages section covers all three methods Shopify documents.
§03SEO Settings
SEO settings — every Shopify field that matters
Shopify exposes SEO controls in four places. Online Store > Preferences sets the homepage title, homepage meta description, store name, and password. The Search engine listing panel on each product, collection, page, and blog post sets the per-resource title and meta description. The media library exposes alt text on every image. And the theme code editor exposes title-tag templates, meta-robots conditions, and JSON-LD injection points. Cluster 1A walks through each panel and the Grow SEO early-access AI feature Shopify rolled in 2026.
Five articles cover the panels: title tags (the 60 / 70 character rules), meta descriptions (160 chars and AI snippet behaviour), URL slugs (Shopify path conventions and the redirect that fires when you change one), Online Store > Preferences (the sitewide panel), and Grow SEO (Shopify's early-access AI suggestion tool).
§04Indexing
Indexing, sitemap, and crawling on Shopify
Shopify auto-generates /sitemap.xml at the root of every store. The file contains all products, the primary product image, pages, collections, and blog posts. It updates automatically when you add or change a page. The sitemap reader (Google, Bing) cannot access it on a password-protected store — that's the single most common reason a freshly-launched Shopify store fails sitemap submission. Multi-domain stores on Basic plan and above get a separate sitemap per international domain, and multilingual stores add language alternates automatically.
The Web Bot Auth feature Shopify shipped in 2025 is worth a sentence of clarification: it is not a control for whether Google can index your store, and it is not a control for AI crawlers. Shopify's own crawling-your-store doc states verbatim: "Your store can be indexed by search engines and large language models (LLMs) without signatures"7. Web Bot Auth is for first-party tools that need authenticated access to the store (SEO auditors, accessibility scanners, automated testing). Use it for those; don't use it as an indexing knob.
textWhere the Shopify sitemap lives — open in a private window
# The Shopify sitemap is always at the same pathhttps://yourstore.com/sitemap.xml# Contents: products, primary product image, pages, collections,# blog posts. Multilingual languages are added automatically.# Multi-domain (Basic plan or higher): each domain gets its own sitemap.# Password-protected stores: the sitemap cannot be fetched.
§05robots.txt.liquid
robots.txt.liquid — the one Shopify file you can actually edit
robots.txt.liquid is the editable Liquid template that renders Shopify's /robots.txt file. It lives in your theme at templates/robots.txt.liquid. By default the file is not in the theme — you create it manually in the code editor when you need to customise behaviour. Customisations supported: allow or disallow specific URLs, add crawl-delay rules, add additional sitemap URLs, and block specific crawlers (including AI crawlers like GPTBot, ClaudeBot, PerplexityBot, Google-Extended). Shopify's verbatim warnings: 'Shopify Support can't help with edits' and 'Incorrect use of the feature can result in loss of all traffic.'
liquidShopify's verbatim default robots.txt.liquid template (from Shopify Dev Docs)
{%- comment -%} Default robots.txt.liquid template, verbatim from Shopify Dev Docs {%- endcomment -%}{% for group in robots.default_groups %}{{- group.user_agent -}}{% for rule in group.rules %}{{- rule -}}{% endfor %}{%- if group.sitemap != blank -%}{{ group.sitemap }}{%- endif -%}{% endfor %}
The Shopify Dev Docs12 state it is "strongly recommended to use the provided Liquid objects whenever possible" because "The default rules are updated regularly to ensure that SEO best practices are always applied." Translation: replacing the Liquid loop with a plain-text robots.txt permanently disconnects your store from Shopify's automatic default-rule updates. Don't do it. Layer your custom rules on top of the loop instead.
AI crawler control is the new battlefield, and robots.txt.liquid is the only Shopify-native place to set it. /shopify-seo/robots-txt-ai-bots/ and /shopify-ai-search/ai-crawlers/ together document the GPTBot / ClaudeBot / PerplexityBot / Google-Extended decision matrix for 2026.
§06Duplicate content
Canonical tags and the Shopify-specific duplicate content trap
Shopify auto-emits canonical tags on every page 'to prevent duplicate content from appearing in search results.' The platform-specific pattern auto-canonicals were built for: every Shopify product is reachable at two URLs — /products/handle and /collections/foo/products/handle — and themes ship with a self-referencing canonical that points the collection-prefixed URL back to the canonical /products/handle. The default robots.txt also blocks /collections/*+* (filter combinations) and /search (internal search results) to suppress the thin duplicate URLs that wreck non-Shopify ecommerce stores. Cluster 1D covers what to do when the auto-canonical fails.
The /products/ vs /collections/products/ duplicate is the single most asked Shopify SEO question in the SERP, and most agency blog posts cover it badly. The honest answer: Shopify already handles the canonical correctly out of the box. The cases where the auto-canonical fails are narrow — custom-coded templates that broke the canonical_url object, third-party page-builder apps that re-render the head, and stores that use the within: collection Liquid filter without a canonical override. The cluster names each case and the fix.
§07Hiding pages
Hiding Shopify pages from Google, AI, and Shopify Catalog
Shopify documents three methods to hide a page from search engines. (1) Theme.liquid meta-robots conditions for fine-grained per-template control. (2) Unlisted product status, which hides a product from search, Shopify Catalog, the sitemap, collections, internal search, and product recommendations in one toggle. (3) The seo.hidden metafield, which hides pages, blog posts, or products from search engines and sitemaps. For products specifically, Shopify recommends Unlisted because it also removes the product from collections and recommendations. The seo.hidden metafield namespace is sometimes already claimed by third-party apps — Shopify documents the 'already taken' error verbatim.
liquidShopify-provided meta-robots conditions for theme.liquid
{%- comment -%} For an entire template type (e.g. internal search results) {%- endcomment -%}{% if template contains 'search' %}<meta name="robots" content="noindex">{% endif %}{%- comment -%} For a specific page handle {%- endcomment -%}{% if handle contains 'page-handle-you-want-to-exclude' %}<meta name="robots" content="noindex">{% endif %}
§08Redirects
Redirects and URL hygiene on Shopify
Shopify exposes URL redirects through Online Store > Navigation > URL Redirects. The panel accepts manual entries and bulk CSV imports. Every redirect is a 301 (permanent), and Shopify creates one automatically when you change a product handle, collection handle, page slug, or blog post slug while the resource is still published. This auto-redirect is the single most useful default in Shopify SEO — it removes the most common cause of post-edit traffic drops. The honest gap in this cluster: Shopify's own URL redirect documentation pages currently resolve to overview content rather than specific articles, so some claims below are marked [UNVERIFIED] and tied to the closest published Shopify reference.
Products and PDPs — the 2026 catalog-ready playbook
Shopify's Catalog optimization doc names the product fields AI shopping platforms read: title, description, images, product organization (type, vendor, collections, tags), barcode (ISBN, UPC, GTIN, etc.), variants (including Option name), and external product URL for Agentic plan stores. Shopify's Optimizing for AI doc adds: detailed specs, comparison information with similar products, comprehensive descriptions with relevant keywords, structured data and product attributes, sizing/material/care instructions, price/availability/key features, and high-quality images with descriptive alt text. The PDP is the conversion magnet of every Shopify store, and in 2026 it's also the AI-readability magnet — every recommendation engine reads these same fields.
Shopify collection pages have a top-of-page description, an optional bottom-of-page text block, and the product grid in between. Themes auto-canonical the collection URL and the default robots.txt blocks the filtered /collections/*+* URL combinations. The two Shopify-specific levers worth investing in: (1) automated vs manual collections (the conditional rules vs hand-curated decision changes how Google interprets the collection's editorial voice), and (2) collection pagination behaviour, which themes implement differently and Google handles via crawl-budget heuristics rather than the deprecated rel='next' / rel='prev' markup.
Shopify's blog system supports categories via blog containers (multiple blogs per store, e.g. /blogs/news, /blogs/guides) and tags on individual posts. Default tag and category archive pages can produce thin auto-archive pages on prolific blogs — the same trap that hits every commerce blog. The Shopify-specific consideration: blog posts on Shopify get auto-emitted Article schema from most themes, but the content-classifiers Google uses are increasingly weighted toward the AI-readable expert content that ranks blog posts in Google AI Overviews and the AI shopping recommendation surfaces.
Shopify auto-emits AVIF and WebP via Sharp 0.34+ in the image pipeline, lazy-loads images below the fold by default, and serves through its global CDN. The remaining levers owners control: hero image dimensions on the theme's homepage (the single biggest LCP factor on Shopify), app bloat (third-party apps that inject script tags into theme.liquid), and the Hydrogen vs Liquid speed difference for headless stores. Shopify shipped two relevant 2026 changes: the April 1 app activity tracking changelog (admin visibility into which apps are hitting your storefront), and the April 9 Hydrogen release that mandated the Storefront API proxy and enabled backend consent mode.
This guide is classical Shopify SEO — the table-stakes mechanics. The AI shopping layer (Catalog eligibility, Knowledge Base, agentic commerce, ChatGPT / Perplexity / Gemini / Copilot / Shop, llms.txt) lives at /shopify-ai-search/. The JSON-LD / structured data layer (Product, Offer, Brand, Review, GTIN, hasMerchantReturnPolicy) lives at /shopify-schema/. Comparisons to other platforms live at /vs/. Per-vertical playbooks (skincare, apparel, jewelry, supplements, furniture, food, digital products) live at /for/. Four edge-case articles cover orphan topics: international domains, hreflang, Hydrogen SEO, and checkout extensibility.
The right reading order for an owner doing a full audit: start here for the classical mechanics, jump to /shopify-ai-search/ for the AI shopping layer, then /shopify-schema/ for structured data. If your goal is fixing a specific symptom — not showing on Google, slow store, lost rankings after a migration — jump to the matching cluster diagnostic and skip the rest until you've shipped the fix.