How to Find Orphan Pages in WordPress (Free & Paid Methods)

5/5 - (7 votes)

An orphan page is a page on your site that no other page links to. Visitors can’t click their way to it, and search engines have to rely on your sitemap or an old link to find it. In WordPress, orphans pile up quietly: a landing page built for an old campaign, a blog post pushed deep into pagination, a WooCommerce product hidden from the catalog, a page someone published and never added to a menu.

Finding them sounds simple, but there is a catch most guides skip. WordPress SEO plugins and website crawlers use different definitions of “orphan”, so they produce different lists. This guide explains the difference, then walks through four ways to find orphan pages, from a free plugin-free method to the paid tools, and what to do with each page once you’ve found it.

Plugin Orphans vs Crawl Orphans

types of orphan pages in wordpress
Why your SEO plugin and your crawler disagree about orphan pages.

Plugin reports usually check links inside post content. A page linked only from your main menu may show up as orphaned in a plugin even though Google can reach it easily. A crawler, on the other hand, follows every link on the rendered page, so it finds the pages that are truly cut off from the rest of the site.

Use both views. Crawl orphans need fixing first, because search engines struggle to discover and value them. Content orphans are pages that could rank better with contextual links from related articles.

Where Orphan Pages Come From in WordPress

Table 1: Common WordPress Sources of Orphan Pages

SourceWhy It Becomes an OrphanExample
Pages never added to a menuPages don’t appear in the blog feed, so they need a manual link/thank-you/, /old-landing-page/
Campaign landing pagesBuilt for ads or email, then forgotten/spring-sale-2025/
Old posts deep in paginationOnly linked from page 30 of the blog archiveAn article from five years ago
Deleted categories or tagsRemoving an archive removes the only link to some postsPosts that lived in a retired category
Changed URLs without updated linksInternal links still point to the old URL, which redirects or 404sSlug changes after a rewrite
WooCommerce hidden productsCatalog visibility set to hidden or search onlyProducts sold only through direct links
Page builder templates and test pagesPublished by accident or left live/elementor-123/, /test-page/
Attachment pagesOlder sites may still publish a page for every image/image-name/ attachment URLs
Custom post typesPlugins create post types without archive linksEvents, portfolios, team members

Method 1: Use a WordPress SEO Plugin (Content Orphans)

Several popular plugins flag posts that have no internal links from other content.

Table 2: WordPress Plugins With Orphan Reports

PluginWhere to Find ItPlan Needed
Yoast SEOPosts, Pages or custom post type list, then the “Orphaned content” filterPremium ($118.80 a year)
All in One SEOLink Assistant, then the Orphaned Posts count and Links Report filterPro or higher
Link WhisperReports, then Orphaned PostsPremium
Rank MathPosts list Link Counter columns; sort by incoming linksFree (no dedicated orphan filter)
  • Run the plugin’s link scan after installing, so it can index existing links.
  • Filter for orphaned content in each post type, including pages and custom post types.
  • Check each result against your menus and footer before acting. If the page is linked there, it is a content orphan only.

For adding links at scale once you know where they’re missing, see our list of AI internal linking tools.

Method 2: Crawl Your Site With Screaming Frog (Crawl Orphans)

A crawler finds pages that no link reaches at all. Screaming Frog has a built-in orphan pages workflow:

  • Go to Configuration, then Spider, then Crawl, and tick Crawl Linked XML Sitemaps. Point it to your sitemap index, for example /sitemap_index.xml in Yoast or Rank Math, or /wp-sitemap.xml for WordPress core.
  • Connect Google Analytics and Search Console under Configuration, then API Access, so pages that get visits or impressions but have no links are included.
  • Crawl the site, then run Crawl Analysis. The orphan filters only fill in after this step.
  • Open Reports, then Orphan Pages to export every orphan URL, with a column showing whether it came from the sitemap, GA or Search Console.

Screaming Frog’s paid licence is needed for the API connections and for crawling more than 500 URLs. Site audit tools in Ahrefs and Semrush also flag orphan pages when you give them your sitemap or connect analytics.

Method 3: The Free DIY Method (WP-CLI or Sitemap Plus a Spreadsheet)

If you’d rather not pay for a plugin or crawler licence, compare two lists: every published URL on your site, and every URL that receives an internal link.

Step 1: Get Every Published URL

With WP-CLI on your server:

wp post list --post_type=post,page,product --post_status=publish \
  --fields=ID,post_title,url --format=csv > all-urls.csv

Without WP-CLI, open your XML sitemap in a browser and copy the URLs into a spreadsheet, or use any free sitemap-to-CSV tool. Remember that sitemaps can exclude noindexed pages, which may also be orphans.

Step 2: Get Every Internally Linked URL

Crawl the site with any crawler without adding the sitemap, so only pages reachable through links are found. Export the list of internal link destinations. In Screaming Frog, that is Bulk Export, then Links, then All Inlinks, using the Destination column. The free version covers sites up to 500 URLs.

Step 3: Compare the Two Lists

Paste all published URLs in column A of one sheet and all link destinations into a sheet named Inlinks. Then in column B:

=IF(COUNTIF(Inlinks!A:A, A2)=0, "Orphan", "Linked")

Normalize URLs first so the comparison works: use the same protocol, the same www setting and the same trailing slash on both lists.

Method 4: Use Google Search Console as a Cross-Check

  • Open Links in Search Console and export Top linked pages under Internal links. Published pages missing from that export may have few or no internal links.
  • Check the Page indexing report for Discovered, currently not indexed and Crawled, currently not indexed. Orphan pages often end up there, because Google sees little internal signal that they matter.

If many orphans sit in those statuses, our guide to fixing crawled, currently not indexed explains the next steps.

Compare the Methods

Table 3: Orphan Page Methods Compared

MethodFindsCostBest For
SEO plugin reportContent orphansPremium plugin plansOngoing checks inside WordPress
Screaming Frog orphan reportCrawl orphans from sitemap, GA and GSCPaid licence for full useThorough technical audits
DIY lists and spreadsheetCrawl orphansFreeSmall sites and tight budgets
Search Console cross-checkWeakly linked pagesFreeQuick sanity check

What to Do With Each Orphan Page

Table 4: Decide the Fate of Every Orphan

SituationAction
Valuable page that should rankAdd contextual links from 2 to 5 related posts, plus a hub or category page
Outdated but still relevantUpdate the content, then link to it from current articles
Duplicate or thin contentMerge it into a stronger page and add a 301 redirect
Old campaign or test page with no valueDelete it, or redirect it if it has backlinks or traffic
Page that should stay privateNoindex it, keep it out of the sitemap, and leave it unlinked
Thank-you or confirmation pageLeave it orphaned and noindexed; it is meant to be reached only after an action

Deciding between updating, merging and deleting is the same judgment as content pruning. Our comparison of content pruning and content decay helps with borderline pages.

How to Stop New Orphan Pages

  • Add at least two internal links to every new post before publishing, and link back to it from an older related article.
  • Use category and pillar pages that list every important article, not just the latest ten.
  • When you change a slug, update internal links instead of relying on redirects.
  • Add related posts blocks that pull from the whole archive, not only recent posts.
  • Run an orphan check every quarter, or after big changes such as a redesign or category cleanup.

Internal linking also helps Google find new pages faster. These tips on getting Google to index your site faster work well alongside an orphan cleanup, and our technical SEO guide covers site structure in more depth.

FAQs

What Is an Orphan Page in WordPress?

A published post, page or product that no other page on your site links to. Visitors can’t navigate to it, and search engines only find it through the sitemap or external links.

Can I Find Orphan Pages in WordPress for Free?

Yes. Compare a list of all published URLs (from WP-CLI or your sitemap) with the link destinations from a free crawl, using a COUNTIF formula in Google Sheets. Rank Math’s free link counter also shows incoming link counts.

Does Yoast SEO Find Orphan Pages?

Yoast SEO Premium has an orphaned content filter in the posts and pages lists. It is not part of the free plugin.

Why Does My Plugin Say a Page Is Orphaned When It Is in My Menu?

Most plugins count links inside post content. Menu, footer and sidebar links usually aren’t counted, so the page is a content orphan but not a crawl orphan.

Are Orphan Pages Bad for SEO?

Important pages that are orphaned are harder for Google to discover and receive little internal link value, so they tend to rank poorly. Orphaned pages that are meant to be private, such as thank-you pages, are not a problem.

Add Comment