Finding the Ghost Pages: An Orphan Page & Anchor Text Audit
Objective: Given a crawl of a live content section, find pages with zero internal links pointing at them and grade the site's anchor text quality, then produce a prioritized fix list a content team can act on this week.
You're the SEO analyst at ThredUp, the online resale marketplace, ahead of a push to grow organic traffic to its styling and sustainability guide content. Before anyone writes a single new post, your manager wants to know how much internal-linking value is already being wasted on the existing guide library.
Two passes over the same crawl: first isolate orphaned pages by diffing the sitemap against what's actually discoverable by following links, then export every internal link's anchor text and grade how much of it is generic versus descriptive.
How many published guide pages are actually invisible to Google because nothing links to them, and how much anchor text is wasting its relevance signal?
Before you start
What you'll need
- —Ability to run and export a crawl in Screaming Frog SEO Spider
- —Basic spreadsheet skills (VLOOKUP or equivalent, filtering, pivoting)
- Orphaned page
- a page with zero internal links pointing to it, making it hard for crawlers to find or treat as important, even if it's in the sitemap.
- Anchor text
- the clickable text of a link; descriptive anchor text tells Google and readers what the destination page covers, generic text like 'click here' tells them nothing.
Free path (everything below is enough to finish)
Free for up to 500 URLs, comfortably covers a 214-page guide library in one crawl with no cost.
Free, and shows Google's own recorded link graph, a useful second source against the crawl-based diff.
Paid upgrades (optional, faster/deeper)
Both passes in this project are fully completable free: a 214-URL crawl is well inside Screaming Frog's 500-URL free tier, and Search Console's Links report costs nothing.
The free path (Screaming Frog + Search Console) is complete for a library this size; Ahrefs' Site Audit earns its cost once a site outgrows Screaming Frog's free crawl limit.
The process
2 steps
Step 01 of 02
The lesson's Common Mistakes callout names orphaned pages, pages with zero internal links pointing to them, as one of the most common SEO errors: a page can have great content, but if nothing links to it, crawlers may never find it or may treat it as unimportant.
The XML sitemap lists 214 guide URLs. A standard crawl starting from the homepage and following only links only discovers 187 of them. What does that 27-page gap actually mean, and how do you confirm it before flagging it to the content team?
Procedure
- Upload the sitemap.xml to Screaming Frog in List Mode and export all 214 URLs
- Run a standard crawl from the homepage following only discoverable links
- Use a VLOOKUP (or Screaming Frog's crawl comparison) to find sitemap URLs absent from the link-discovered list
- For each gap URL, manually check the page in a browser to confirm zero internal links point to it, ruling out a temporary crawl-budget miss
Sitemap URLs: 214 Discovered via internal links: 187 Gap (orphan candidates): 27 Confirmed orphans (sample of 5): /guides/how-to-consign-designer-handbags 0 inbound internal links, last modified 2025-02 /guides/sustainable-fashion-glossary 0 inbound internal links, last modified 2024-11 /guides/thrift-flip-tutorials 0 inbound internal links, last modified 2025-01 /guides/capsule-wardrobe-basics 0 inbound internal links, last modified 2024-09 /guides/vintage-denim-care 0 inbound internal links, last modified 2025-03 (22 more, full list in export)
Healthy
Every sitemap URL is reachable within a few clicks by following real links from the homepage or a category hub; the sitemap and the crawl agree.
Unhealthy
27 published guides sit in the sitemap with zero pages linking to them, meaning Google may never crawl them at all or may treat them as unimportant even if they're excellent content.
What this means
A page existing in the sitemap doesn't mean Google treats it as real. The sitemap is a hint; internal links are the actual discovery and authority mechanism the lesson describes, so a sitemap-only page is functionally invisible until something links to it.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| 27 guide pages have zero internal links pointing to them | Add at least one contextual internal link to each orphan from a topically related, already-linked page this week | half day |
| Nobody currently checks for orphans before or after publishing | Add an orphan-page check to the quarterly content audit using the same sitemap-vs-crawl diff | 5 min |
Step 02 of 02
The lesson contrasts weak anchor text ('click here') against strong, descriptive anchor text ('marketing software pricing options'), noting the second version tells Google exactly what the destination page covers while the first tells it nothing.
Screaming Frog's Internal Links export lists 1,240 contextual links across the guide library. What share uses generic anchor text, and which specific phrases show up most?
Procedure
- Export the full Internal Links report from the Screaming Frog crawl
- Filter to links inside the article body (exclude nav, footer, sidebar links)
- Flag any anchor text matching 'click here', 'read more', 'learn more', or 'here'
- Calculate what percentage of the 1,240 contextual links fall into the generic bucket
Contextual internal links audited: 1,240
Generic anchor text ('click here' / 'read more' / 'learn more' / 'here'): 318 links (25.6%)
Descriptive anchor text: 922 links (74.4%)
Top 5 generic offenders by frequency:
"read more" 146 occurrences
"click here" 89 occurrences
"learn more" 61 occurrences
"here" 22 occurrencesHealthy
Under 5% of contextual links use generic anchor text; the vast majority describe the destination page's actual topic.
Unhealthy
A quarter of all contextual links (318 of 1,240) tell Google and readers nothing about what they're about to click into.
What this means
318 wasted relevance signals is 318 missed chances to tell Google what each destination page covers, exactly the gap the lesson's weak-vs-strong anchor text comparison describes, just multiplied across the whole library.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| 146 links use 'read more' as anchor text | Rewrite the 20 highest-traffic instances first with descriptive anchor text naming the destination topic | half day |
| No style guide rule currently bans generic anchor text | Add a one-line rule to the content style guide: no 'click here' or 'read more' in body copy links, ever | 5 min |
Analyze your findings
What to look for
- Confirmation, not assumption
- Does the crawl-diff gap actually mean zero inbound links, or could it be a temporary crawl-budget miss?
- Scale of the gap
- What share of the total library is affected, a handful of pages or a meaningful chunk?
- Anchor text pattern
- Is generic anchor text scattered randomly, or concentrated on a few repeated phrases worth fixing first?
- Actionability
- Does each finding point to a specific fix (which page should link to the orphan, which phrase to replace), not just a general problem statement?
Make the call
The sitemap lists 214 URLs but the homepage-following crawl only discovers 187. What's the correct next step before flagging anything to the content team?
Recommendation · Priority: Medium
“The guide library has 27 confirmed orphan pages (12.6% of the 214-page sitemap) receiving zero internal links, and 25.6% of contextual internal links (318 of 1,240) use generic anchor text like 'read more' or 'click here'. Before any new content is written, the content team should add at least one contextual link to each orphan from a topically related, already-linked page, and rewrite the 20 highest-traffic generic anchors with descriptive text naming the destination topic. Both fixes are low-effort and recover existing content value rather than requiring new production.”
Common mistakes
What trips people up
Treating sitemap inclusion as proof of discoverability — the sitemap is a hint, not a guarantee, a page can sit in the sitemap for years while receiving zero internal links and functioning as invisible to crawlers.
Flagging a crawl-diff gap as an orphan without manual confirmation — a temporary crawl-budget miss can produce the same gap as a true orphan, and reporting the wrong pages wastes the content team's time.
Fixing anchor text without measuring the actual percentage first — 'a lot of our links say click here' is not actionable, a precise count (25.6%, 318 links) is what gets prioritized against other work.
Recommending a generic 'add more links' fix — each orphan needs a specific, named source page, and each generic anchor needs a specific descriptive replacement, not a vague instruction to link more.
Final deliverable
An audit sheet listing all confirmed orphan pages with a proposed linking source for each, plus a full anchor-text fix list (generic anchor found -> proposed descriptive replacement) sorted by traffic value.
See a reference example
Applying the same two-pass audit to a Rent the Runway-style style-guide library (illustrative): 19 orphaned 'how to style' posts were found sitting entirely outside the link graph despite ranking on page 2 for their target terms, each got one contextual link added from a linked category hub within a day. Anchor text audit found 31% of links used 'shop the look' as identical anchor text on every single reference, a real but different problem than generic text: exact-match repetition. The fix rotated in three descriptive variants instead of one repeated phrase.
Success criteria
You're done when you can:
- Correctly diffed the sitemap against a link-discovered crawl to isolate real orphan candidates, not just sitemap noise
- Manually confirmed at least one orphan page in a browser before flagging it, not relying on the crawl diff alone
- Calculated the exact percentage of generic anchor text across the contextual link set (not an estimate)
- Proposed a specific linking source page for each orphan, not just a generic 'add a link' instruction
Key takeaway
Internal linking value is often wasted, not missing. A sitemap full of good content can still function as invisible to Google if nothing links to it, and a quarter of a site's link equity can leak away through generic anchor text alone. Both problems are fixable in an afternoon once they're actually measured.