SkuWatch AI Visibility Agent Scan your store or site

Crawler discovery

How to Check Shopify Sitemap Completeness

Core answer

Inspect Shopify sitemap indexes, count product URLs, verify priority products, and distinguish legitimate market alternates from missing or duplicate products.

By skuwatch editor

Difficulty
Intermediate
Time
40 minutes
Risk
Read-only
Last tested
July 27, 2026
SkuWatch AI Visibility loopFix

What this check tells you

A sitemap confirms which canonical public URLs the storefront publishes for discovery. It does not guarantee crawling, indexing, or an AI citation.

Three-store public check

Observed July 27, 2026:

Store Sitemap-index children Product sitemap files Product URLs counted Target found
The Woobles 13 3 1,553 yes
Rhode 101 25 2,675 yes
HexClad UK 5 1 98 yes

The Woobles and Rhode targets appeared under multiple market paths. For example, the Pierre kit appeared at base, en-gb, and en-ca URLs. That is not automatically duplicate inventory; it can represent international storefront alternatives.

Step 1: fetch the index

curl -sS -D sitemap-headers.txt \
  https://example.com/sitemap.xml \
  -o sitemap.xml

sed -n '1,40p' sitemap-headers.txt
rg -n '<loc>' sitemap.xml

Expected result: 200 and XML content. A challenge page saved as sitemap.xml is not a sitemap.

Step 2: extract child maps

rg -o '<loc>[^<]+' sitemap.xml | sed 's#<loc>##' > sitemap-children.txt
cat sitemap-children.txt

Shopify typically separates products, collections, pages, and blogs. Large or international catalogs can have several maps per type.

Step 3: verify a priority product

product_path='/products/example-product'

while read -r map; do
  curl -sSL "$map"
done < sitemap-children.txt | rg -F "$product_path"

Use the canonical product path, not a collection-scoped URL.

Step 4: compare a product set

Export or maintain a list of priority public product handles. For each one record:

Field Value
expected product URL canonical URL from storefront
found in sitemap yes/no
sitemap market URL complete URL
public status final HTTP status
page canonical canonical from HTML
indexability meta robots and platform inspection

Do not compare the sitemap count directly with Shopify Admin’s total product count. Draft, archived, unpublished, market-restricted, or unavailable-channel products may be intentionally absent.

Step 5: classify market URLs

A base URL plus en-ca and en-gb versions should be checked for:

  • correct language and market content
  • coherent currency and availability
  • canonical and hreflang strategy
  • no redirect to an unrelated market

The presence of three URLs is not three separate products for competitor analysis.

Missing-product diagnosis

Check:

  1. product status and Online Store publication
  2. market availability
  3. canonical URL and handle
  4. password protection
  5. product page final status
  6. whether the sitemap has refreshed after publication

Shopify generates hosted sitemap files. Do not install an app merely to upload a competing root sitemap unless the architecture has a documented requirement.

Common failures

  • root sitemap returns HTML challenge
  • product map URL redirects repeatedly
  • target product is published but absent after a reasonable refresh period
  • sitemap contains an old handle that redirects to homepage
  • market URL exposes wrong currency
  • crawler can fetch sitemap but product page is blocked by WAF

Acceptance criteria

  • root index and child maps return valid XML
  • priority canonical products are present where expected
  • old handles resolve directly to replacements
  • market alternates are intentional and coherent
  • sitemap URLs return usable public pages
  • missing URLs have a catalog or routing explanation

Community discussion

Add to the article

Ask a technical question, share a storefront result, or challenge a conclusion with evidence.

Comments are public. Do not post customer data, credentials, private store information, promotional spam, or unsupported accusations. Comments may be moderated.