/ โ† Ecommerce Crawl Fixes / Orphan Product Pages
In this guide
  1. What counts as an orphan
  2. How products end up orphaned
  3. The three-list comparison
  4. Near-orphans: products buried too deep
  5. Relink, merge or retire
  6. The fix, step by step
  7. Where orphans hide on each platform
  8. Questions and answers

What counts as an orphan

The strict definition is a page with no internal links pointing to it. In practice a shop has several shades of orphan, and the Ecommerce Crawl surfaces the ones a link-following crawler cannot reach from your home page.

TypeHow it is reachableWhy it is a problem
True orphanOnly by typing the URL, or from outside linksNo shopper route; search engines may not find it at all
Sitemap-only orphanListed in the XML sitemap, not linked anywhereCan be crawled, but sends a weak signal and often ends up not indexed
Feed-only orphanIn the Merchant Center or marketplace feedShoppers from ads land on a page with no route to related products
Script-only linkLinked only through a JavaScript "load more" or an app widget without real <a href> linksLink-following crawlers may never see the link
Search-only productOnly through the site search boxCrawlers do not type into search boxes

A product that is linked, but only from page 40 of a category, is not an orphan in the strict sense. It is a related problem, deep placement, and it is covered below because the same comparison exposes it.

How products end up orphaned

Almost nobody orphans a product on purpose. The usual causes, roughly in order of how often they turn up on small and medium shops:

Knowing the cause matters because the fix differs. A renamed tag needs one rule changing; a theme that hides products behind script needs a template change; a bulk import needs a check in your upload process.

The three-list comparison

No single source tells you which products are orphaned. The reliable method is to compare what exists, what you advertise, and what a crawler can actually reach.

  1. List A, the catalogue: every published product, from your platform export. Build the full product URL for each row from the handle or slug.
  2. List B, what you advertise: every product URL in your XML sitemap, and in your shopping feed if you have one.
  3. List C, what a crawler reaches: every product URL found by following links from the home page, which is what the Ecommerce Crawl gives you.

Paste each list into its own sheet, normalise the URLs (same protocol, same host, no trailing slash differences, no parameters) and use a lookup to mark each URL in list A as present or absent in B and C. In Google Sheets or Excel:

=IF(COUNTIF(Crawl!A:A, A2)>0, "linked", "ORPHAN")
=IF(COUNTIF(Sitemap!A:A, A2)>0, "in sitemap", "not in sitemap")

The combinations tell you what kind of problem each product has:

In catalogueIn sitemapReached by crawlMeaning
YesYesYesHealthy
YesYesNoSitemap-only orphan: the most common case
YesNoNoTrue orphan: nothing points to it
YesNoYesLinked but missing from the sitemap; check why the sitemap excludes it
NoYesEitherSitemap lists a product that is no longer published; clean the sitemap
๐Ÿ’ก Add a column from Search Console showing clicks per URL over the last 12 months. Orphans that still earn clicks, or that have links from other websites, deserve relinking first.

Near-orphans: products buried too deep

While you have the crawl data open, sort the linked products by click depth, the number of clicks from the home page. A product that needs eight clicks through paginated categories is technically linked but gets little attention from crawlers or shoppers. Common reasons are long categories sorted by date, where older products sink to the last pages, and categories with a small number of products per page.

Fixes for deep products overlap with orphan fixes: add them to a second, more specific category, feature them in related-product blocks, raise the number of products per listing page, or split one enormous category into sensible sub-categories. The product internal linking guide goes further into link placement on product pages themselves.

Relink, merge or retire

Not every orphan should be rescued. Treat each one on its merits:

โš ๏ธ Removing an orphan from the sitemap without linking it or retiring it does not fix anything. It just makes the product harder to find while leaving the page live.

The fix, step by step

Step 1

Export the full list of live products

Export every product from your platform admin as a CSV, including its status, handle or slug, and whether it is visible in the online store. Filter to products that are published and visible, then build the full public URL for each row in a new column. Include products with zero stock if they are still published, because out-of-stock products can be orphaned too. This list is your record of what should be reachable.

Step 2

Collect the URLs your sitemap and feeds expose

Open your sitemap index, follow each product sitemap file and copy every product URL into a second sheet. If you run a Google Merchant Center or marketplace feed, export its product links into the same sheet with a note of the source. Normalise every URL so it matches the format in the catalogue list, removing tracking and variant parameters. This list shows which products you are actively telling search engines and shopping platforms about.

Step 3

Crawl the shop from the home page only

Run the Ecommerce Crawl starting from the home page, following links only, so the result reflects the routes a shopper or search engine can actually take. Make sure the crawl is not seeded with your sitemap, otherwise sitemap-only orphans will look linked. Export every product URL it found, along with click depth if available, into a third sheet. Products that load only through a script or a search box will be missing, which is what you want to find.

Step 4

Compare the three lists and label each orphan

Use a lookup formula such as COUNTIF to mark each catalogue URL as found or not found in the crawl and in the sitemap. Filter to products the crawl did not reach. For each one, note the likely cause: no category, a broken automated rule, a hidden collection, or a listing that loads by script. Add Search Console clicks and any known backlinks, so you can see which orphans still bring in visitors.

Step 5

Decide whether each orphan should live or go

Go through the filtered list and give every product one outcome: relink, merge into another product, redirect to a successor, or retire with a 404 or 410. Base the decision on whether it is still sold, whether it duplicates another listing, and whether it has traffic or links worth keeping. Record the decision in the sheet, so anyone repeating the check later can see why a product was removed.

Step 6

Relink the products you are keeping

Assign each kept product to at least one relevant category, and fix automated collection rules that stopped matching after a tag or type was renamed. Where a theme loads listings with a button or infinite scroll, ask your developer to also output numbered page links as normal <a href> elements. For small ranges without a natural home, link them from a relevant category description, buying guide or related-products block rather than a catch-all page.

Step 7

Recrawl and add an orphan check to routine work

Run the Ecommerce Crawl again from the home page and repeat the comparison. The orphan list should now contain only products you deliberately retired and are waiting to drop out. Update the sitemap and feed if your platform does not do this automatically. Then add the three-list comparison to a monthly or quarterly routine, and to the checklist for deleting collections, changing themes and running bulk product imports.

Where orphans hide on each platform

Shopify

Products only appear in listings through collections. A product with no collection is reachable through the sitemap and, depending on the theme, through search, but not through browsing. Automated collections based on tags are the usual source of silent drop-outs. The catch-all /collections/all page can mask the problem, because it links to every product; if your crawl reaches products only through that page, treat them as poorly linked.

WooCommerce

Products left in the default "Uncategorised" category, or in categories that are empty at the top level and hidden from menus, often end up orphaned. Products with catalogue visibility set to "Search results only" or "Hidden" are deliberately left out of shop listings while their pages remain live.

Custom and headless builds

Listing pages rendered only in the browser, with products fetched from an API, are the biggest risk. Check the raw HTML of a category page for product links; if they only exist after scripts run, render the listing on the server or provide paginated links.

Questions and answers

1. If an orphan product is in my sitemap, is that enough for Google?

It is enough for Google to find and crawl the URL, but not enough to treat the page as important. Google uses internal links to understand which pages matter and how they relate to each other. A product that only exists in the sitemap has no category context and no internal links, so it often ends up in the Discovered or Crawled currently not indexed statuses. Shoppers browsing your site will never reach it either, which matters as much as the search side.

2. Why does my crawler find fewer products than my platform says I have?

The gap is usually made of orphans, products loaded only by script, and products hidden from listings but still published. It can also be caused by crawl settings, such as a page limit, a robots.txt rule blocking paginated listings, or a crawl that stopped early. Before assuming every missing product is an orphan, confirm the crawl completed, followed pagination and was allowed to fetch category pages. Then compare the lists to see which products are genuinely unreachable.

3. Does linking from the collections/all page count as fixing an orphan?

Technically the product is then linked, but the link carries little meaning. A catch-all page listing every product in one long paginated sequence gives no context about what the product is, and most products end up many clicks deep. It is better than nothing as a safety net, but each product should also sit in at least one specific, relevant category, and ideally be linked from related products or guides that match what it is.

4. Should I delete orphan products instead of relinking them?

Only if they have no reason to exist. If a product is still sold, relinking it costs little and recovers a sales route. If it is a duplicate, merge it with a redirect. If it is discontinued with no successor, no traffic and no links from other websites, retiring it is reasonable. The mistake to avoid is deleting products that still earn visits or links, which throws away value, or leaving live pages that nobody can reach.

5. Can infinite scroll cause orphan products?

Yes, and it is one of the most common hidden causes after a theme change. If further products load only when the shopper scrolls or presses a button, and there are no ordinary links to numbered pages behind the scenes, crawlers see only the first batch. Every product past that point depends on other routes, such as a second category or the sitemap. The fix is to keep crawlable paginated links alongside the scrolling behaviour, which most modern themes can support.

6. How often should I check for orphan products?

It depends on how often your catalogue changes. A shop that imports products weekly from supplier feeds should check at least monthly. A small shop that adds a few products a season can check quarterly. More important than the schedule is checking after specific events: deleting or merging collections, changing automated collection rules, switching themes, changing listing pagination, and running bulk imports. Those are the moments when orphans are created in batches rather than one at a time.

Find the products your categories have lost

The Ecommerce Crawl maps the URLs on your store, finds faceted navigation explosion and duplicate product URLs, flags out-of-stock products, surfaces orphans and measures how efficiently your crawl is spent.

Open Ecommerce Crawl Fixes โ†’
๐Ÿ’ฌ Got a problem?
Related Guides: All Ecommerce Crawl Fixes  ·  Product Internal Linking  ·  Sitemap Mismatches  ·  Ecommerce Crawl Guide  ·  Learning Hub

About aiwebpageseo

aiwebpageseo.com is a data-driven SEO and AEO (Answer Engine Optimisation) platform providing a free suite of technical SEO tools. Rather than relying on AI-theorised assumptions, the platform analyses live URL performance, delivering objective diagnostics, page speed metrics, CLS debugging, and site crawl data alongside actionable technical tutorials.