
You control the words: page titles, meta descriptions, URL handles, and image alt text. Shopify controls the plumbing: it auto-generates your sitemap.xml, ships a working robots.txt by default, and adds canonical tags and basic structured data to standard themes without you touching any code. The two only overlap where Shopify gives you an escape hatch, like a robots.txt.liquid template for developers who need to override the default file. Here's exactly where the line sits, sourced from Shopify's own help center and developer docs (checked September 2026).
Every product, collection, page, and blog post in Shopify has a Search engine listing preview section with an "Edit website SEO" or pencil-icon option. From there you control three fields: the page title, the meta description, and the URL handle. Shopify's own guidance on writing them: "Use a unique, descriptive title. Include your most important target keywords for each page near the beginning of the title. Enter a title that is 60 characters or fewer" (Shopify Help Center, "Adding keywords for SEO to your Shopify store"). The admin field itself allows up to 70 characters for a title and recommends 160 for the description, but Shopify warns that going past those limits gets your text cut off in search results.
You can also add a title and meta description for your store's homepage from Online Store > Preferences, in the Social sharing image and SEO section.
Less than the title suggests. Shopify's fixed URL prefixes aren't configurable: you can't redirect or restructure /products, /collections, or /collections/all, since Shopify calls these out directly as "fixed Shopify paths" (Shopify Help Center, "Creating and managing URL redirects"). The same fixed-folder pattern applies to pages and blog posts, which live under /pages/ and /blogs/ respectively.
What you can edit is the handle, the part of the URL after the prefix. Shopify's own instructions for a page: "In the URL handle field, you can change part of the web address. It can't contain any spaces. You can enter dashes (-) between separate words instead of spaces" (Shopify Help Center, "Creating and editing pages"). Blog posts work the same way, through the same Search engine listing preview panel (Shopify Help Center, "Adding and managing blog posts").
The useful detail for anyone nervous about breaking links: change either handle and Shopify offers "a pre-selected option to Create a URL redirect, and the old web address redirects to the new web address" (both sources above, identical wording). You don't have to remember to protect the old URL yourself; the checkbox is there by default.
Yes, both, and you don't need to build either from scratch. On the sitemap: "All Shopify stores automatically generate a sitemap.xml file that contains links to all your products, primary product image, pages, collections, and blog posts" (Shopify Help Center, "Finding and submitting your sitemap"). It lives at your domain's root, like example.com/sitemap.xml, and updates itself whenever you add a product, page, collection, image, or blog post. Your only job is submitting it to Google Search Console once, which the same help page walks through step by step.
On robots.txt: "All Shopify stores have a default robots.txt file that's optimal for Search Engine Optimization (SEO)" (Shopify Help Center, "Editing robots.txt.liquid"). That default already disallows crawling of your admin, cart, checkout, account, and duplicate filtered-collection URLs, so most stores never need to touch it.
If you do have a reason to change it, Shopify's documented route is a robots.txt.liquid file added to your theme's Templates folder, not hand-editing plain text: "You can use Liquid to add or remove directives from the robots.txt.liquid template. This method preserves Shopify's ability to keep the file updated automatically in the future, and is recommended" (same source). Shopify is explicit that this is an unsupported customization for its own support team, and warns "Incorrect use of the feature can result in loss of all traffic" — so treat it as a developer task, and delete the custom template if you ever want the current default file back.
Handled, for the page types that matter most. Shopify's theme documentation confirms canonical tags run through a built-in object: "You can specify a canonical URL for a given page using the global Liquid canonical_url object" (Shopify.dev, "Add SEO metadata to your theme"). In a standard theme, that object is already wired into theme.liquid, which is why Shopify's own duplicate-URL problem (a product reachable through more than one collection path) doesn't usually cause duplicate-content issues out of the box.
The only place you'd touch this yourself is a fully custom page template a developer built without inheriting the theme's head markup — in that case, the canonical_url object still exists to reference, it just needs to be added manually to that specific template's <head> section.
For product, collection, and article pages, yes. Shopify's own explanation: "Your Shopify store's theme automatically includes microdata (also known as structured data) in its code. This special HTML markup helps search engines better understand and display your content in search results. For example, product pages include microdata about prices, availability, and reviews, which can appear as rich snippets in search results. All current Shopify-supported themes and themes from the Theme Store include this functionality by default, so you don't need to add any additional code" (Shopify Help Center, "Finding and submitting your sitemap"). Whether Google actually chooses to render that as a rich snippet in results is not something Shopify or a theme can guarantee — that choice is Google's alone.
Redirects are their own topic with real limits: you can't redirect a live URL, only a broken (404) one, and several path prefixes are permanently off-limits. Our guide to setting up Shopify redirects covers those rules, the export/import flow, and the per-plan redirect caps in full.
For keeping a specific page out of search results while it stays published, Shopify documents an unlisted product status or a seo.hidden metafield you set to 1, both of which remove a product or page from the sitemap and internet search without unpublishing it (Shopify Help Center, "Hiding a page from search engines"). That's the documented recovery path if a page gets indexed by mistake, or if you want a page reachable only by direct link.
Shopify's guidance is short: "Keep your alt text brief and descriptive. The maximum length is 512 characters, but 125 or less is recommended" (Shopify Help Center, "Adding alt text to media"). Product images get alt text from the product's media page (click the image, click Add alt text); collection and blog post featured images get it from an Edit image option under the image itself (Shopify Help Center, "Adding keywords for SEO to your Shopify store"). Shopify also supports bulk alt text uploads through a CSV file, which is the practical route if you're retrofitting alt text onto an existing catalog rather than writing it product by product.
| Element | Who controls it | Where |
|---|---|---|
| Page title, meta description | You | Search engine listing preview, per product/page/post |
| URL handle | You (within a fixed prefix) | Same panel; redirect offered automatically on change |
/products, /collections prefixes | Shopify, fixed | Not editable |
| Sitemap.xml | Shopify, automatic | Root of your domain |
| Default robots.txt | Shopify, automatic | Editable only via a developer-added robots.txt.liquid |
| Canonical tags | Shopify, automatic in-theme | Available as canonical_url for custom templates |
| Structured data (product/article) | Shopify, automatic in-theme | No code needed on supported themes |
| Image alt text | You | Per-image, or bulk via CSV |
| Hiding a page from search | You | Unlisted status or seo.hidden metafield |
Nowhere directly. Figment publishes a site from a Figma design through its Figma plugin; it isn't a commerce platform and has no product catalog, checkout, or store-specific SEO settings to compare against Shopify's. If you're weighing what AI tools can safely touch on an existing Shopify store, separate from the SEO settings above, see our guide to using AI with your Shopify store for what Shopify's own Magic and Sidekick tools do and where a coding agent's access should stop.
Bottom line: Shopify already handles the technical floor, sitemap, a sound default robots.txt, canonical tags, and basic structured data, without you writing code. Your actual SEO work on Shopify is the content layer: clear titles, real meta descriptions, sensible URL handles, and alt text that describes the image. None of that promises a specific ranking; it's the set of fields Shopify puts in your hands to get right.