- On-page SEO
- Tutorial
How to Find Orphan Pages on Your Blog and Fix Them
Editorial responsibility: SearchCub
To find orphan pages on your blog, list the posts in your sitemap, export the pages that Search Console's Links report shows as linked from elsewhere on your site, and check by hand each post that appears only in the first list. An orphan page is a page that no other page on your site links to. Once you've confirmed one, decide whether readers should find it, and if they should, link to it from the posts it belongs with.
You'll need your sitemap, a Search Console property for your blog and a spreadsheet. If Search Console is new to you, what Google Search Console is and how to set it up covers the first week. A by-hand route for small blogs comes near the end.
Why an orphan post is a problem
Google's guide to how Search works describes how it learns that a page exists. It already knows some pages from earlier visits, it finds others in a sitemap you submit, and it discovers others through a link from a page it knows. Its own example of that last route is a category page linking to a new blog post.
Links do most of that work for new pages. Google's SEO starter guide, last updated 10 December 2025, says "the vast majority of the new pages Google finds every day are through links". An orphan post has no such link anywhere on your site. Readers can't browse to it either: unless they use your site's search box, they can reach it only from outside, through a search result, another site or a link you share.
Google's link best practices, also last updated 10 December 2025, set a simple standard: "Every page you care about should have a link from at least one other page on your site." Listing a post in your XML sitemap doesn't meet it. Google treats a submitted sitemap as a hint (Google: build and submit a sitemap), and its sitemap overview describes a properly linked site as one where every page you consider important can be reached through navigation: your menu, or links you placed on your pages.
Keep the ranking side in proportion. The link guide says Google uses links to find new pages to crawl and as a signal when it judges how relevant pages are. The starter guide adds that PageRank, one of Google's fundamental algorithms, uses links but is just one of many ranking signals. Neither page says how much one internal link moves a post, so treat a new link as a route to the post, not a ranking fix.
Step 1: List your posts from your sitemap
Open the sitemap that lists your posts. If you're not sure where yours is, XML sitemaps for bloggers shows the usual places to look.
Copy each address it lists into column A of a new spreadsheet, one per row, under a heading in A1. Leave out category, tag and author archives: in this check, they are the pages that should be doing the linking.
Your list is only as complete as your sitemap. A post that is missing from the sitemap and has no links won't show up, so if you suspect one, compare the sitemap with your blogging platform's list of published posts.
Step 2: Export the pages your site links to
According to Google's Links report help, checked on 8 October 2026, the report counts anything outside the property you have open as external. So open the property that covers your whole blog, then follow the path the help gives:
Open the Links report.
In Internal links, go to Top linked pages and click MORE for the full table.
Export the table with the page's download button. Google's help says this exports the entire table, up to 1,000 rows, and that you can export link data as a CSV file or a Google Sheet.
Copy the column of page addresses into column B of your spreadsheet, under a heading in B1.
Know what this list is before you rely on it. Google's help puts it plainly: "This report isn't a comprehensive list of every link on your site." It shows a sample of links, can leave out pages such as ones Google hasn't indexed, includes links Google found in the past that may since have been removed, and stops each table at 1,000 rows. A post missing from column B is a lead to check, not a verdict.
Step 3: Compare the two lists
First make both columns write addresses the same way. The report groups pages by canonical URL, the version Google picks when one page has several addresses, and Google's sitemap guidance asks you to list canonical addresses too. If one column uses https://www. and the other https://, or only one ends addresses with a slash, every row will look like a miss.
Then enter =COUNTIF(B:B, A2) in C2 and copy it down column C. Google's COUNTIF help describes the function as a conditional count across a range, so each row shows how many times that post's address appears in the export.
Filter column C to show the 0s, or sort the whole sheet by column C. Every 0 is a post that Search Console didn't list as linked from your own pages. These are your candidates.
Step 4: Confirm each candidate by hand
Work through the candidates one at a time:
Look where it should be linked. Open the category and tag pages the post belongs to, including their later pages, and your other posts on the same subject. Look for a link to the post's address.
Check that the links are real links. According to Google's link guide, Google can generally crawl a link only if it is an
<a>element with anhrefattribute. A post that readers reach only through your search box, or through a button that runs a script, may have no link Google can follow.Check how older posts load. Google's pagination guide says its crawlers don't click buttons and generally don't trigger JavaScript that waits for a user action. If your archives show older posts only through a Load more button or infinite scroll, blog pagination and SEO explains how to keep linked archive pages underneath.
Check links that a plugin adds. If a related-posts widget inserts its links with JavaScript, Google's link guide says to use the URL Inspection tool to make sure the link text is present in the rendered HTML. Inspect a post that shows the widget, click Test live URL, then View tested page, and search its HTML for the orphan's address.
Check whether Google has indexed the post. Inspect the candidate's own address in URL Inspection. The Links report can leave out pages Google hasn't indexed, so an unindexed post may be missing from your export for that reason alone. Why Google hasn't indexed your page covers that problem.
If you find no working link to it, treat the post as an orphan.
Two shortcuts won't settle it. URL Inspection's Referring page field shows a page Google possibly used to discover the URL, and Google's help says a missing value doesn't mean that no referring page exists. In the other direction, a post that appears in column B may be orphaned today, because the report can include links Google found earlier that have since been removed. After you change your theme, menus or categories, check your most important posts by hand even when they appear in column B.
Step 5: Decide what each orphan needs
Not every orphan needs a link. Sort them into three groups:
Posts you want found. If the post is accurate and still useful, link to it from related posts, as in Step 6.
Outdated posts. Update the post before you send readers to it; refresh or rewrite helps you decide how much to change. If another post already does the same job better, keyword cannibalization explains when to combine the two.
Pages not meant for browsing. A thank-you page, or a page made for one email campaign, can stay unlinked if you don't need people to find it. If you don't want it in search results either, keep it out of your sitemap: Google's sitemap guidance is to list the URLs you want to see in its search results. Leaving it out doesn't keep Google from indexing a page it already knows or finds through a link; to block indexing, the URL Inspection help points to a
noindextag or directive.
Step 6: Link each orphan from the posts it belongs with
Google's link guide asks you to think about which other pages on your site would help readers understand a given page, and to link to them in context. For an orphan, run that in reverse: find the posts whose readers the orphan would help. Then, for each post you keep:
Pick the posts that should point to it. Google's standard is at least one. Choose posts on the same subject whose readers would want the orphan next.
Add the link where the reader needs it. Put it in the relevant paragraph, with link text that says what the post covers. Internal links for SEO covers placement and wording in detail.
Check its category. Make sure the post sits in a category that fits, so the category page links to it too.
Keep it an ordinary link. An
<a href>link in the post's text is the kind Google's link guide says it can crawl.
Confirm each fix on the page itself, where the link now sits. The Links report shows links Google has found, so it changes only after Google recrawls the posts that carry your new links.
No Search Console data yet? Check a small blog by hand
On a new blog, or one without Search Console, you can run the same check by hand. Put your post addresses in column A as in Step 1. Then open your home page, every page of your blog's archive and each category page, and mark each post you find a link to. Posts left unmarked are your candidates; confirm them as in Step 4 (its two URL Inspection checks need Search Console).
Keep orphans from coming back
Give each new post a link from at least one existing post when you publish it. Run the comparison again every few months, and after any change to your theme, menus or categories.
Finding orphans is one check among several. To choose which page on your site to look at next, see how to check your website's SEO performance.