
An orphan page is a page on your site that no other page links to internally. Find them by comparing a link-following crawl against your sitemap, analytics, search data and server logs. Then link the useful ones from relevant pages, merge or redirect the weak ones, and remove the rest.
Ahrefs, in a study of around 14 billion pages, found that 96.55% of the pages in its index get zero organic traffic from Google. Orphaning is not the only reason, but a page that nothing links to has very little chance of joining the other 3.45%.
What an orphan page is
An orphan page exists on your site, can be opened if you know its address, but has no internal links pointing to it. Nothing in your menu, body copy, categories, footers or related post blocks leads there. Visitors cannot stumble across it, and a crawler that follows links from your homepage will never reach it.
Orphans are rarely planned. They appear when a page is created and never linked, when a menu is redesigned and drops a section, when a category is deleted and its posts lose their only path, or when a campaign page is unpublished from navigation but left live. A site with a few hundred pages usually has a handful. A site that has been migrated twice may have hundreds.
It helps to separate orphans from two neighbouring problems. A page with a single weak link, such as one link buried in a tag archive, is poorly linked, not orphaned. A page that links out but is reachable only by many clicks is a depth problem, and that belongs to site architecture. This guide is about pages with zero internal links in.
Why orphan pages matter for SEO
Google finds pages mainly by following links. Its guidance on crawlable links says Google uses links as a signal when determining the relevancy of pages and to find new pages to crawl. A page with no internal links gives Google neither: no discovery path and no context about what the page is about or how important it is to you.
There are three practical consequences:
- Discovery. Google may find an orphan through your sitemap or an external link, but it will not find it through your site.
- Weak signals. Internal links tell search engines which pages you consider important. An orphan receives none of that support.
- Wasted effort. You may have written a good page that nobody, human or crawler, can reach. That is the most frustrating outcome, and the easiest to fix.
Not every orphan deserves rescuing. Some are leftovers that should be removed. The skill is in telling the two apart, which is the second half of this guide.
Rather have an expert do this for you?
Hand it over and get back to running your business.
Four ways to find orphan pages
No single source shows every orphan. Each method has blind spots, so I combine them. The logic is the same each time: build one list of URLs that exist, and one list of URLs reachable by links, then compare.
| Method | What it gives you | Blind spot |
|---|---|---|
| Link-following crawl (the “reachable” list) | Every URL found by clicking from the start page | Cannot see pages nothing links to |
| XML sitemap | URLs you declared | Misses unlisted pages, and lists URLs that may be outdated |
| CMS export or database | Every published page | Does not include non-CMS pages |
| Analytics and Search Console | URLs that received visits or impressions | Misses pages nobody has reached |
| Server logs | URLs bots and users actually requested | Needs log access and some processing |
1. Crawl versus sitemap
Crawl the site starting from the homepage, following internal links only. Then import your sitemap URLs into the same crawler, or into a spreadsheet. Any URL in the sitemap that the link crawl did not find is an orphan candidate. Google’s sitemap overview notes that on large sites it is harder to make sure every page is linked from another, which is one reason sitemaps exist. It also says a sitemap does not guarantee that every item will be crawled and indexed, so a sitemap does not cure orphaning.
2. Crawl versus your CMS
Export all published URLs from WordPress or your platform and compare them with the link crawl. This catches live pages that are not in the sitemap either, for example pages that an SEO plugin excludes.
3. Crawl versus analytics and Search Console
Export the landing pages from your analytics and the pages with impressions or clicks in Search Console over the last twelve months. Any URL that gets traffic but did not appear in the link crawl is reachable some other way, such as from search, an external link or a bookmark, yet not from your own site. These are your best rescue candidates, because there is already proof that someone wants them.
4. Crawl versus server logs
Logs show every URL that Googlebot and visitors requested. A URL that bots keep requesting but that your link crawl cannot reach is being found through old links, sitemaps or external references. This is also useful for spotting long forgotten URLs left over from earlier site versions.
Make sure your crawl is configured to behave like a search engine: follow internal links, respect the rules you want it to respect, and render JavaScript if your navigation is built with it. Google can generally only crawl a link that is an anchor element with an href attribute, so a menu built from script click events can create orphans even though the pages look linked to a human.
Deciding what to do with each orphan
Once you have the list, resist the urge to link everything. I sort orphans with a simple set of questions.
- Does the page have a purpose and a likely audience? If not, it is a candidate for removal.
- Is the content good and current? If it is weak or outdated, improve it or merge it before linking to it.
- Does a stronger page cover the same topic? If so, merge the useful parts into that page and redirect.
- Does it have backlinks or traffic? If so, never delete it without a redirect, since links and visits would be lost.
- Should it be public at all? Thank you pages, landing pages for paid campaigns and private resources can stay unlinked on purpose.
| Situation | Action | Detail |
|---|---|---|
| Useful, unique, current page | Link | Add links from related pages and the relevant hub or category |
| Useful page that overlaps another | Merge and 301 | Fold the best parts into the stronger page |
| Outdated page with links or traffic | Update, or 301 to the closest match | Preserve what already works |
| Thin or duplicate page with no value | Remove with 404 or 410 | Do not redirect to an unrelated page |
| Intentionally unlinked page | Keep, usually noindex | Make sure it is not in the sitemap or indexed by accident |
The correct response codes for the last rows are in my guide to HTTP status codes for SEO, and the choice between noindex and other controls is in noindex vs canonical vs robots.txt.
How to link an orphan page properly
Linking an orphan is not just adding a link from anywhere. A link from an unrelated, rarely visited page does little. These are the rules I follow.
- Link from relevant pages. Choose pages on the same topic, ideally ones that already get traffic. Use descriptive anchor text that says what the page is about.
- Link from the hub or category page. If the orphan belongs to a topic cluster, the cluster’s hub should link to it. This fixes the root cause rather than the symptom.
- Use real anchor links in the HTML. Standard links with an href attribute, not script-driven elements.
- Add it to navigation only if it deserves it. Putting everything in the menu dilutes it.
- Link both ways. The orphan should link back to its hub and related pages so it takes part in the cluster.
- Add it to the sitemap once it is worth indexing. The sitemap is a supplement to links, not a replacement.
Imagine a Karachi dental clinic with a page on emergency tooth pain that was published last year and never linked. The fix is to link it from the clinic’s treatment pages, the main dentistry hub, and any blog posts that mention toothache, with anchors that describe the page. That one change gives the page a path from every relevant part of the site.
Preventing new orphans
Finding orphans is a clean-up. Preventing them is a process.
- Make internal links part of publishing. No page goes live until it has at least one contextual link in and a plan for where it sits in the structure.
- Plan content in clusters. When posts belong to a hub, the hub is updated at publication, so new posts are never orphaned.
- Check before deleting. Before you remove a category or a menu section, see which pages relied on it for their only link.
- Rerun the comparison regularly. A quarterly crawl compared with the sitemap takes little time and catches drift. After a migration, run it straight away, because redirects and removed menus create orphans. I cover this in the redirect chains guide too, since the same crawl finds both.
- Give related content blocks a fallback. Automatic related-post modules are a good safety net, but they should not be the only link a page has.
These habits are built into the structural checks in my WordPress technical SEO checklist.
Questions about orphan pages
Are orphan pages bad for SEO?
They are a missed opportunity rather than a penalty. A good page with no internal links gets no discovery path and no support from the rest of the site, so it is unlikely to perform. Intentional orphans, like private or campaign pages, are fine.
Can Google index an orphan page?
Yes, if it finds the URL through a sitemap or an external link. But indexing is not guaranteed, and the page still lacks the internal link signals that help Google judge its importance.
Is a page in the sitemap still an orphan?
Yes. A sitemap helps discovery, but an orphan is defined by internal links. A page that appears only in the sitemap has no internal links pointing at it and is still worth fixing.
How often should I check for orphan pages?
I suggest a check every quarter, and immediately after any migration, redesign or large content removal. Those are the moments when links are most likely to be lost.
Orphan pages are usually a symptom of a structure that grew without a plan. If you would like a page by page review of what is reachable, what is not, and what to do about it, my technical SEO services cover it, and you can ask for a free audit to see your own list.
More in this series (Technical SEO in depth): start with WordPress Technical SEO Checklist: What to Fix First, then explore:
- HTTP Status Codes for SEO: 200, 301, 302, 404, 410 and 5xx
- Redirect Chains and Loops: How to Find and Fix Them
- Noindex vs Canonical vs Robots.txt: Which to Use When
Request received
Thank you! Saad will contact you within the next 24 hours.
Keep an eye on your phone and inbox.
