Shopify SEO covers the settings that decide whether Google can crawl your pages, index them, and show them well. Most stores need few changes, because Shopify ships sensible defaults. This guide covers the technical parts: crawling and indexing, redirects, titles and descriptions, canonicals, structured data, and the theme and app changes that alter them.
Crawlability and indexing
Crawling means Google fetches a page. Indexing means Google stores it and may show it in results. They are separate steps, and different tools control each.
robots.txt and robots.txt.liquid
The robots.txt file tells crawlers which URLs to fetch. Google says it is used primarily to manage crawler traffic, and is not a mechanism for keeping a page out of Google. A page disallowed in robots.txt can still be indexed if other sites link to it.
Shopify generates the file for you. Its Help Center says the default works for most stores, and keeps admin, cart, checkout, account, order, and filtered or sorted collection pages from being crawled. You can customize it by adding a robots.txt.liquid template to your theme.
Shopify warns that incorrect use of this feature can result in loss of all traffic. It also says Shopify Support cannot help with edits to the file. Use Liquid to add or remove directives, not plain text, so Shopify can keep updating the rest. To return to the default, delete the template.
noindex
A noindex rule keeps a page out of results. Google says it is set with a meta tag or an HTTP response header, and that Google will drop the page entirely from Search results once it reads the rule.
Two details matter for this rule. First, the page must not be blocked by robots.txt, or the crawler never sees the noindex rule. Second, a page that is meant to be found should never carry the rule, and nothing on the storefront shows it. A shopper sees a normal page.
Shopify gives three ways to hide a page from search engines: a conditional robots meta tag in theme.liquid, the seo.hidden metafield, and the Unlisted status for products. Shopify notes that the first method still leaves the page visible to storefront search. If the seo.hidden namespace is already taken, a third-party app is using it.
Sitemaps
A sitemap is a file listing the pages you want found. Google says it does not guarantee that every item will be crawled and indexed. Shopify builds the sitemap automatically, so the job is to check that it lists the right pages and that robots.txt points to it.
Google ranks sitemap inclusion as a weak canonical signal, below redirects and rel=“canonical”. A sitemap helps discovery, but it does not settle which URL wins. For where the file lives and how to check it, read Shopify sitemap: where it lives and how to check it.
Redirects and chains
A redirect sends an old address to a new one. Google recommends a permanent server-side redirect when the move is final, and names 301 and 308 as the permanent status codes. Temporary redirects keep the original URL in results. JavaScript redirects are a last resort, because Google may never see them if rendering fails.
Redirects pile up on a store that renames products, changes collections, or replaces a theme. A chain happens when A redirects to B and B redirects to C. Fix a chain by pointing A straight at C. Google’s redirect page does not discuss chains, so this is a practical rule and not a documented Google requirement.
Google treats a redirect as a strong signal that the target should be canonical. A redirect that lands on the wrong page therefore moves ranking signals to the wrong place. For the Shopify side, including where redirects are managed, read Shopify redirects: 301s and chains.
Titles and meta descriptions
Every page needs a title. Google’s guidance asks for descriptive, concise titles, distinct from page to page. Boilerplate titles that repeat across pages make results hard to tell apart.
Google may rewrite a title link when the title does not match the page. Half-empty titles, outdated dates, and repetitive text are common triggers. Google cannot change title links by hand for individual sites, so the lever you hold is better titles.
In the Shopify admin, open a page, product or collection, then choose Edit website SEO in the Search engine listing preview. Shopify’s Help Center suggests keeping a title up to 60 characters to avoid shortening, and recommends 160 characters for the description.
The full walk-through is in Shopify title and meta description: where to set them.
Canonical tags
A canonical tag names the preferred address of a page.
Google’s rules are specific:
- Include a rel=“canonical” link on the canonical page itself.
- Use absolute URLs, not relative ones.
- Place the element in the head section, or Google does not accept it.
- Do not specify different canonical URLs for one page with different techniques.
- Do not use robots.txt for canonicalization.
- Do not use noindex to choose a canonical within one site.
Google rates a redirect and a rel=“canonical” link as strong signals, and sitemap inclusion as a weak one. Google says signals that agree become more effective when combined. Signals that disagree leave Google to choose.
A theme update or an app can change the canonical tag on thousands of pages without changing anything a shopper sees. Open a product page, view source, and search for “canonical” to confirm the tag points at the page you want indexed.
Structured data basics
Structured data is machine-readable markup that describes a page, such as a product’s name, price and availability. Google’s merchant documentation says the structured data on a page must match the values shown to the customer. Marking up a price the page does not show breaks Google’s guidelines.
On a Shopify product page, themes and apps usually write this markup. That makes it easy to end up with two sets, one from the theme and one from an app, that disagree. Check the markup with Google’s Rich Results Test after any theme or review-app change.
Merchant Center reads structured data too. Google says that combining page markup with a Merchant Center feed helps it understand and verify your data. For feed problems, read Google Merchant Center disapproved products.
Theme and app changes that break these
The signals above live in your theme and your apps, so changes there move them. A short list of what to look for after one:
- A new theme can ship its own robots meta tag, canonical logic or structured data.
- An app can add a noindex rule to a page type, or write a second block of structured data.
- A removed app can leave redirects or code snippets behind in the theme.
- A hand edit to robots.txt.liquid can block a section of the store.
- A password page left on after a launch blocks the store for crawlers and shoppers.
Editing the live theme and publishing a new theme are different events, and a new theme can change many pages at once. Keep a copy of the theme and a list of your ten most important URLs. After any change, open those URLs and check the title, canonical, and robots meta tag in the page source. The seven-signal version of this routine is in Shopify SEO after launch: seven signals to check yourself.
Keeping it working after launch
Checking by hand works for a handful of pages. It stops scaling as the catalogue grows.
Rabbot is a Shopify app that runs 40 site checks on your store’s pages on a schedule. It reads the title, meta description, canonical, indexing rules, headings and structured data, and compares each snapshot with the last one. When a signal changes, it opens a finding with the page, the check and what to do. See How Rabbot checks your store.
On Free, each page is checked at least weekly. On paid plans, each page is checked daily and rechecked when Shopify reports a change to it. Check cadence has the schedule. Rabbot also checks redirects, covered in Check my redirects.
A finding stays open until a live check shows the problem gone. You make the change in Shopify, or tap a one-tap fix on paid plans with 30-day undo, and Rabbot confirms it. For a comparison of tools in this area, see Best Shopify SEO apps.
FAQ
Does Shopify handle technical SEO for me?
Shopify handles part of it. Shopify generates robots.txt and a sitemap, and its Help Center says the default robots.txt works for most stores. Titles, descriptions, redirects and any theme or app code are yours to set and check.
Should I edit robots.txt.liquid?
Only when you have a specific need. Shopify says incorrect use can result in loss of all traffic, and that Shopify Support cannot help with edits. If you do edit it, use Liquid to add or remove directives and keep a copy of the current output first.
Does robots.txt keep a page out of Google?
Google says robots.txt is not a mechanism for keeping a page out of Google, and a disallowed page can still be indexed if other sites link to it. Use noindex for that, and leave the page crawlable so Google can read the rule.
How long should a title and meta description be?
Shopify’s Help Center suggests keeping a title up to 60 characters and a description at 160 characters. Google may still rewrite a title link, especially when the title does not match the page.
Do I need structured data on every product page?
Google’s product documentation covers product markup for eligibility in rich results and merchant listings. Whatever you mark up must match the values shown to the customer. Check your theme’s output before adding an app that writes a second copy.
How often should I check my store’s SEO signals?
After every theme change, app install or app removal, and on a regular schedule beyond that. A weekly look at your main URLs is a sensible floor. A monitoring tool can run the same checks on every page.
Sources
- Google Search Central: Robots.txt introduction
- Google Search Central: Block indexing with noindex
- Google Search Central: Consolidate duplicate URLs and canonicalization
- Google Search Central: Sitemaps overview
- Google Search Central: Redirects and Google Search
- Google Search Central: Influence your title links
- Google Search Central: Product structured data
- Google Merchant Center Help: Structured data markup for Merchant Center
- Shopify Help Center: Editing robots.txt.liquid
- Shopify Help Center: Hide a page from search engines