← All posts

How to Fix Shopify Pages That Aren't Indexed

How to Fix Shopify Pages That Aren't Indexed

Shopify pages not indexed is a more specific problem than it sounds. Shopify handles a lot of technical SEO for you: it generates the sitemap, sets canonical tags, and writes a robots.txt file without being asked. That automation is usually helpful, and occasionally it is exactly the thing keeping a page out of Google. This guide walks through the Shopify-specific causes in the order you should check them, from the ones that block an entire store to the ones that affect a single product page.

One thing before you start: confirm the page is actually missing. Search Google for the exact URL in quotes, or paste it into the URL Inspection tool if the store is verified in Search Console. A page that ranks poorly is a different problem from a page that is absent, and the fixes below only apply to the second.

Why Shopify pages end up not indexed

Most non-indexed Shopify pages trace back to one of five causes: the store password, the generated robots.txt, canonical tags pointing elsewhere, sales channel visibility, or content Google looked at and declined. The first four are mechanical and fixable in an afternoon. The fifth takes longer. What they share is that none of them announce themselves; the storefront looks fine in a browser while Googlebot sees something different.

The password page blocks everything

If the store still has the storefront password enabled (Online Store, Preferences, Password protection), every visitor who is not logged in sees the password screen. That includes Googlebot. Crawlers cannot type passwords, so nothing behind that screen gets crawled, and nothing gets indexed. This catches stores that launched quietly and forgot the setting, and development stores that were promoted to production with the password left on. It is the first thing to check because it overrides everything else on this list.

The generated robots.txt does more than you think

Shopify writes a robots.txt file for every store. By default it disallows paths that would waste crawling: cart, checkout, account pages, and internal search results. That is sensible. The trouble starts when filtered collection URLs, tag pages, or paths an app created fall under one of those rules, or when a robots.txt.liquid customisation (Shopify lets you edit the file through that template) was pasted in from a forum answer nobody fully read. Google’s robots.txt documentation is clear that a disallowed page can neither be crawled nor show its content in results. Read the live file at yourstore.com/robots.txt and check whether the missing page’s path matches any Disallow line. A blocked page also cannot show Google its noindex tag, a trap covered in more depth in the robots.txt disallow post.

Canonicals: the page may be indexed under another URL

Shopify exposes the same product at more than one address. A product lives at /products/handle, but it is also reachable at /collections/collection-name/products/handle from every collection that contains it. Shopify resolves this by pointing the canonical tag of every variant at the /products/ URL. Google then consolidates the duplicates and indexes one address. So if you are checking a collection-scoped product URL and finding it absent, the page may be indexed, just under its canonical form. Check the /products/ URL before concluding anything is wrong. The same applies to variant URLs with query strings. A genuine problem exists only when the canonical URL itself is missing, or when a theme or app has rewritten canonicals to point somewhere they should not.

Hidden products and sales channel visibility

A product in Shopify is only published to the channels you select. If the Online Store channel is unticked, or the product’s status is Draft, the public URL returns a 404 even though the product looks complete in the admin. The same applies to a publish date set in the future. Google cannot index a page that does not resolve, so check Product, Sales channels, and confirm Online Store is active. Themes and apps can also inject a noindex robots meta tag on specific templates; a view-source check for “noindex” takes ten seconds and rules this out, and Google’s noindex documentation confirms that a single tag is sufficient to keep the page out.

Content Google looked at and declined

Once the mechanical causes are cleared, what remains is judgement. Product pages that carry only a manufacturer’s stock description exist on hundreds of other stores, and Google has little reason to index another copy. Thin collection pages with two products and no text give it even less. This is the slow fix: descriptions written for your store, specifics a buyer would ask about, and collection pages that say something. The pattern is not unique to Shopify; the same causes appear on WordPress stores and every other platform, because the judgement is Google’s, not the CMS’s.

After the fix: submit, then verify

Fixing the cause does not index the page. It makes the page eligible. Submitting asks Google to look; it does not oblige Google to keep what it finds. So the last step is verification on a schedule, not a one-time request. Request indexing through Search Console for a handful of URLs, or, for a catalogue’s worth, use a tool built for volume. AIndexify accepts up to 10,000 URLs per submission and then checks each one against live Google results over the following days, reporting submitted and indexed as separate events, so you learn which fixes worked and which pages Google is still declining. Either way, write down the date you fixed each page and check again a week later. A page that is still absent after a clean fix and a fresh crawl usually has a second cause hiding behind the first, and the broader diagnosis order in the full indexing guide is the place to continue.

Fix the password, read the robots.txt, trust the canonical, publish the channel, then improve what Google declined. If you want evidence rather than hope, submit your URLs and see where your Shopify pages actually stand.

Sources