Internal Link Discovery Tools
Internal linking is the only authority lever you fully control, and most sites have never measured theirs. Ivan Sp builds agents that analyse an existing site to find orphaned pages and the internal links it should carry but does not. Internal linking is among the highest-value technical fixes available, because it needs no new content and no external outreach.
Finding Orphans First
An orphaned page carries no internal links pointing to it from anywhere on the site. Crawlers reach orphans slowly or not at all, and users cannot reach them through navigation regardless of content quality.
Orphans accumulate quietly. Pages published outside the main navigation, old campaign pages, and pages left behind by a redesign are the usual sources.
Matching Pages That Should Connect
The agent compares pages by topic rather than by keyword overlap, then proposes links where a genuine relationship exists and no link does. Each proposal names the source page, the destination, the suggested anchor text, and the reason for the connection.
Proposals get reviewed rather than applied automatically. A topical match is evidence of a relationship, and whether a link genuinely helps a reader is a judgment the agent does not make.
Analysing Link Distribution
Beyond individual links, the agent reports on structure. Analysis covers how deep pages sit from the homepage, which pages receive the most internal links, which receive none, and where anchor text repeats past a healthy threshold.
The distribution usually shows the same pattern. Internal links pool on pages that were already strong, while pages needing support receive almost none.
Directing Equity Deliberately
Recommendations point established pages toward pages that need help. A page with existing traffic and authority linking to a new or underperforming page transfers something the weaker page cannot earn on its own yet.
Anchor text recommendations follow fixed rules. Anchors run four to eight words, describe the destination rather than repeating a bare keyword, avoid the opening paragraph, and do not repeat the same phrase past a cap.
Discovery Compared to Generation
This agent analyses pages that already exist. Writing linking logic into pages as they get generated is separate work, covered under internal linking automation inside generated templates.
Sites doing both usually run discovery first. Fixing the existing structure establishes the pattern that new generated pages then follow.
What the Analysis Finds
- Orphan pages
- URLs present in a sitemap or analytics with no internal link pointing at them.
- Click depth
- The fewest clicks from the homepage to each page.
- Inlink distribution
- How many internal links point at each URL, ranked against commercial value.
- Missing connections
- Pages that discuss the same topic and never link to each other.
- Anchor text audit
- Every generic anchor, grouped by the destination it fails to describe.
- Equity direction
- Which pages currently receive link authority and which receive almost none.
- Data sources
- A full crawl, joined to the sitemap and to analytics for orphan detection.
- What this is not
- Link generation. The analysis reads an existing site rather than building one.
Find One Orphan Yourself
I suggest a check that needs only Search Console.
- Open Search Console, then Performance, and set the range to the last 12 months.
- Switch to the Pages tab and sort by impressions.
- Pick a page from the middle of the list that you had forgotten existed.
- Use your site search and your navigation to try to reach it without the address bar.
A page you cannot reach by clicking is a page a crawler reaches only through the sitemap. Most sites find one within a few minutes of looking.
What This Looks Like on a Wednesday
Consider a content lead who has published weekly for three years and cannot explain why half the archive earns nothing. Every post was researched and every post shipped.
She wants those years to have compounded. Watching them sit there earning nothing is the part that keeps her arguing for budget she should not have to argue for.
Ivan Sp joins the crawl to her sitemap and her analytics. Fifty-nine pages have no internal links at all, twelve of them still earn traffic, and three carry links other people gave her.
Where the Standard Internal Linking Advice Breaks Down
How many pages on your site have no internal links pointing at them?
- The usual advice
- Add related-post widgets and a breadcrumb trail, since automated linking handles internal links.
- What holds up in practice
- Automated widgets link by recency or by category rather than by genuine topical relationship. The pages that should connect most often are not the ones a widget picks, and orphans stay orphaned because no widget knows they exist.
Consider a site running a related-posts widget on every article. Internal link counts look healthy in any audit tool.
The widget links by category and recency. Forty-seven pages outside those rules receive no internal links at all, and nobody had a report that would show it.
I crawl the site and join the crawl to the sitemap and analytics. Orphans only appear when a source outside the crawl says the page exists.
Orphan pages are invisible to the tools most sites already run. They accumulate quietly and cost the full price of having been written.
Every orphan page was paid for once and is earning nothing. Most sites have dozens and no report that would ever mention them.
Four Things Commonly Assumed About Internal Links
Which of these describes your internal linking?
I meet these four assumptions on most architecture audits.
| Commonly assumed | What actually holds |
|---|---|
| Automated widgets handle internal linking. | Widgets link by category or recency rather than by topical relationship, and they cannot link to pages they do not know about. |
| A crawl finds every page. | A crawler follows links, so it cannot find a page nothing links to. Orphans appear only when a sitemap or analytics source is joined in. |
| Orphan pages are rare. | Orphans accumulate from removed navigation, retired campaigns, and imported content. Most audits find them in the dozens. |
| Link count is the metric. | Placement and anchor text carry most of the value. A hundred footer links describe a page less well than five contextual ones. |
| Internal linking is a one-time fix. | Every publishing cycle and every navigation change creates new orphans and new missing connections. |
Internal linking needs no outreach, no new content, and nobody’s permission. Few technical fixes available to you have that combination.
A Worked Example: What Joining Sources Reveals
Consider one site analysed three ways. The comparison below is illustrative, written to show why the join matters. No client engagement is described here.
| Method | Pages found | Orphans detected |
|---|---|---|
| Crawl only | 612 | 0, since a crawl cannot see them |
| Crawl plus XML sitemap | 659 | 47 |
| Crawl plus sitemap plus analytics | 671 | 59 |
| Of those orphans, with organic traffic | Not visible | 12 |
| Of those orphans, with inbound external links | Not visible | 3 |
| Correct action | Unknown | Link 15, remove 44 |
I join all three sources before drawing any conclusion. The first row is what most audits report, and it reports zero orphans by construction.
Crawling for orphans is searching a dark room for something using only the light switch you can already find. The method rules out the answer before it starts.
The last two rows change the action completely. Twelve orphans with traffic and three with external links are assets, and the other forty-four are cleanup.
How the Analysis Runs
I join the crawl to external sources first, since orphans are invisible to a crawl alone.
- Crawl the full site, with rendering enabled where content loads client-side.
- Connect the XML sitemap and an analytics source before the crawl starts.
- Run the crawl analysis step, which is what populates the orphan and link score data.
- List every orphan, then check each for organic traffic and for inbound external links.
- Decide per orphan whether the correct action is linking, consolidating, or removing.
- Export click depth per URL and list commercially important pages deeper than three clicks.
- Export inlink counts and compare the ranking against the pages that actually earn.
- Identify pages covering the same topic that do not currently link to each other.
- Audit anchor text and group every generic anchor by the destination it fails to describe.
- Re-crawl 30 days after changes and confirm depth, inlinks, and orphan count all moved.
How This Engagement Is Scoped
I scope discovery work by crawl size rather than by the number of fixes.
- What arrives
- An orphan list with a decision per page, a depth report, an inlink report, and an anchor audit.
- Typical duration
- Two to three weeks for a site under ten thousand URLs.
- What the client supplies
- Sitemap access, analytics access, and CMS access for the changes.
- Included
- Crawl, source joining, orphan detection, depth analysis, anchor audit, and a verification crawl.
- Not included
- Generating links inside templates, which is a separate build.
- What changes the estimate
- Sites above roughly fifty thousand URLs, or a headless front end.
- How it is quoted
- After a short scoping call, once crawl size is known.
Tools and Primary Sources
The references below cover the tooling and the behaviour. Each opens in a new tab.
- Screaming Frog SEO Spider joins a crawl to sitemap and analytics sources, which is what makes orphan detection possible.
- Google crawlable links guidance sets out what makes a link followable and why anchor text carries meaning.
- Google site structure guidance covers hierarchy and how a crawler discovers pages.
- Ahrefs Site Audit reports orphan pages and internal link distribution from its own crawler.
Common Questions
How many internal links should a page have?
There is no fixed number. Useful measures are whether important pages sit within three clicks of the homepage and whether every page has at least one link pointing to it.
Is it worth linking from old blog posts?
Often yes, and older posts with existing traffic are among the most valuable link sources on a site. Their authority is already earned and frequently unused.
Can the agent apply the links automatically?
Technically yes, and applying them automatically is not recommended. Reviewed placement avoids links that are topically valid and unhelpful in context.
Why can a crawler not find orphan pages?
A crawler follows links, and an orphan has none pointing at it. Detection requires joining the crawl to a sitemap or an analytics source that knows the page exists.
Discuss This Work
The first call is a free 30-minute consultation with no pitch attached. You receive an honest assessment of where the site stands and what can realistically be built.
