Skip to content
TurboIndex

Orphan Pages: How to Find and Fix Them

Orphan pages have no internal links, so Google struggles to find and value them. Learn how to detect orphans with sitemaps, crawls, logs and Search Console.

August 27, 20267 min read

An orphan page is a page on your site that no other page links to. Google discovers most URLs by following links, so an orphan is either never found ("URL is unknown to Google") or found through the sitemap and then ignored because nothing suggests it matters. The fix is simple: link to it from relevant, indexed pages, or decide it should not exist and remove it.

Finding orphans is the harder half, because a normal site crawl follows links and therefore cannot see them by definition.

Why orphan pages struggle to get indexed

Google's documentation describes link following as the main way it discovers new pages. Take the links away and three things happen:

  • No discovery path. Unless the URL is in a sitemap or linked from another site, Googlebot has no way to learn it exists.
  • No priority. Google decides what to crawl from a long list of known URLs. Internal links are a strong hint about which ones you care about. A sitemap-only URL has the weakest possible case.
  • No context. Anchor text and the linking page's topic help Google understand a page. An orphan arrives with none of that.

So even when an orphan does get crawled, it is a common candidate for "Crawled - currently not indexed". More on that state in crawled, currently not indexed.

How pages become orphans

Almost nobody creates an orphan on purpose. They appear as side effects:

Cause Typical example
Redesign or new theme The old sidebar listed all categories, the new one does not
Pagination or "load more" built with JavaScript buttons Products beyond the first screen have no crawlable link
Expired listings Product removed from its category and the URL still returns 200
CMS quirks Pages published and never added to a menu, tag archives disabled
Site migration Old URLs redirected, internal links not updated, some pages dropped from navigation
Campaign pages Landing pages built for ads or email and left live for years
Programmatic pages Thousands of generated pages with no hub or index page linking to them
Faceted navigation cleanup Filters blocked or removed, and items reachable only through those filters lose their path

Finding orphan pages

The method is always the same: build a list of every URL that exists, build a list of every URL reachable by links, and subtract. The work is in collecting the first list from enough sources.

Step 1: collect "known" URLs

Use as many of these as you have:

  1. XML sitemaps. Pull every URL, including nested sitemaps, with the Sitemap URL Extractor.
  2. Search Console, Page indexing report. Export the indexed pages and each not-indexed reason. Exports are capped at 1,000 rows per list, so on large sites filter by sitemap or use several URL-prefix properties for sections.
  3. Search Console, Performance report. Pages tab, longest date range, export. Any URL that ever got an impression is here.
  4. Search Console, Links report. External links > Top linked pages shows URLs other sites link to, including ones you forgot about.
  5. Analytics. Landing page report for the last 12 months.
  6. Your CMS or database. The most complete source. An export of all published posts, products and pages.
  7. Server logs. Every URL Googlebot requested. This catches URLs that exist nowhere else. See log file analysis for Googlebot.

Merge everything into one column and normalise it: one protocol, one hostname, no tracking parameters, no duplicates. The URL List Cleaner handles the deduplication and normalising.

Step 2: collect "linked" URLs

Crawl the site with a desktop crawler, starting from the homepage and following internal links only. Two settings matter:

  • Turn off any option that seeds the crawl from the sitemap, or the orphans will be pulled in and look linked.
  • Turn on JavaScript rendering if your navigation or listings are rendered client-side, so the crawler sees roughly what Google sees.

Export all internal HTML URLs that returned 200.

Step 3: subtract

Anything in the "known" list and missing from the "linked" list is an orphan candidate. A spreadsheet VLOOKUP or COUNTIF does the job:

=IF(COUNTIF(linked!A:A, A2)=0, "orphan", "linked")

Screaming Frog and Sitebulb can do this for you if you connect the sitemap, Search Console and Analytics sources, but the manual way works and shows you what is going on.

Step 4: check the candidates

Before fixing anything, get the status of each candidate with the Bulk HTTP Status Checker. Many "orphans" turn out to be 404s and redirects, which is fine. You only care about URLs that return 200 and are indexable.

Decide what each orphan deserves

Do not blindly link everything. Sort the live orphans into four groups.

Group Example Action
Valuable, should rank A good article dropped from navigation Add internal links, keep in sitemap
Valuable, replaced Old version of a guide 301 redirect to the current version
Intentionally unlinked Ad landing pages, thank-you pages Add noindex, remove from sitemap
Worthless Test pages, empty tag archives, expired listings Return 404 or 410, remove from sitemap

The third group matters more than people think. A pile of near-identical campaign landing pages that are indexable and in the sitemap is a duplicate content problem waiting to be noticed. Note that noindex only works if Google can crawl the page, so do not also block those URLs in robots.txt.

Fixing the ones worth keeping

Add links that a visitor would find useful, from pages that Google already crawls and indexes:

  1. The parent category or hub. Every page should be listed on the page one level above it.
  2. Related articles or products. Two or three contextual links inside body text, with descriptive anchors.
  3. Breadcrumbs. They connect the page upward, and make the parent link back down if your listing is complete.
  4. An HTML index. For big collections, a plain paginated A to Z or archive page guarantees that every item has at least one link.

Use real <a href> links. Google's documentation is clear that links built from onclick handlers or non-anchor elements may not be followed. The wider linking strategy is covered in internal linking for indexing.

After adding links:

  • Make sure the page is in the sitemap with an accurate lastmod.
  • For a handful of important URLs, use URL Inspection > Request indexing.
  • For a long list, let Google find them through the new links. It will, once the linking pages are recrawled.

How to confirm the fix worked

  • URL Inspection > Page indexing > Discovery. The "Referring page" field should start to show an internal URL. If it still says "None detected", Google has not recrawled the linking page yet, or cannot see the link. This data can lag, so give it a couple of weeks.
  • Re-run the crawl comparison. The orphan count should drop to the intentional ones only.
  • Page indexing report. Watch the affected URLs move out of "Discovered - currently not indexed" or "URL is unknown to Google" over the following weeks.

If you track index status with TurboIndex, tag the fixed URLs and watch their status change. It reads the same data through the URL Inspection API, so you do not need to inspect each URL by hand.

Mistakes to avoid

  • Linking all orphans from one giant "sitemap" page in the footer. It solves discovery and nothing else. A single link from a page with 3,000 links on it is a very weak signal. Use it as a backstop, not as the fix.
  • Treating the XML sitemap as the fix. It is step zero.
  • Redirecting every orphan to the homepage. Google commonly treats irrelevant redirects to the homepage as soft 404s. Redirect to a relevant equivalent or return 404.
  • Running the audit once. Orphans are a process problem. Re-run the comparison after each redesign, migration, and big content cleanup.
  • Forgetting mobile. Google crawls with the smartphone user agent. If a link exists only in the desktop menu, the target may be an orphan as far as Google is concerned.

Prevention

Build it into publishing. Every new page gets: a place in a category or hub, at least two contextual links from existing pages, a sitemap entry. On programmatic or very large sites, generate hub pages alongside the item pages so that no template can produce a page without a parent. A monthly crawl-versus-sitemap comparison catches whatever slips through.

Frequently asked questions

Can an orphan page be indexed?
Yes, if Google learns about it another way, such as a sitemap, an external link or an old crawl. It is less likely to be indexed and less likely to rank, because no internal links means no internal signals of importance or context.
Does adding an orphan page to the sitemap fix it?
It fixes discovery only. Google will know the URL exists, but the page is still unlinked, so it often sits in 'Discovered - currently not indexed'. Add real internal links as well.
Are all orphan pages a problem?
No. Paid landing pages, thank-you pages and email-only pages are often orphaned on purpose. Those should carry a noindex tag and stay out of the sitemap. The problem is orphan pages that you want to rank.
How do I find orphan pages without paid tools?
Export the URLs from your sitemap and from Search Console (Page indexing report and Performance report), then compare them with the list of pages reachable by clicking through your site. Anything in the first group and not the second is an orphan candidate.

Keep reading