If your Shopify pages are not indexed by Google, work the obvious blockers before anything
else. Check that the store isn’t password-protected, that the page isn’t carrying a noindex
tag, that robots.txt isn’t blocking it, and that the canonical tag points to the page itself
and not somewhere else. Only then look at discovery: is the URL in your sitemap, and is it linked
from other pages? The fastest way to see the real reason is Google Search Console’s Page
indexing report and its URL Inspection tool — Google tells you, page by page, why a URL is
excluded. Everything below is that check, in order.
Start with the Page indexing report
Open Google Search Console and go to Indexing → Pages. This report splits your URLs into indexed and not indexed, and — critically — groups the not-indexed ones by reason: “Excluded by ‘noindex’ tag,” “Blocked by robots.txt,” “Alternate page with proper canonical tag,” “Crawled – currently not indexed,” “Discovered – currently not indexed,” “Duplicate without user-selected canonical,” and so on. Each reason points at a different fix, so read it before you change anything.
For a single URL, paste it into the URL Inspection bar at the top. Google shows whether the page is on Google, when it was last crawled, which canonical Google chose, and whether crawling or indexing is blocked. This is your ground truth — not a plugin, not a guess.
Why it matters
An unindexed page isn’t “ranking low” — it’s invisible. It earns zero organic traffic, appears in no search result, and passes no value to the rest of your store. For a Shopify store that usually means product and collection pages you’re paying to create and merchandise are simply absent from Google. Fixing indexing is upstream of every other SEO effort: there’s no point optimizing a title tag on a page Google refuses to include.
The checklist, in order
Run these top to bottom. Earlier items block later ones — a password-locked store makes everything else moot.
1. Store password / protection
A brand-new or in-development Shopify store often still has the storefront password enabled (Online Store → Preferences). While it’s on, Google can’t crawl the storefront at all, so nothing gets indexed. Also confirm the store isn’t otherwise unavailable to bots.
2. noindex meta tag or robots block
A noindex meta tag tells Google to keep a page out of the index even if it can crawl it. Shopify
itself adds noindex to some system pages, and that’s normal — but theme code, an SEO app, or a
manual setting can noindex pages you actually want indexed. Separately, a robots.txt rule can
block crawling entirely (a blocked page can’t even read its own noindex tag).
3. Canonical pointing elsewhere
A canonical tag tells Google which URL is the “real” one. If page A’s canonical points to page B, Google may index B and drop A — reported as “Alternate page with proper canonical tag.” Shopify legitimately uses canonicals for variant and filtered/collection URLs, but a misconfigured theme or app can canonicalize important pages away.
4. Thin or duplicate content
Google may crawl a page and choose not to index it — “Crawled – currently not indexed” or “Duplicate without user-selected canonical.” This is common on near-empty product descriptions, boilerplate collection text, or many pages that read almost identically. Google isn’t broken; it’s declining to index low-value or duplicate content.
5. Not in the sitemap
Shopify auto-generates /sitemap.xml. If a URL is missing from it (or the whole sitemap was never
submitted), Google has one less way to discover it. The sitemap is a discovery aid, not an indexing
command — but a submitted, clean sitemap helps.
6. Not internally linked (orphan pages)
A page that nothing links to is an orphan — Google may never find it through normal crawling. This hits pages reachable only by direct URL, or products dropped from every collection and menu.
7. Recently published, not yet crawled
Sometimes the answer is boring: the page is fine and Google just hasn’t crawled it yet (“Discovered – currently not indexed”). New pages can take days to weeks. You can request indexing, but you can’t force it.
How to check each
| Cause | How to check | How to fix |
|---|---|---|
| Store password on | Online Store → Preferences; URL Inspection shows unreachable | Disable the storefront password once you’re live |
noindex tag | View source (Ctrl+U), search noindex; Page indexing “Excluded by noindex” | Remove the tag from theme/app/settings for pages you want indexed |
| robots.txt block | Open yourstore.com/robots.txt; “Blocked by robots.txt” in the report | Adjust robots.txt.liquid so the URL/path isn’t disallowed |
| Canonical elsewhere | URL Inspection → “Google-selected canonical”; view source rel="canonical" | Point the canonical at the page itself where it’s the primary URL |
| Thin / duplicate | Compare content across pages; “Crawled/Duplicate – not indexed” | Add unique, substantive content; consolidate near-duplicates |
| Missing from sitemap | Open /sitemap.xml and its child sitemaps | Ensure the page is published/visible so Shopify includes it; resubmit |
| Orphan page | Crawl the site or check menus/collections for inbound links | Link to it from relevant collections, menus, and related pages |
| Not yet crawled | URL Inspection → “Discovered/Crawled – currently not indexed” | Request indexing; strengthen internal links; wait |
How to fix each
Most fixes are direct once the report names the cause. Turn off the password the moment you go
live. Remove stray noindex tags — check the theme’s theme.liquid head, any SEO app, and the
page/product’s own settings. Unblock robots.txt by editing robots.txt.liquid so you’re not
disallowing paths you want crawled. Correct canonicals so a page you want indexed is its own
canonical. For thin or duplicate pages, the fix is editorial: write genuinely useful,
differentiated content, and merge pages that overlap. For discovery, make sure the page is
published (so it enters the sitemap) and link to it internally from collections, navigation,
and related products so crawlers reach it naturally.
If the block is in theme or app code — a hard-coded noindex, a bad canonical, an aggressive robots rule — that’s a technical fix, and our Shopify development work is exactly this kind of surgery.
How to request indexing (and its limits)
For priority pages, use URL Inspection → Request Indexing. This asks Google to crawl the URL sooner. Submitting your sitemap under Indexing → Sitemaps does the same at scale. Both speed up discovery — neither guarantees the page gets indexed. Google still decides based on quality, duplication, and crawl budget. Don’t mass-request thousands of URLs expecting them all to appear; fix the underlying cause first, then request the important ones.
Common mistakes
- Assuming “not ranking” and “not indexed” are the same problem — check indexing first.
- Reading a plugin’s SEO score instead of Search Console’s actual reason.
- Requesting indexing repeatedly on a page that’s noindexed or canonicalized away — the block wins.
- Panicking over Shopify’s normal noindex on cart/policy/internal-search pages.
- Ignoring “Crawled – currently not indexed,” which is usually a content quality signal, not a bug.
When to get help
If the indexing report shows a pattern — whole collections excluded, canonicals pointing to the wrong URLs, or a robots/noindex block you can’t trace to a setting — the cause is likely in theme or app code. If pages used to be indexed and vanished, start with Shopify products disappeared from Google; if the drop followed a replatform or domain change, see Shopify traffic dropped after migration. For the broader hygiene pass, work through the Shopify SEO checklist. When you’d rather have someone diagnose it end to end, that’s what our free profit audit is for.
Pages missing from Google? Send us your store URL — we’ll check indexing, canonicals, crawlability and your sitemap, and tell you exactly why pages aren’t indexed and what to fix. Get a free profit audit.