Why most internal linking is worse than it should be
Internal linking is one of the highest-leverage things a content team can do — and one of the most systematically neglected.
The reason is structural. New pages get published. The writer adds a couple of links to older pages, whichever ones come to mind. The older pages don't get updated to link back to the new one, because nobody's job is to go update them. Over time, the graph gets lopsided. Older pages accumulate outbound links; newer pages sit as orphans or near-orphans. Hub pages that should get lots of inbound links get few. Anchor text is repetitive because the writer of any given page thinks about that page's target keyword and uses it as the anchor everywhere.
None of this is anyone's fault. It's what happens without a process. This guide is the process.
The five checks in a full audit
A site-wide audit has five checks, run in order. Each produces a specific list. Fixing them in order gets you the most traffic recovery per hour.
Check 1: Orphan pages
An orphan is any page in your sitemap or CMS that no other page links to (excluding site-wide navigation and footer). Orphans are the worst internal linking problem because they're often not fully indexed and, when they are, they rank far below their potential.
How to find them:
- Export a full list of indexable URLs from your CMS or sitemap
- Crawl the site with a link crawler that captures all in-body links (Screaming Frog, Sitebulb, or similar)
- For each URL, count inbound in-body links from other pages on the site
- Filter to pages with zero inbound links
Every orphan gets a decision: link to it, redirect it, or noindex it. The wrong decision is "leave it as an orphan." Google's crawl budget doesn't reward orphans, and an orphan page is a page you paid to create that isn't earning anything back.
Fixing them: the orphan needs 3-5 inbound links from topically relevant pages. Not from any pages — from pages that are actually about a related topic. A "5 signs your roof needs replacement" orphan needs inbound links from your roofing service pages, your roof repair cost page, and any relevant blog content. Not from your privacy policy.
Check 2: Thin-linked destination pages
Not orphans — pages with a few inbound links, but too few to rank at their potential. Usually 1-3 in-body links from low-authority pages.
How to find them:
- From your crawl, for every URL, compute inbound link count
- Sort ascending, excluding orphans (already handled)
- Cross-reference against a "target" list of pages that should rank — your primary service pages, your top blog posts, your comparison pages, whatever matters commercially
- The pages that are on your target list but have fewer than ~5 inbound in-body links are the thin-linked destinations
Fixing them: for each thin-linked destination, identify 5-10 other pages on your site that could reasonably link to it in-body, and add the links. The link has to make sense in the flow of the source page's copy — don't force it. If a page can't be linked to naturally from anywhere, the page itself may need to be re-scoped.
Check 3: Hub page inbound depth
If you've built topical clusters — a hub page and a group of spoke pages that all interlink — the hub page should get inbound links from every spoke and from adjacent hubs. In practice, hubs often get inbound links from a subset of their spokes and nothing from adjacent hubs.
How to find gaps:
- Enumerate your hub pages
- For each hub, list the spokes that should link to it
- Check which spokes actually do link to it in-body
- The delta is your fix list
For adjacent hubs — hub A is about tankless water heaters, hub B is about traditional water heaters — check whether each hub links to the other with descriptive anchor text. Adjacency links strengthen both hubs.
Check 4: Anchor text diversity
For every important destination page, look at the anchor text on all inbound in-body links. Is it the same phrase 15 times? That's a signal to Google that the links are templated rather than editorial.
How to find over-templated anchors:
- From your crawl, group inbound in-body links by destination URL
- For each destination with 5+ inbound links, list the anchor text used
- Flag any destination where a single anchor is used more than ~50% of the time
Fixing them: rewrite a subset of the anchors to descriptive variations. If everything currently anchors as "emergency plumber Phoenix," change some to "emergency plumbing services in Phoenix," "24-hour Phoenix plumber," "our emergency plumbing team," and so on. The variation should feel like an editor wrote it, not a template.
Check 5: New-content link coverage
Every new page you publish should trigger updates to older pages so they link to the new one. This almost never happens without a process, so the audit catches the accumulated backlog.
How to find it:
- List all pages published in the last 6-12 months
- For each new page, identify 3-10 older pages that could reasonably link to it
- Check which of those older pages actually do
- Where the older pages don't link to the newer page, that's a fix
Fixing it: either update the older pages one-by-one, or install a rule that any new page ships with a "links added from" checklist so this doesn't accumulate again.
What the outputs of the audit look like
A completed audit produces five artifacts:
- Orphan fix list. Every orphan URL with 3-5 proposed source pages to add inbound links from.
- Thin-linked destination fix list. Every under-linked target URL with 5-10 proposed source pages.
- Hub-coverage matrix. Every hub with a checklist of spokes and adjacent hubs, ticked where the link exists and unticked where it doesn't.
- Anchor diversity rewrite list. Every over-templated destination with the current anchor distribution and proposed replacements.
- New-content backlink list. Every recent page with a list of older pages that should but don't link to it.
Combined, these five lists typically produce 100-500 discrete link changes for a mid-sized site (200-500 pages). Fixing them takes 2-6 weeks of part-time work by someone who knows the content.
The 80/20 quick audit
A full audit is a project. For teams that can't spare that, the 80/20 version:
- Find your orphans. Fix them. That's usually 60% of the traffic gain from the full audit.
- Find your top-10 commercial pages. Verify each has 5+ inbound in-body links from relevant pages. Add links where missing.
- For each of the top-10, check anchor diversity. Rewrite anchors if a single phrase is overused.
That's a one-day audit and it captures most of the value. The remaining 20% of gains take 10x longer to get, which is why smaller sites should start with the quick version.
Where a tool fits and where it doesn't
The mechanical parts — crawling, computing inbound link counts, grouping anchors by destination, flagging orphans — are tool work. Doing this manually on a 500-page site is a week of drudgery. WordBinder's Links pillar surfaces these lists continuously; Screaming Frog, Sitebulb, and Ahrefs all give you the data in a slower one-shot form.
The judgment parts — deciding which pages should link to which, writing anchor variations that sound editorial, identifying the "right" spoke for a given hub — are humans. Tools can suggest candidates; the editorial call is yours.
Combine the two and audits go from "big project every 12 months" to "continuous background maintenance," which is what you want. See the internal linking strategy guide for the theory side, and the content refresh cycle for how refresh and linking interact.
The takeaway
Internal linking is the last major ranking factor that most content teams still leave to chance. External backlinks are hard to earn. On-page content is table stakes. Internal linking is entirely within your control — and running a proper audit typically recovers 15-40% traffic on the pages you fix.
The audit doesn't have to be fancy. It has to be systematic. Five checks, run in order, produces the fix list. Fixing the list produces the traffic.