Why Your Shopify Product Pages Aren't Indexed by Google
Google Search Console says your Shopify product pages are 'Discovered, not indexed.' Here are the five most common causes and how to fix each one.
You open Google Search Console expecting to celebrate, and instead you see it: forty product pages flagged "Discovered – currently not indexed" or "Crawled – currently not indexed." Your store is live, your products are real, but Google has decided most of them aren't worth keeping in the index. The frustrating part is that nothing in Shopify's admin tells you why.
In most cases the cause isn't Shopify. It's a handful of repeatable misconfigurations that creep in during theme installs, migrations, or app installs — and once you know what to look for, each fix is usually fifteen minutes.
The five reasons Google skips your product pages
1. Canonical tags pointing somewhere else
Every Shopify product page has a canonical tag in the <head> that tells Google which URL is the "real" one. Shopify generates these automatically, but theme customizations and SEO apps frequently overwrite them. The classic failure is a product accessible at both /products/my-product and /collections/summer/products/my-product, with the canonical pointing to the wrong one.
Open a product page, view source, and search for <link rel="canonical". The URL inside should be the clean /products/my-product form:
<!-- Correct -->
<link rel="canonical" href="https://yourstore.com/products/leather-wallet">
<!-- Broken: signals consolidate to the collection scope -->
<link rel="canonical" href="https://yourstore.com/collections/sale/products/leather-wallet">
If your canonical points to a collection-scoped URL or to your homepage, that's why Google is consolidating signals away from your product page.
2. A noindex meta tag where it shouldn't be
Some Shopify themes ship with conditional noindex logic — for example, noindexing products with zero inventory, products tagged "draft," or collections with fewer than three items. If you've been moving tags around or working through a sale season, a chunk of your catalog can quietly drop out of the index without warning.
Look in <head> for <meta name="robots" content="noindex">. If it's there on a page you want indexed, find the conditional in theme.liquid or your SEO app and fix it.
3. Thin product descriptions
Google's quality signals tend to discount product pages with very thin unique copy — usually a few sentences of supplier-provided text reused across many products. A dropshipped catalog where every description is the same supplier-provided two sentences gets crawled and skipped systematically.
This is the slowest fix, but the highest-leverage one. Replace generic supplier copy with specifics: dimensions, materials, use cases, what's in the box, what it's not for.
4. robots.txt blocking the wrong paths
Shopify's default robots.txt is sane — it blocks /cart, /checkout, /orders, and a few internal paths. If you've manually edited robots.txt.liquid and accidentally disallowed /collections/ or /products/, an entire branch of your store becomes invisible.
A typical Shopify default looks like:
User-agent: *
Disallow: /admin
Disallow: /cart
Disallow: /orders
Disallow: /checkout
Disallow: /*?*oseid=*
Sitemap: https://yourstore.com/sitemap.xml
Visit yourstore.com/robots.txt and confirm only truly internal paths are disallowed. The Shopify documentation on robots.txt lists what's blocked by default and how to edit safely.
5. Sitemap drift after a migration
If you've changed themes, edited product URLs, or moved from another platform to Shopify, your sitemap may still reference URLs that no longer exist — or fail to include new ones. Google reads sitemap.xml on a schedule, but a sitemap riddled with 404s erodes trust in the rest of it.
Visit yourstore.com/sitemap.xml and spot-check ten URLs. Any 404s mean the sitemap needs regeneration, or there's an app misbehaving.
Finding the affected pages in Search Console
Open Search Console, choose your property, and navigate to Indexing → Pages. Scroll to the "Why pages aren't indexed" section. The two statuses to focus on:
- Discovered – currently not indexed: Google knows about the URL but hasn't crawled it. Usually signals low priority in Google's queue, which is downstream of the issues above.
- Crawled – currently not indexed: Google fetched the page and decided not to keep it. The harsher signal — almost always content quality or canonical/duplicate concerns.
Click into either status to see the full list. Export to CSV; that's your worklist.
The schema.org/Product question
Product pages without Product structured data compete with one hand tied behind their back. Google de-prioritizes them in shopping-intent results and they're ineligible for rich results (price, availability, ratings in the SERP).
A minimum-viable Product schema looks like this:
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Hand-Stitched Leather Wallet",
"image": "https://yourstore.com/cdn/shop/products/wallet-front.jpg",
"offers": {
"@type": "Offer",
"price": "59.00",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock"
}
}
</script>
This goes in <head>. Many Shopify themes include Product schema by default, but app conflicts and theme upgrades can break it. We cover Product schema in depth in Product Schema Markup: The Minimum for Google Rich Results.
A 60-second self-check
If you'd rather not inspect every product page manually, an automated audit surfaces most of these in one pass. EshopAuditor walks your sitemap, runs Lighthouse against representative pages, and reports:
- Which pages carry a noindex tag
- Where canonicals are pointing
- Which Product schemas are missing or malformed
- Page-level thin-content warnings
- Sitemap URLs returning non-200 responses
The SEO section of the audit groups these by severity, so you can attack the highest-impact issues first.
Is your problem content or technical?
A useful split: if your product descriptions are dense, category-appropriate, and well-written, but pages still won't index, the cause is almost always technical (canonical, robots, schema, sitemap). Fix those, request reindexing in Search Console, and watch the curve over the next two weeks.
If your descriptions are two-sentence supplier copy, no technical fix will save you. Google will still crawl, still skip. Content has to come first.
Triage in three minutes: pick three of your unindexed pages. View source. Check the canonical and robots tags. If both look correct, your problem is content. If either is wrong, your problem is technical.
Run a free audit of your store at eshopaudit.io — no signup required for the first scan.