Site Architecture
February 18, 2026
20 min read

Ecommerce Internal Linking: The Exact System to Fix Orphan Pages and Move PageRank

Most ecommerce stores have an orphan page problem they do not know about. Across 50+ ecommerce audits I have conducted, 30-60% of product pages have fewer than 3 internal links pointing to them. Google treats these pages as low-importance and either crawls them slowly or stops crawling them entirely. The result is product pages that rank at position 15-20 when they should rank at position 3-5, not because the content is bad, but because the store has not told Google these pages matter. This guide covers the exact audit process and link injection strategy to fix it.

Aditya Aman
Aditya Aman
Founder & Ecommerce SEO Consultant

Why Internal Linking is Your Highest-Impact Technical SEO Fix

Internal linking is the most impactful technical SEO change you can make without touching a single line of code on your product pages. No new content required. No backlinks required.

What it does require is understanding how PageRank flows and systematically directing it toward your most commercially important pages. And because internal links are part of your URL structure and site architecture, getting them right compounds every other SEO effort you make.

I ran a Screaming Frog audit on a WooCommerce store in the home decor space. They had 1,847 product pages. Of those, 892 had zero internal links from anywhere on the site other than the XML sitemap. Google was discovering these products only through the sitemap and crawling them once every 6-8 weeks.

After building a systematic internal linking structure across categories and cross-sell sections, Google's crawl frequency for those pages jumped to once every 3-5 days. Indexed product count in Google Search Console went from 743 to 1,621 within 90 days. Organic sessions from product pages grew 147% over the following 6 months.

What internal links do that backlinks cannot

Backlinks transfer authority from external domains. Internal links distribute the authority you already have across your own pages. For most ecommerce stores, the homepage and a handful of top category pages have accumulated significant PageRank over time through external backlinks and brand searches. Internal links are the mechanism that moves that accumulated authority down to your product pages. Without deliberate internal linking, all that authority sits concentrated at the top of your site while your product pages — where transactions happen — are operating on a fraction of the authority available to them.

How PageRank Flows Through Your Store

PageRank is still a core signal in Google's ranking algorithm, even though Google stopped publishing PageRank scores publicly in 2016. Every page on your site has an internal PageRank value. Your homepage has the most.

Category pages receive PageRank from the homepage via navigation links. Product pages receive PageRank from category pages via product listings. Blog posts receive PageRank based on how many internal links point to them.

The dilution problem

PageRank distributes equally across all outbound links on a page. A category page with 100 product links passes a small slice of its PageRank to each product. A category page with 24 product links passes a larger slice to each one. This is why over-categorizing products (putting every product in every applicable category) is a mistake. You spread PageRank thin instead of concentrating it on your best pages.

The corollary: pages with 10+ inbound internal links accumulate more PageRank. If you have a hero product driving 30% of your revenue, that product should have 20-30 internal links pointing to it from across the site: category pages, subcategory pages, cross-sell sections on related products, blog posts, buying guides, and your homepage if appropriate. Do not treat all product pages equally. Concentrate link equity on your highest-value pages.

Crawl budget and internal linking

For large ecommerce stores with 10,000+ pages, crawl budget is a real constraint. Google allocates a crawl budget to each site based on authority and server performance, and wasting it on low-value URLs means your important product pages get crawled less often (see our crawl budget optimization guide for large catalogs). Pages with 10+ internal links get crawled more frequently because they appear in more crawl paths.

An orphan page that only appears in your sitemap gets crawled when Google decides to check the sitemap. A product page linked from the category page, three related product pages, and two blog posts gets discovered through multiple crawl paths and refreshed far more often. For a store in a competitive category where prices and availability change frequently, crawl frequency directly impacts whether Google shows your current data in search results.

The Orphan Page Problem: How to Find It and How Bad It Is

An orphan page is any page on your site that has zero internal links pointing to it. It exists in your sitemap but Google has no crawl path to reach it through normal link traversal. On ecommerce stores, orphan pages accumulate through predictable patterns: products removed from collections but not redirected, seasonal campaign pages left live after the campaign ends, product variants with their own URLs that were never linked from the main product page, and blog posts written and published without being linked from category pages or other posts.

Near-orphan pages are just as damaging

Near-orphan pages — pages with only 1-2 internal links pointing to them — are often a bigger problem than true orphans because they are invisible in standard audits. A product page linked only from its XML sitemap and one collection page receives minimal PageRank and minimal crawl attention. Treat any product page with fewer than 5 inbound internal links as a near-orphan requiring intervention.

The business impact: a real example

A fashion accessories store I audited had 2,340 product pages. Screaming Frog crawl results:

Inbound Internal LinksNumber of Products% of CatalogAvg Crawl Depth
0 (orphan)48720.8%Never crawled
1-2 (near-orphan)89138.1%Depth 6-8
3-563427.1%Depth 4-5
6+ (well-linked)32814%Depth 2-3

Nearly 60% of their catalog was orphaned or near-orphaned. The 328 well-linked products were generating 74% of their organic product page revenue. The remaining 2,012 products with weak internal linking were collectively responsible for only 26% of organic revenue despite representing 86% of the catalog.

Ecommerce internal linking works through a hierarchy. PageRank flows from your homepage down through categories, subcategories, and into individual product pages. Every level of the hierarchy should link to the levels below it, and lower levels should link back up to establish topical context.

Tier 1: Homepage to category

Your homepage navigation should link to all primary category pages. This is the first PageRank distribution event. Most stores get this right: the main navigation is typically a list of category links. The mistake happens in footer navigation: 6 out of 10 stores include 20-40 links in the footer, dramatically diluting the PageRank passed through each one. Limit footer links to your 8-12 most important destinations.

Tier 2: Category to subcategory and products

Category pages are the backbone of ecommerce internal linking. Each category page should link to: all relevant subcategory pages, all products within that category (or the first page of paginated products), and related categories via "You might also like" or "Shop related" sections. The category-to-product links are critical because this is often the primary internal link a product page receives. If a product is accidentally uncategorized or if a category page uses JavaScript rendering for its product grid, those links may not pass PageRank to the product pages.

Tier 3: Product to related products and back up

Individual product pages should link back up to their parent categories via breadcrumbs, out to related products horizontally, and down to nothing (products are leaves in the hierarchy). The horizontal linking between products (related products, frequently bought together, you might also like) creates a mesh of connections within a category that strengthens the entire category's topical cluster.

Breadcrumbs are the most underrated internal linking element in ecommerce. Every product page with breadcrumb navigation contains structured links from the product back up through subcategory to category to homepage. On a store with 5,000 products, breadcrumbs create 15,000+ internal links (assuming a 3-level hierarchy per product) without any manual work.

When marked up with BreadcrumbList schema, they also appear in Google search results as a navigational path, improving click-through rates and giving Google explicit information about your site hierarchy. Our dedicated BreadcrumbList schema guide walks through the exact JSON-LD implementation, common validation errors, and how to handle products that appear in multiple categories. For the broader schema walkthrough covering Product and FAQ schema, see our ecommerce schema markup guide.

Breadcrumb implementation requirements

Three requirements for breadcrumbs to work as an internal linking strategy:

  • Render in HTML, not JavaScript: Breadcrumbs must be present in the server-rendered HTML. If they only appear after client-side hydration, Googlebot may not count them as internal links during its first crawl pass.
  • Use descriptive anchor text: "Home > Women's Clothing > Kurtas" is correct. "Home > Level 2 > Level 3" is useless. Each breadcrumb link should use the category name as anchor text.
  • Match BreadcrumbList schema to visible breadcrumbs: The structured data must match what is rendered on the page. Mismatches trigger Google Search Console errors.

BreadcrumbList schema implementation

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://yourstore.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Women's Clothing",
      "item": "https://yourstore.com/collections/womens-clothing"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Kurtas",
      "item": "https://yourstore.com/collections/kurtas"
    },
    {
      "@type": "ListItem",
      "position": 4,
      "name": "Indigo Block Print Cotton Kurta",
      "item": "https://yourstore.com/products/indigo-block-print-cotton-kurta"
    }
  ]
}

Shopify generates breadcrumbs automatically if your theme supports them. WooCommerce needs the Yoast SEO plugin or custom code to generate BreadcrumbList schema. In Next.js, generate it dynamically from your product's category path data and inject it as JSON-LD.

Related product sections and cross-sell blocks are the mechanism that creates horizontal link mesh within your store. When Product A links to Products B, C, and D, and those products link back to Product A and to each other, you create a cluster of pages that Google treats as topically related, which strengthens the ranking ability of every page in the cluster.

What "related" actually means for SEO

Related products need to be genuinely related to pass topical relevance. "Related" in an SEO context means: same category, same use case, same material or style, or complementary items (shoes and shoe care products, camera and camera bag). Random cross-sells based on purchase frequency without category relevance (e.g., "people who bought this yoga mat also bought this laptop stand") pass PageRank but dilute topical relevance. The strongest cross-sell links are same-category alternatives at a different price point, or genuinely complementary items with high contextual relevance.

The gotcha: JavaScript-rendered related products

This is where I see the most money left on the table. Platforms like Shopify, BigCommerce, and WooCommerce use JavaScript carousels for related products, loaded asynchronously after the main page content. Shopify's default theme does this. The product images and names appear to users, but Googlebot often does not execute the JavaScript or executes it in a second crawl pass.

The result: your related product links are not passing PageRank. Check this with Google's URL Inspection tool. Use "View Crawled Page" and look at the rendered HTML. If the related products section is absent, Google is not seeing those links.

The fix is server-side rendering for related product sections. In Shopify, use the Liquid {% for product in collection.products limit: 4 %} loop to render related products in HTML on the server. In Next.js, fetch related products as a Server Component or in a server-side data layer. The performance overhead is minimal, and the internal linking impact is significant.

Content Hub to Product Page Linking

Your blog posts and buying guides carry significant PageRank if they have any external backlinks or have been live long enough to accumulate crawl authority. If you do not yet have a systematic content engine generating those posts, our ecommerce content marketing guide covers how to build one. Linking from those posts to relevant product pages is one of the highest-impact internal link injections you can make. A well-established blog post with 15 external backlinks pointing to it is sitting on accumulated PageRank that is doing nothing if it does not link out to your product pages.

The content-to-product mapping exercise

Run through this exercise for your top 20 blog posts and buying guides. For each post, identify: which 3-5 products are most relevant to the post's topic, what anchor text naturally fits the context, and whether those products currently have fewer than 8 internal links pointing to them (the ones with the most to gain from a new link). Then inject contextual links into the post body where they genuinely add value for the reader.

A skincare store ran this exercise across their 34 blog posts. Total new internal links added: 112. Products with zero internal links from content: 8 products had links added.

Within 60 days, 6 of those 8 products had moved from not ranking to appearing in positions 12-18 for their target keywords. At Rs. 1,800 AOV and the incremental organic sessions generated, the exercise added roughly Rs. 45,000/month in revenue from products that were previously invisible to Google.

The hub-and-spoke content model for ecommerce

Build content clusters where a "hub" post covers a topic broadly (e.g., "Complete Guide to Choosing Running Shoes") and links to "spoke" posts that go deep on subtopics (e.g., "Running Shoes for Flat Feet", "Best Trail Running Shoes Under Rs. 5,000"). Each spoke post links back to the hub and links to relevant product pages. The hub post links to the most relevant products. This creates a dense internal link structure where your most important product pages receive links from multiple content pages, all with topically relevant anchor text.

The Screaming Frog Audit Process: Step by Step

Here is the exact process I use when auditing internal linking for a new ecommerce client. This takes 2-4 hours for a site under 5,000 pages and produces a clear prioritized action list.

Step 1: Crawl the site with your XML sitemap

In Screaming Frog, go to Configuration > Spider > Crawl and check "Crawl XML Sitemaps." Add your sitemap URL. Also set Configuration > Spider > Limits and remove any page limit (you want a complete crawl). Start the crawl. For large sites, schedule this overnight. A 10,000-page crawl takes 2-4 hours depending on server speed.

Step 2: Find orphan pages

After the crawl completes, go to Bulk Export > Sitemaps > Orphan URLs (In Sitemaps Not Crawled). This exports every URL in your sitemap that Screaming Frog did not discover through crawling — these are your true orphan pages. Also filter the Inlinks column in the main view to show pages with 0, 1, or 2 inlinks — these are your near-orphans.

Step 3: Identify crawl depth problems

Sort the Crawl Depth column. Any product page at depth 5 or deeper is a problem. Any product page at depth 7+ is almost certainly not being crawled regularly. Export these as a separate list. Cross-reference with your revenue data to identify if any high-revenue products are buried deep.

Step 4: Analyze anchor text distribution

Click on any product URL in Screaming Frog and select "Inlinks" in the bottom panel. This shows every page linking to the selected product and the anchor text used. If your product for "handmade silver earrings" is only receiving links with anchor text "view product" or "product image," those links are not sending the right topical signal. Note which products have weak anchor text on their inbound links.

Step 5: Export and prioritize

Export the full crawl as a CSV. Match URL data with your revenue data from your analytics platform. Create a priority matrix:

PriorityCriteriaAction
P1High revenue product + fewer than 3 inlinksFix immediately: add category, cross-sell, and content links
P2Medium revenue product + crawl depth 5+Add to category page and 2-3 related product sections
P3True orphan with good content/keyword potentialAdd to relevant category + inject link from one blog post
P4Low-revenue orphan productsBatch process: add to category collections

Once you have your priority list, the link injection strategy determines where to add links for maximum impact with minimum effort. There are five injection points, roughly ordered by impact per unit of effort:

1. Category page — add product to collection (highest impact)

If an orphaned product is not appearing in its correct category, adding it to the category collection is the single highest-impact fix. On Shopify, this is as simple as adding the product to the collection in the admin. On WooCommerce, assign the product to its parent category. On headless builds, update the product's category association in your CMS. One change, one implementation, immediately adds the product to the category page's product grid, giving it a direct link from a page that Google crawls frequently.

2. Related products sections on sibling products

Find 3-5 other products in the same category that are well-linked and frequently crawled. Add the orphaned product to their "Related Products" section. If those sections are JavaScript-rendered (check with Screaming Frog's JavaScript rendering comparison), server-side render them first. Each addition creates a mutual link exchange that strengthens the entire product cluster.

3. Blog post contextual links

Identify 1-2 existing blog posts where the orphaned product fits naturally. Add a contextual link with descriptive anchor text. This is particularly effective for products in niche categories where a blog post provides the topical context that helps Google understand what the product is and who it is for.

4. Homepage or bestseller section

For your top-priority products, a link from the homepage is extremely powerful. The homepage typically has the most accumulated PageRank. Adding a "Featured Products" or "Staff Picks" section that rotates your highest-value products makes sure they receive a direct homepage link periodically.

5. Sitewide navigation or mega menu

For your highest-revenue categories, consider adding direct product links within mega menus. This creates sitewide internal links from every page on the site — the most powerful internal link signal possible. Reserve this for truly flagship products, not your full catalog. A sitewide footer or navigation link to a product passes PageRank from every single page on your site.

Internal Linking Checklist for Ecommerce

Ecommerce Internal Linking Checklist

Architecture Basics
☐ All product pages reachable within 3-4 clicks from homepage
☐ No product pages at crawl depth 7 or greater
☐ All product pages in at least one collection/category
☐ Homepage links to all primary category pages
☐ Footer limited to 8-12 high-priority links (not diluted with 40+ links)
Orphan Page Resolution
☐ Zero true orphan pages (all pages discoverable through crawling)
☐ All high-revenue products have 5+ inbound internal links
☐ Near-orphan products (1-2 inlinks) identified and queued for link injection
☐ Screaming Frog audit run and orphan pages exported
Breadcrumbs
☐ Breadcrumb navigation on all product and category pages
☐ Breadcrumbs rendered in server-side HTML (not JavaScript-only)
☐ BreadcrumbList schema implemented and validated in Search Console
☐ Breadcrumb anchor text uses actual category/subcategory names
Related Products and Cross-Sells
☐ Related products section on every product page (4-6 products minimum)
☐ Related products are genuinely topically related (same category or complementary)
☐ Related product sections rendered in server-side HTML
☐ Cross-sell links use product name as anchor text (not "view product")
Content Linking
☐ Top 20 blog posts audited for product linking opportunities
☐ Each top-10 revenue product linked from at least one blog post
☐ Content hub posts link to spoke posts and vice versa
☐ No blog post is an orphan (all linked from at least 2 other pages)
Technical Quality
☐ All internal links use standard HTML anchor tags (no JS-only links for key links)
☐ No internal links pointing to redirected URLs (check with Screaming Frog)
☐ No internal links pointing to 404 pages
☐ Anchor text is descriptive for all category and product links
☐ Internal link audit scheduled quarterly in calendar

FAQ

Ecommerce Internal Linking FAQ

A product page should have a minimum of 5-8 internal links pointing to it: at least one from its parent category page, one from any relevant subcategory page, one from breadcrumb navigation, 2-3 from related product sections on sibling products, and ideally one from a relevant blog post or buying guide. Pages with fewer than 3 inbound internal links are at high risk of being treated as low-importance by Google. Your top-revenue products should have 15-25 internal links pointing to them from across the site.
Google's John Mueller has confirmed that Googlebot can technically crawl pages at any depth, but industry data shows pages beyond 3 clicks from the homepage are crawled 3-5x less frequently in practice. For large ecommerce stores, keep all product pages within 4 clicks of the homepage and all high-priority products within 3 clicks. Use Screaming Frog's crawl depth report to identify pages buried at depth 5 or deeper - those pages are being discovered and indexed at a fraction of the rate of shallow pages.
Yes, anchor text is one of the strongest signals internal links send. Descriptive anchor text like "women's waterproof running shoes" tells Google exactly what the linked page is about and helps establish topical relevance. Generic anchor text like "click here" or "view product" wastes the link equity and provides no topical signal. For product links, use the product name as anchor text. For category links from blog posts, use the target keyword naturally in the sentence. Never force anchor text - it should read naturally to humans while being specific enough to inform Google.
Do not remove internal links to temporarily out-of-stock products. Removing links signals to Google that the page is less important, which hurts its ranking ability when the product comes back in stock. Keep the product page live, mark it as OutOfStock in Product schema, and maintain all internal links. For permanently discontinued products, set up a 301 redirect to the most relevant active product or parent category, then update the internal links pointing to the old URL to point to the redirect destination instead.
Always use standard HTML anchor tags for any links you want Google to follow and count as internal links. JavaScript-rendered links - links that only appear after JS execution, including those inside React components that are not server-side rendered - may not be discovered by Googlebot in its first crawl pass. Related product carousels, recommendation widgets, and dynamic cross-sell sections built purely in JavaScript are often invisible to Google. Server-side render all navigation links, breadcrumbs, related products, and category links. If your stack makes this difficult, at minimum include a static HTML fallback for the most important internal links.
Run a full internal link audit quarterly using Screaming Frog or Sitebulb. Monthly, check Google Search Console's Coverage report for any newly excluded or erroring pages - these are often orphan pages that lost their only internal link when a product was removed from a collection. After any major site restructuring (new category additions, URL changes, navigation updates), run an immediate audit. The most damaging internal link problems are quiet ones that accumulate slowly: a product removed from a category page, a seasonal collection deactivated, a navigation menu item renamed - each one potentially orphaning dozens of product pages.
Screaming Frog SEO Spider is the industry standard for internal link audits. The paid version ($279/year) is essential for stores with more than 500 URLs - it exports inlink counts, crawl depth reports, and orphan page detection when combined with sitemap comparison. Sitebulb is a good alternative with better visualizations for presenting to stakeholders. For ongoing monitoring, Ahrefs Site Audit and Semrush Site Audit both track internal link health. For very large catalogs (50,000+ pages), a custom Python script using Scrapy or the requests library gives you more control over the crawl and data processing.

Internal linking is the architectural work of SEO. It is less visible than content and less exciting than backlinks, but it is what determines whether the pages you have worked to build actually get crawled, indexed, and ranked. The stores I see consistently outperforming their domain authority in organic search are the ones that have a systematic approach to internal linking: every new product is immediately added to its category, linked from 3 related products, and referenced in at least one piece of content.

Start with the audit. Run Screaming Frog, export your orphan and near-orphan pages, cross-reference with your revenue data, and fix the P1 products first. That single exercise, done in one afternoon, will identify more organic revenue opportunity than most stores see from a year of content marketing. The fix is not glamorous, but the results are.

Find out how many of your products Google is ignoring right now.

Get a free internal link audit that identifies every orphan page, near-orphan product, and crawl depth problem on your store — with a prioritized fix list ranked by revenue impact.

Aditya went above and beyond to understand our business needs and delivered SEO strategies that actually moved the needle.
Wendy Chan
Co-Founder & CEO, PackMojo

Related Articles

Learn how to optimize ecommerce category pages for search engines. Covers category page architecture, content strategy, faceted navigation, pagination, breadcrumbs, and schema markup.

Your URL structure is your site architecture made visible. Get it wrong and Google struggles to understand what your store sells and which pages matter.

Ecommerce Internal Linking: The Exact System to Fix Orphan Pages and Move PageRank | EcommerceSEO