Skip to content
ExponaBLOG
TECHNICAL SEO FOR DEVELOPERS · DAY 061 / 100

Find and fix orphan pages: practical tips and trade-offs

Pages with no internal links are nearly invisible.

Expona Admin7 min read

Find and fix orphan pages

I've seen teams spend months optimizing page content only to realize the pages themselves were barely discoverable. Pages with no internal links are nearly invisible to search engines, users, and your own analytics. On Day 61, we're tackling orphan pages—URLs that exist but have no pathway leading to them—and learning how to surface them, understand why they matter, and decide whether to resurrect or retire them.

What are orphan pages and why they harm SEO

An orphan page is any URL on your site that has no incoming internal links. Search engines follow links to discover pages. If a page has no internal links pointing to it, Googlebot might never find it—or if it does, it signals low importance because your own content doesn't reference it. Think of your site's navigation as a network: if a page is disconnected from that network, it's a dead end.

Orphaned pages fall into two categories:

  • Old pages: Pages you've stopped linking to but never deleted. They rank poorly, consume crawl budget, and confuse users who find them in search results.
  • Forgotten pages: Pages created for campaigns, A/B tests, or old product lines that were never properly integrated into your site structure.

The impact is measurable. Orphaned pages rarely rank above position 20 in search results. They generate minimal organic traffic. And if they do rank for high-intent keywords, they become embarrassing representations of your brand.

Compare sitemap URLs with crawled URLs

The first step is finding your orphans. You need to compare what your sitemap claims exists with what Google actually crawled. This mismatch reveals pages you intended to be discoverable but aren't accessible through links.

Here's the practical workflow:

  1. Download your XML sitemap (or multiple sitemaps if you have them). Save the list of URLs.
  2. Go to Google Search Console → Coverage → Valid. This shows URLs Google found and indexed.
  3. Compare the two lists. URLs in your sitemap but not in GSC's crawled list are candidates for orphans.
  4. Cross-reference with your internal link analysis tool (Screaming Frog, Ahrefs, Semrush, or Moz). Any URL with zero incoming internal links is orphaned.

Let me walk through a real example. I was auditing an e-commerce platform that had removed a product category from navigation but never deleted the category page. The URL was still in the sitemap, but Search Console showed it received zero impressions in the past 6 months. Internal link analysis confirmed: no other page linked to it. That was an orphan.

If you're doing this programmatically, here's a Node.js snippet to parse your sitemap and compare against crawl data:

html
import * as fs from 'fs';
import xml2js from 'xml2js';

const parseSitemap = async (filePath) => {
  const xmlContent = fs.readFileSync(filePath, 'utf-8');
  const parser = new xml2js.Parser();
  const result = await parser.parseStringPromise(xmlContent);
  
  return result.urlset.url.map(entry => entry.loc[0]);
};

const findOrphans = (sitemapUrls, crawledUrls) => {
  const crawledSet = new Set(crawledUrls);
  return sitemapUrls.filter(url => !crawledSet.has(url));
};

const sitemapUrls = await parseSitemap('./sitemap.xml');
const crawledUrls = JSON.parse(fs.readFileSync('./crawled-urls.json', 'utf-8'));

const orphans = findOrphans(sitemapUrls, crawledUrls);
console.log('Orphaned URLs:', orphans);

This gives you a programmatic way to identify orphans at scale. Export the list and prioritize by traffic potential (use GSC data on impressions and click-through rate).

Understanding where orphans come from helps you prevent them. Most orphaned pages fall into predictable buckets:

  • Removed from navigation: The page still exists, but you deleted the nav link. Common with old blog posts, discontinued products, or outdated guides.
  • Legacy campaign pages: A seasonal promotion or A/B test variant that was never cleaned up.
  • Duplicate or near-duplicate content: You created alternate versions of pages (for mobile, testing, or regional variants) and forgot to consolidate them.
  • Deeply nested pages: Pages buried under multiple URL layers with no breadcrumb or contextual linking.
  • Orphaned by redirects: You redirected incoming links away from a page but didn't add outgoing links to it.

On a travel SaaS platform, I found orphaned comparison pages. They were created for every destination pair (e.g., flights from London to Paris, flights from Paris to London). The team decided these weren't valuable, removed them from the main hub, but never cleaned up the URLs. They sat in the index, indexed but invisible. No internal links pointed to them. They consumed crawl budget without generating clicks.

The lesson: orphans aren't always hidden. They're often pages you consciously de-prioritized but didn't handle properly. Search Console will show them in the index with zero or near-zero impressions.

If the orphaned page has real value—user intent, ranking potential, or business relevance—resurrect it by integrating it back into your site structure. This means adding internal links from contextually relevant pages.

Here's the strategic approach:

  1. Identify the hub: Which existing page or section would naturally reference this orphan? A product orphan belongs in the products category page. A blog orphan belongs in a topic cluster or archive.
  2. Add contextual links: Don't just add a bare URL. Add 1–3 internal links with descriptive anchor text from the hub to the orphan.
  3. Update related content: Look for pages that tangentially relate to the orphan. Add a link if it genuinely serves the reader.
  4. Monitor impact: Track the orphan's Search Console data for 4–6 weeks. You should see impressions increase and crawl frequency improve.

Concrete example: On a CRM platform, a detailed feature guide for "advanced automation rules" was orphaned after a redesign. I linked it from three places:

  • The main Features hub page (with anchor text "Automation rules")
  • The Automation section overview (as a "Learn more" call-to-action)
  • A related guide on workflows (with context: "...or for complex automation, see advanced rules")

Within three weeks, Search Console showed the page receiving 15–20 monthly impressions. Within two months, it ranked for two tail-keywords. The page was valuable; it just needed a path to be found.

If you're using Next.js or a similar framework, ensure your internal linking happens at the content level, not just navigation:

html
<article>
  <h1>Automation Workflows</h1>
  <p>
    Workflows handle simple rules. For complex scenarios, see 
    <a href="/features/automation/advanced-rules">advanced automation rules</a>.
  </p>
  {/* more content */}
</article>

This is better than hoping users find it through navigation alone.

Or remove them if they have no value

Not every orphaned page deserves resurrection. If a page is:

  • Ranking for zero keywords after 6+ months
  • Receiving no organic traffic in GSC
  • Outdated or irrelevant to your current business model
  • A duplicate of better-optimized pages you already have
  • A test variant or campaign page that served its purpose

Then remove it. Delete the page, don't just hide it.

The right approach:

  1. Delete the page content. Replace it with a 410 Gone response (or a 404 Not Found if the page was temporary). This tells search engines the page is intentionally gone, not missing.
  2. Remove from sitemap. Don't claim something no longer exists.
  3. Monitor for 4–6 weeks. Check Search Console for crawl errors. If Google continues to find the URL elsewhere, you may need to disavow those external links or request removal.

On a ride-hailing platform, I found 47 orphaned pages from a Q1 marketing campaign that ended eight months prior. The pages had zero traffic, ranked for nothing, and added no value. Keeping them was cognitive overhead: they appeared in crawl reports, confused team members, and wasted crawler resources. Deleting them with a 410 response cleaned up the index and made audits clearer.

The choice between linking and deleting comes down to one question: Would any user want to find this page through search or site navigation? If yes, link it. If no, remove it.

Common mistakes

  • Confusing orphans with low-traffic pages: A page can have internal links but still receive low traffic. That's not an orphan; that's a page that needs better SEO. Use internal link analysis tools, not just traffic data.
  • Adding orphans to the sitemap without linking them: Sitemaps are hints, not guarantees. A URL in the sitemap without internal links is still orphaned. Always prioritize internal links.
  • Leaving 404s or 410s unmonitored: After you delete a page, watch Search Console for crawl errors for at least a month. External sites may still link to the old URL.
  • Over-linking resurrected pages: If you find an orphan with value, add 1–3 contextual links, not 10. Over-linking looks artificial and dilutes link equity.
  • Ignoring orphans created by redirects: If you redirect an old URL to a new one, make sure the old URL still has a path to discovery. Broken redirect chains create orphans.

Key takeaways

  • Find orphans by comparing your sitemap against Google Search Console's crawled and indexed URLs, then verify with internal link analysis tools.
  • Orphaned pages harm SEO by appearing low-value to search engines. They rank poorly and consume crawl budget.
  • Decide: does the page have business or user value? If yes, integrate it back with 1–3 contextual internal links from relevant hubs. If no, delete it with a 410 response.
  • Prevent future orphans by linking pages at the content level, not just navigation, and cleaning up old pages immediately after de-prioritizing them.
  • Monitor resurrected pages for 4–6 weeks. You should see GSC impressions increase and crawl frequency improve within the first month.
ShareXLinkedInReddit

Found this useful? Support the writing.

Buy me a coffee
Written by
Expona Admin
Site administrator

Comments

Loading comments…

Leave a comment

Comments are reviewed before they appear. Be kind and stay on topic.

Related articles