Rankelle

How to find orphan pages on your site

A crawler cannot find a page nothing links to, which is exactly why a crawl alone will never list your orphans. You need a second list to subtract from.

An orphan page is a page with no internal link pointing at it. Search engines reach it, if at all, through the sitemap or an old external link, and they rank it accordingly: a page the site itself does not point to is a page the site does not think is important. On most sites orphans are old landing pages, retired product pages that still return 200, and anything published through a CMS that never got added to a menu.

The method is set subtraction. Build the set of pages a crawl reaches from your home page; build the set of pages that exist by other evidence; the pages in the second set and not the first are orphans.

The steps

  1. Crawl from the home page and keep the URL listAny crawler will do, including ours. Follow internal links only, respect robots, stop at the page limit you can afford. Save the list of URLs it reached. This is set A.
  2. Collect every other URL list you haveThe XML sitemap. Search Console's page report, exported. Analytics landing pages for the last year. Server logs, if you have them, filtered to 200 responses on HTML. Union these into set B.
  3. SubtractB minus A is the candidate orphan list. Normalise first — trailing slashes, http versus https, tracking parameters — or the list will be full of duplicates that are not orphans at all.
  4. Decide each one: link, redirect or removeA page still worth having gets linked from somewhere relevant. A page superseded by another is redirected to it. A page nobody needs returns 410 and comes out of the sitemap. Leaving an orphan returning 200 in the sitemap is the worst of the three, because it keeps asking to be indexed while telling the crawler it does not matter.
  5. Re-crawl after the fix and check the list shrankThe pages you linked should now be in set A. If they are not, the link went somewhere the crawler cannot follow — a JavaScript-only menu, a page behind a noindex. Knowing whether the fix actually shipped is its own step.

The pages that only look like orphans

Pagination beyond page one, filtered listings and search result pages often appear as orphans because a crawler was told not to follow their links. Those are usually correct to leave alone. The test is whether the page has a reason to rank on its own; if it does not, it is not an orphan, it is a page that should probably not be in set B either.

The same crawl that finds orphans finds their opposite: pages with no outgoing links, which are dead ends for the crawler in the other direction. Fix both in one pass.

Questions people ask

Is one internal link enough to stop a page being an orphan?

Technically yes, and practically it depends where the link is. A link from the footer of every page passes very little; a link from a relevant page in the body passes more. The internal linking guidance on the checklist covers what a useful link looks like.

How often should I do this?

After any large content change, and otherwise monthly. Orphans are created continuously by ordinary publishing, so a one-off audit fixes today's list and leaves next month's. This is one of the checks Rankelle runs on every scheduled crawl, reported as the orphan-page finding, which is the only reason to prefer a tool over the method above.

Try it on your own site, free

The whole audit of every website you add, no card and no expiry. Pay only when you want the proof.