Orphan pages with no internal links
What is this issue?
Orphan pages are web pages that have no internal links pointing to them from other pages on your website. This issue checks whether all your indexable pages are linked from at least one other internal page, making them discoverable by search engines and users.
A passing implementation requires:
- Every important page has at least one inbound internal link
- Pages are discoverable through your site's navigation or content links
- No important pages are only reachable through sitemaps or direct URLs
- Internal linking structure provides clear paths between related content
Example: A newly published blog post that appears in your XML sitemap but isn't linked from your blog listing page, homepage, or any other page on your site.
Why it matters
Orphan pages are important for SEO because they:
- Reduce Crawlability: Search engines may not discover orphan pages during normal crawling
- Weaken Indexability: Pages without internal links may be crawled less frequently or not at all
- Dilute Link Equity: Orphan pages don't receive internal link authority from other pages
- Create Poor User Experience: Users cannot navigate to these pages through normal site browsing
- Waste Crawl Budget: Search engines may spend crawl budget on sitemap URLs that aren't properly integrated into the site structure
Orphan pages directly impact your SEO health score by making it harder for search engines to discover, crawl, and understand your content relationships. They may also indicate poor site architecture or content that's been forgotten.
How to fix it
Audit your pages: Identify which pages have no inbound internal links using crawl data or site audits.
Add contextual links: Include links to orphan pages from relevant content, such as:
- Blog posts related to the topic
- Category or hub pages
- Related product or service pages
- Navigation menus or footer links (for important pages)
Update sitemaps: Ensure orphan pages are at least included in your XML sitemap as a discovery fallback.
Review site architecture: Check if orphan pages indicate poor site structure that needs reorganization.
Link from high-authority pages: Add links from your homepage, main navigation, or top-performing pages to important orphan pages.
Use related content modules: Implement "Related Posts" or "Related Products" sections that automatically link to relevant pages.
Check after fixes: Re-crawl your site to confirm orphan pages now have inbound internal links.
Examples
Example 1: Simple Orphan Page
Problematic State (Fails): A blog post exists but has no internal links pointing to it:
- Page
/blog/new-postis in the sitemap - No other page on the site links to
/blog/new-post
Corrected State (Passes): Add internal links to the page:
- Link from the blog listing page:
<a href="/blog/new-post">New Post</a> - Link from related blog posts
- Add to main navigation or footer if important
Example 2: Orphan Page with Sitemap Only
Problematic State (Fails): A product page is only discoverable through the sitemap:
/products/special-itemis in the XML sitemap- No internal links point to this product page
Corrected State (Passes): Integrate the page into the site structure:
- Add to product category page
- Link from homepage featured products section
- Include in related products section on other product pages
Example 3: JavaScript Navigation
Problematic State (Fails): Links are generated only by JavaScript:
<div id="navigation"></div>
<script>
// Links created dynamically
</script>PixyScan cannot detect these links.
Corrected State (Passes): Add fallback HTML links:
<noscript>
<a href="/page1">Page 1</a>
<a href="/page2">Page 2</a>
</noscript>How PixyScan detects this
PixyScan performs orphan page detection through the following logical steps:
Link-following crawl: PixyScan starts at your seed URL and reaches every other page by following the
<a href>links it finds in the raw HTML. Any page it fetches below the seed is, by definition, a page something links to — so a crawled page is never reported as an orphan.Sitemap reconciliation: After the crawl, PixyScan reads your XML sitemap and records every listed URL the crawl never reached. These are the orphan candidates: your site publishes the page, but no path of internal links leads to it.
Inbound link check: Each candidate is checked against the internal link graph PixyScan stored during the crawl. A candidate with at least one recorded inbound link is not reported.
Orphan identification: A candidate that the sitemap lists, the crawl never reached by following a link, and nothing links to, is reported as an orphan (CRITICAL), attached to that URL so you can open it from the issue.
Truncated crawls report nothing: If the crawl stopped at the scan's page budget, a page it never reached may simply be linked from a page it never fetched. PixyScan makes no orphan claim on such a scan and says why, rather than reporting a misleading zero.
Limits of the check:
- PixyScan analyzes links in raw HTML only and does not execute JavaScript. Links generated only by JavaScript cannot be detected and won't clear orphan status.
- A page that is neither linked from anywhere nor listed in your sitemap cannot be discovered by any crawler, PixyScan included. Keeping your sitemap complete is what makes this check able to see them.
What we store
Storage Level
Page Level — the finding is attached to the orphaned URL, so it can be opened from the issue.
Database Table / Prisma Model
Url (which pages exist, and how each was discovered) and PageInternalLink (the internal link graph)
Stored Fields
| Field | Type | Description |
|---|---|---|
| Url.source | UrlSource | CRAWL, SITEMAP or BOTH — a SITEMAP row is a page the crawl never reached |
| Url.status | UrlStatus | COMPLETED means the page was fetched; PENDING on a sitemap-only row |
| Url.crawlDepth | Int? | Links traversed from the seed; 0 is the seed itself |
| Url.sitemapFileUrl | String? | Which sitemap file listed this URL |
| PageInternalLink.urlId | String | The page carrying the link |
| PageInternalLink.targetUrlId | String | The page being linked to — an orphan is a URL that appears here for no link |
Detection Dependencies
- The following data sources are required to evaluate this issue:
- HTML Document — the crawler extracts all internal links from each page it fetches
- XML Sitemap — reconciled after the crawl; it is what makes an unlinked page visible at all
- Internal Links — the stored link graph, used to confirm a listed page really has no inbound link