Orphan pages are pages on your site that no other page on your site links to. Crawlers and visitors can only reach them through a sitemap, an old bookmark or an external link. You find them by comparing the URLs in your sitemap against the URLs your own pages actually link to, then fix each one with a crawlable, descriptive internal link, or retire it.
What are orphan pages?
An orphan page is a live, indexable URL with no internal links pointing to it. It exists on the server, it may sit in your sitemap, but nothing in your navigation, your body copy or your footer leads to it.
They are rarely created on purpose. In our audits they come from campaign landing pages never linked from the main site, posts dropped from paginated category listings, and pages whose only link lived in a widget someone removed. The page keeps working, so nobody notices it has been cut off.
Why do orphan pages matter for internal linking SEO?
They matter because links do two jobs at once, and an orphan page gets neither. Google says in its link best practices that it uses links as a signal when determining the relevancy of pages and to find new pages to crawl. An unlinked page loses the discovery route and the relevance signal together.
The same page gives the rule that defines the fix: "Every page you care about should have a link from at least one other page on your site." If a page fails that test, either you do not care about it, in which case it should probably not be live, or your internal linking SEO has a gap.
A sitemap does not close the gap on its own. Google's sitemap overview says a sitemap helps search engines discover URLs on your site, but it does not guarantee that all the items in your sitemap will be crawled and indexed. The same page notes that if your site's pages are properly linked, Google can usually discover most of your site. The sitemap is a supplement to linking, not a replacement for it.
How do you find orphan pages?
You find orphan pages by building two lists and comparing them: every URL you want indexed, and every URL your own pages link to. Anything on the first list but missing from the second is an orphan candidate. This is the procedure we run.
- Export the full list of URLs from your sitemap or sitemap index. If your CMS generates several sitemaps, combine them and remove duplicates.
- Add URLs the sitemap might miss: pages from your CMS export, landing pages from your ad accounts, and pages that receive organic traffic in Google Search Console's Performance report.
- Crawl the site starting from the homepage, following only
<a href>links. Do not seed the crawl with the sitemap, or every sitemap URL will appear to be reachable. - Export the list of URLs the crawl reached, with the number of internal links pointing to each.
- Cross-check with the internal links view of the Search Console Links report, which shows which of your pages are linked the most from within your own site.
- Normalise both lists the same way: one protocol, one hostname, consistent trailing slashes, and canonical URLs rather than parameter variants.
- Subtract the crawled list from the full list. What remains is your orphan list. Check a handful by hand before acting on it.
Treat the Links report as a cross-check, not the source of truth. Google's help page for the Links report says it is not a comprehensive list of every link on your site: it shows a sample of internal and external links, and some URLs might be omitted, such as non-indexed pages or deduped URLs. It also says tables are limited to 1,000 rows, although you can export up to 100,000 rows, and that it includes links Google found over time which may since have been removed. A page can appear linked there because of a link you deleted months ago. Your own crawl reflects the site as it is today.
Two traps inflate or hide the list. First, links that are not real anchors. The link best practices page says Google can generally only crawl your link if it is an <a> element with an href attribute, and that most links in other formats will not be parsed. A card that navigates with a click handler on a div looks linked to a person and orphaned to a crawler, so your crawl should treat it as missing. Second, links that are injected by JavaScript. Google says those are crawlable as long as they use the same HTML markup, so render JavaScript in your crawl if your navigation depends on it.
Which orphan pages should you fix, and which should you retire?
Not every orphan deserves a link. Sort the list by what the page is for before you touch the navigation. This is the triage table we use.
| Orphan type | Typical example | What we do |
|---|---|---|
| Useful page, current content | Service page, guide, product, case study | Link it from the most relevant parent and from related pages |
| Duplicate or near-duplicate | Old version of a page, print view, tag archive | Redirect with a 301 to the main version, or set a canonical |
| Outdated, no replacement | Expired offer, discontinued product | Return 410 or 404 and remove it from the sitemap |
| Campaign landing page | Paid ad page you do not want ranking | Keep it unlinked, add noindex, and take it out of the sitemap |
| Test or staging leftover | Draft URL, test page published by mistake | Delete it and remove it from the sitemap |
Retiring pages is part of the fix, not a failure. Google's crawl budget guide says that without guidance, Google tries to crawl all or most of the URLs it knows about on your site, and that if many of them are duplicates or URLs you do not want crawled, this wastes a lot of Google crawling time on your site. The same guide says you do not need to read it if your site does not have a large number of pages that change rapidly, so for a small site this is about tidiness more than budget.
How to fix orphan pages with crawlable links
Fix orphan pages by giving each one a real, descriptive link from a page that is already well linked and topically related. One link in the right place is worth more than a dozen in a footer. Our checklist for each page we keep:
- Link from the closest parent: the service hub for a service page, the category page for a post.
- Add at least one contextual link from body copy on a related page, where a reader would actually want to go next.
- Use an
<a href>element, not a button or a scripted click handler. - Write anchor text that describes the destination. Google's guidance says good anchor text is descriptive, reasonably concise, and relevant to the page it is on and to the page it links to.
- Do not add
nofollowto your own internal links. Google says to use nofollow only when you do not trust the source. - Keep the page in the sitemap, with an accurate
<lastmod>date if the content changed. - Re-crawl from the homepage and confirm the page now appears with at least one inbound internal link.
Do not overcorrect by linking every orphan from a single "all pages" list. The link best practices page says there is no magical ideal number of links a page should contain, but if you think it is too much, it probably is.
The lasting fix is site architecture SEO: decide where each type of page lives before it is published. Every new post belongs to a category page; every new service page belongs to a hub and is linked from at least one related page. Then make the check routine. The crawl budget guide advises keeping your sitemaps up to date and including all the content you want Google to crawl. We add the inverse: every URL in the sitemap should also be reachable by following links. Running the sitemap-versus-crawl comparison monthly catches new orphans while the list is short. In SEO Autopilot, that comparison is part of the regular technical review, and fixes go out as template or page changes rather than one-off patches.
What we have seen
Our clearest lesson about structural problems is that they usually live in a template, not in individual pages. On one SEO Autopilot engagement, a US healthcare analytics company on WordPress, 21 of 39 pages had no H1 because the post template rendered the title as an H2. One template change took pages with exactly one H1 from 9 of 39 to 30. That was a heading problem, not an orphan problem, but the pattern carries over: when a whole group of pages is unlinked, look first at the listing, pagination or menu template that should have linked them.
The re-measurement on that site was done by fetching all 39 sitemap URLs, which is the same starting list this procedure uses. If you want a quick look at your own homepage first, our free AI visibility checker reads your robots.txt rules for 11 AI crawlers and requests the homepage once with each crawler's user agent. That is the checker's own request, not the real crawler's, and it covers the homepage only, so it complements an orphan audit rather than replacing one. For the wider picture, see our technical SEO checklist and our guide to fixing Discovered – currently not indexed.
Frequently Asked Questions
What is an orphan page in SEO?
An orphan page is a live page on your site that no other page on your site links to. Crawlers can only find it through a sitemap or an external link, and visitors cannot click their way to it.
How do I find orphan pages on my website?
List every URL you want indexed, mainly from your sitemap, then crawl the site from the homepage following links only. URLs in the first list that the crawl never reached are orphan candidates. Use the Search Console Links report as a cross-check.
Are orphan pages bad for SEO?
They miss out on what internal links provide. Google uses links to find pages to crawl and as a relevance signal, and its guidance says every page you care about should have a link from at least one other page on your site.
Is a sitemap enough to get orphan pages indexed?
No. Google says a sitemap helps search engines discover URLs but does not guarantee that they will be crawled and indexed. Treat the sitemap as a supplement to internal links, not a substitute.
Should I delete orphan pages?
Only the ones you do not need. Link useful pages from a relevant parent page, redirect duplicates to the main version, and remove outdated or test pages from the site and the sitemap.