Noindex and Canonical Tags on Shopify: How to Spot the Costly Mistakes
An accidental noindex and a broken canonical tag are the two SEO mistakes that cost a Shopify store the most traffic for the least visible reason. A noindex asks Google to drop a page from search entirely. A canonical names the one address a page should be known by, and trouble starts when it goes missing, points nowhere useful, or appears twice with different addresses. AccessComply reads the head of every page it scans and flags a noindex, a missing canonical, an empty or invalid one, or two that disagree. It does not change them, because each is a setting someone chose, so this guide shows where to look.
What a noindex does to a page
A noindex is a rule in the page’s head, <meta name="robots" content="noindex">, or the same rule sent as an X-Robots-Tag HTTP header. Google’s documentation on blocking indexing with noindex is plain about the effect: once Googlebot crawls the page and sees the rule, Google drops the page entirely from its search results, whatever other sites link to it.
Two details matter on a store:
- robots.txt can hide a noindex. For the rule to work, the page must not be blocked in robots.txt; if the crawler cannot fetch the page, it never sees the noindex, and the page can still appear in results.
- It is sometimes right. Internal search results, a thank you page or a members page can reasonably carry noindex. A product or collection page almost never should.
Where a noindex comes from on a Shopify store
When a page you want found carries noindex, it has usually come from one of these:
| Source | How to check it |
|---|---|
| The SEO Hidden metafield | Shopify lets you set a metafield named seo.hidden to 1 on a product, page or blog post, which hides it from sitemaps, search engines and your store search. Open the item and look at its metafields |
| The Unlisted product status | An Unlisted product can be sold through a direct link but cannot be discovered by customers. Check the product’s status |
| A tag in the theme code | A robots meta tag added to theme.liquid or a section, sometimes inside a condition that matches more pages than intended. Search the theme code for noindex |
| An SEO app | Apps that manage robots tags can add noindex to whole groups of pages. Check the app’s settings |
What a canonical tag does
A canonical link, <link rel="canonical" href="…">, tells search engines which address is the preferred one when the same content can be reached at several. Google treats it as a strong signal, not a command, and asks sites not to give different canonical addresses for the same page through different methods, and not to use noindex to steer which page becomes canonical, because noindex removes the page from search completely.
Shopify themes print the canonical for you from Liquid’s canonical_url object. Dawn, for example, has one line in its layout file: <link rel="canonical" href="{{ canonical_url }}">. Problems start when a theme edit removes that line, when an app or a snippet adds a second canonical pointing somewhere else, or when a template builds the address by hand and gets it wrong.
What the scan checks on every page
AccessComply loads each page the way a browser does and reads the tags in its head:
| Finding | What fails it |
|---|---|
| Noindex | A robots or googlebot meta tag containing noindex or none |
| Missing canonical | No canonical link in the page |
| Invalid canonical | An empty canonical, or one that is not a web address |
| Conflicting canonicals | Two or more canonical links naming different addresses |
The finding shows the tag it saw, so you can search for that exact text. The check reads meta tags in the page; it does not read X-Robots-Tag headers, so a header based noindex needs Google’s URL Inspection tool, which shows what Googlebot received.
How to confirm and fix each one
- Confirm the page should be found. If it is a product, a collection or a content page, it should not carry noindex.
- For a noindex, check the item’s SEO Hidden metafield and status first, then search the theme code for
noindex(Online Store, Themes, Edit code), then your SEO apps’ settings. - For a canonical problem, open
layout/theme.liquidand check there is exactly one canonical link usingcanonical_url, then look for a second one added by an app or a snippet. - Confirm with Google. Search Console’s URL Inspection tool shows the page as Googlebot saw it, and the Page Indexing report lists pages where Google found a noindex.
- Scan again to confirm the finding is gone from every page, not only the one you checked.
Why AccessComply reports these instead of changing them
Each of these is a decision recorded somewhere: a metafield on a product, a line in a theme, a setting in an app. An automatic change could take the wrong one away, such as removing a noindex you set on purpose, or rewrite a canonical an app depends on. So the app lists them with what it saw and the place to look, and leaves the change to you. Titles and meta descriptions, which it can write safely from your own content, are covered in Shopify SEO issues: what AccessComply finds and fixes.
The SEO topic collects the related guides. See pricing for plans; every plan includes the SEO checks.
Sources
- Google Search Central, Block Search indexing with noindex.
- Google Search Central, How to specify a canonical URL.
- Shopify Help Center, Hiding a page from search engines.
- Shopify Help Center, Product details page (product status, including Unlisted).
- Shopify developer documentation, canonical_url.
Find the storefront issues holding back growth
Scan SEO, speed, accessibility and AI shopping readiness by page. Review supported fixes before they run, keep saved originals, and verify the live result afterward.
Free checkers: Shopify accessibility checker · Website accessibility checker · Products not showing in ChatGPT