Internal Linking: The Cheapest SEO Work Nobody Schedules
Internal links are the one part of your link graph you fully control, and most sites treat them as decoration. Four checks (orphans, depth, anchor sameness, hoarding) fix more than most outreach does.
On This Page

A site with two hundred pages has thousands of places it could put a link, and the navigation has already claimed most of them. The interesting ones are the sentences in body copy where a writer could point at another page and usually does not. That gap is the cheapest work in search, and almost nobody puts it on a schedule.
An internal linking strategy is two jobs wearing one name. The first is discovery: links are how a crawler finds pages, and how often it decides to come back. The second is meaning. The words inside the link, and the page the link sits on, tell a search engine what the destination is about. Most teams solve the first and ignore the second. That is how a site ends up fully indexed and ranking for nothing in particular.
We would rather spend a day here than a month on outreach. Not because external links do not count, but because you own every one of these, you can change them before lunch, and nobody has to answer your email. If an SEO audit never opens the link graph, it has skipped the part of the site you could actually fix this week.
What follows is the audit we run, in the order we run it, and the argument for why it earns its place ahead of most of the work that gets quoted alongside it.
What an internal link actually does
A link is a request and a claim at the same time. The request is mechanical: follow this, it leads somewhere. The claim is editorial: this destination is relevant enough to interrupt a sentence for. Search engines read both, and they read the second one more carefully than most people expect.
The discovery job
Crawlers reach pages by following links. Submitting a sitemap helps them discover URLs, but a sitemap is a hint about existence, not a statement about importance. Links are the statement. A page listed in the sitemap and linked from nowhere is a page you have told a crawler about and then declined to vouch for.
Frequency follows the same logic. Pages that many other pages point at tend to get visited more often, so a change on a well-linked page is noticed sooner than the same change on a page hanging off the end of a chain. That is not a trick. It is what any crawler does with a finite budget and a very large web to get through.
The meaning job
The second job is the one worth the afternoon. Anchor text is a description of the destination written by somebody who is not the destination, which is exactly why it carries weight. Twenty pages linking to a service page with the words that describe that service are twenty small, independent statements about what it is. This is the same discipline as writing a page that answers a query instead of circling it, applied to the sentence rather than the page.
Context travels with the anchor. A link from a paragraph about pricing to a page about pricing carries more than the same anchor dropped into a footer, because the surrounding words agree with it. The sentence around the link is part of the link. Treat it that way and half the decisions make themselves.
Write down the ten to twenty pages that would hurt the business most if they disappeared. Do it before you look at any data, because once the crawl is open you will start optimising whatever is easiest to fix. The list is the filter for every finding that follows.
Why this beats the link building you were quoted for
Here is the position, stated plainly. For most sites under a few thousand pages, fixing the internal link graph will move more than an equivalent spend on acquiring external links, and it will do it sooner.
Three reasons, and none of them is that external links are worthless.
- You own the inventory. Every internal link is a decision you can make and unmake without a negotiation, a fee or a reply. There is no rejection rate and no waiting.
- The work is verifiable inside the site. You can prove a page went from six clicks deep to two. Nobody can prove an outreach campaign will land anything at all before it lands.
- It compounds with everything published afterwards. New content inherits the structure. A well-linked section absorbs each new page automatically, while a flat site makes every publication start from zero again.
The honest limitation: internal links cannot make an unremarkable page competitive against pages that have both better content and genuine citations from elsewhere. They redistribute attention inside your site. They do not manufacture standing outside it. If you are trying to rank a thin page against strong ones, this audit will not save it, and consolidating two weak pages into one good one probably will.
The audit: four checks in one afternoon
Crawl the site with any tool that exports a list of URLs, the internal links arriving at each one, the internal links leaving it, and click depth. Then run these checks in this order, because each one narrows the next.
- Put the crawl and the analytics side by side. You want pages that exist, pages that get visits, and the overlap between them. The rows in one column and not the other are the whole story.
- Find the orphans. Zero internal links in. Then find the near-orphans: one or two links in, both arriving from the same template.
- Sort by click depth. Anything four or more clicks from the home page is a candidate, whether or not it is orphaned.
- Group the anchors. Count how many distinct phrases point at each page on your list. One phrase repeated everywhere is a problem. So is forty unrelated ones.
- Find the hoarders. Pages with two hundred outbound internal links pass very little through any single one of them, and they are usually templates nobody has read since launch.
Orphans and near-orphans
An orphan page has no internal links pointing at it. It usually got there honestly: a campaign landing page, an old article that fell off the end of the pagination, a product variant that lost its category. It may still sit in the sitemap and still take the occasional visit, which is precisely what stops anyone noticing.
The near-orphan is more common and does more damage. It has one or two links arriving, both from an archive page thirty entries deep. Technically discovered, practically invisible. The fix is not to link to it from everywhere. The fix is two or three links from pages that genuinely relate to it, written into prose by somebody who has read both pages.
Depth from the home page
Click depth is how many clicks it takes to reach a page from the home page along the shortest path. It is a rough proxy for importance, and it tracks how often a page gets revisited. Three clicks is comfortable for most sites. Five or more and you are asking for patience nobody is obliged to give you.
Depth is usually an architecture symptom rather than a linking one. Pagination is the classic cause: put a hundred articles behind twenty pages of a ten-per-page list and the hundredth is ten clicks from anywhere at all. Hub pages fix this better than pagination tweaks do, and they fix it in a way that helps readers as well as crawlers. The same structural thinking sits under technical SEO work more broadly.
Anchor text sameness
Two failure modes sit at opposite ends of the same problem. The first is sameness: every link to a page uses an identical phrase, usually because it came from a template or from a well-meant instruction to stay consistent. That pattern reads as manufactured, and it throws away the chance to describe the page in several honest ways.
The second is noise. Forty links whose anchors are "here", "read more", "this page" and the page title repeated verbatim. Those tell a crawler nothing, and they tell somebody using a screen reader considerably less. A list of links read out of context should still make sense, which is an accessibility requirement and a search benefit arriving in the same sentence.
What we aim for is a handful of natural variations a person would plausibly write, each one accurate about the destination. If you cannot describe a page differently three times, it may not deserve three links.
Adding link attributes to steer authority around your own site stopped working a long time ago, and the versions still being sold usually make crawling worse rather than better. If a page should not be linked, do not link it. If it should, link it properly and leave the attribute alone.
Pages that hoard links
A page carrying a very large number of outbound internal links divides whatever it can pass along across all of them. Mega-menus, tag clouds and related modules listing thirty items are the usual suspects. None of these are forbidden. They are a cost, and the cost is paid by every link on the page, including the ones you care about.
The rule we apply: navigation carries the pages a visitor may need at any moment, body copy carries the pages this page is about, and everything else earns its place or comes out. A tag cloud that exists because the theme shipped with one is not an architecture decision. It is a leftover.
Where the links should come from
Not every internal link is the same instrument. Confusing them is how sites end up with a hundred navigation links and three in prose, which is precisely backwards.
| Placement | What it tells a crawler | What it tells a reader | Where it fails |
|---|---|---|---|
| Primary navigation | These pages matter across the site | Here is the whole offer | Everything looks equally important |
| Body prose | This destination is about these words | This is worth interrupting a sentence for | Nobody schedules the writing of it |
| Breadcrumbs | This page sits inside this section | Where am I, and how do I go up | Missing on the pages deepest in the site |
| Related cards | These pages form a group | Read one of these next | Generated by tag, so the group is arbitrary |
| Footer | These pages exist | Legal, contact and the long tail | Used as a dumping ground for keywords |
| Hub and index pages | This is the entry point to a set | Start here | Built once at launch and never revisited |
Body prose is the row that is chronically underused, and it is the only one that cannot be generated. A template can produce related cards. Only a writer who has read both pages can decide that this sentence, in this paragraph, should point at that page. That is why we treat linking as part of content and organic growth rather than a technical chore filed after publication.
Structured data is the parallel case worth knowing about. It describes a page to a machine in a controlled vocabulary rather than in prose, and it answers a narrower question. Read which schema types earn something and which are decoration before adding either, because both are cheap to add badly and neither rescues a page that no other page will vouch for.
Turning the audit into an internal linking strategy
An audit produces a list. A strategy decides what happens to the list, who does it, and when it happens again. Most link audits die at the first step, because the output is a spreadsheet of four hundred rows with no owner attached to any of them.
Sort the findings by cost and consequence. A page that earns money and sits five clicks deep is worth an hour today. An article from four years ago with two inbound links is worth nothing this quarter. If somebody else handed you the audit, how to read an audit you were sold is a useful companion, along with the anatomy of a finding, which is really an argument about what makes a finding actionable at all.
Reporting matters more than it sounds. A finding nobody can act on is a finding that gets archived. Tooling that resolves raw checks into severities, priorities and a recommendation, as Prooflin does, is doing the unglamorous half of the job: making the list arguable rather than merely long.
Then set a cadence. We would run the crawl quarterly and add one line to the publishing checklist: before a new page goes live, name three existing pages that should link to it, and add those links in the same session. That habit alone stops the orphan problem regenerating, which it otherwise will, every quarter, indefinitely.
Measuring it without fooling yourself
Measure the structure, not the ranking. Click depth, inbound internal links per page, and the share of important pages with at least three contextual links arriving are all things you changed and can verify. Rankings move for reasons you did not cause, and crediting them to last week’s linking pass teaches the team the wrong lesson. It is the same mistake as assuming your best performing channel is what the report says it is.
Measure what you changed. Ranking is the weather. The link graph is the thing you actually built.
Four ways this goes wrong
- Automated linking on keyword match. A plugin that turns every instance of a phrase into a link produces sentences no editor approved, pointing at destinations nobody checked. It makes anchor sameness worse, at volume.
- Pointing everything at the page you want to rank. A hundred links from a hundred unrelated contexts is a pattern rather than an endorsement, and readers notice it before crawlers do.
- Treating the fix as a one-off project. Sites regenerate orphans. Every campaign, every replatform, every change to how the archive paginates puts pages back out of reach.
- Building roads to pages that should not exist. Some orphans are orphaned because they are redundant. Merge them or retire them instead of linking to them out of tidiness.
The redesign case deserves its own warning. Internal links survive a rebuild only if somebody deliberately keeps them, and the usual pattern is that body copy gets re-typed into a new template with every link stripped out along the way. If a website migration is anywhere on the roadmap, the link graph belongs on the inventory beside the redirect map, and it is almost never there.
Where we would start on Monday
Take the ten pages that would hurt most to lose. Not the ten with the most traffic: the ten that do work for the business. For each one, open the crawl and answer two questions. How many pages link to it from inside body prose, and what words do they use to do it?
If the answer is fewer than three, write the links. If the wording is identical everywhere, vary it honestly. Then turn the same ten pages around and look at what they link to, because a page that receives and never passes anything on is a dead end, and dead ends are where sessions stop. That is one afternoon, and it is more than most sites have ever done here.
One condition reverses all of this. If the site is under roughly thirty pages, the link graph is not the problem you have. There is not enough structure for structure to matter, and the hours go into making three pages genuinely good instead. Above that line, this is the best ratio of effort to result on the list, and it is still the work that never gets scheduled. If you want a second pair of eyes on a specific crawl, tell us what the site is and what it sells.
Common questions.
What is an internal linking strategy?
An internal linking strategy is a deliberate plan for which pages on your own site link to which others, and in what words. It covers navigation, breadcrumbs, related modules and, above all, links written into body copy. The aim is twofold: make every page reachable in a small number of clicks, and describe each destination accurately through the anchor text pointing at it.
How do I find orphan pages on my site?
Crawl the site with a tool that reports inbound internal links for each URL, then compare that list against your sitemap and your analytics. Any URL that appears in the sitemap or the analytics with zero inbound internal links is an orphan. Check for near-orphans too, which receive one or two links from a single archive or pagination template and are effectively invisible to readers.
How many internal links should a page have?
There is no fixed number, but the constraint is real: every outbound link on a page shares whatever that page can pass along. In a long article, three to eight contextual links is comfortable, and each one should exist because a reader might genuinely want it. Pages carrying hundreds of links, such as tag clouds and mega-menus, dilute all of them at once.
Does anchor text matter for internal links?
Yes, and arguably more than for external links, because you write all of it. Anchor text is a short description of the destination supplied by a different page, so accurate and varied wording helps a search engine understand what the target covers. Avoid both extremes: identical phrasing on every link looks manufactured, and vague anchors such as "here" or "read more" describe nothing at all.
Is internal linking better than building external links?
For most sites under a few thousand pages, internal linking returns faster, because you control every link and can change it immediately with no outreach and no rejections. External links still matter for competitive terms, since they carry standing earned outside your own site. The sensible order is to fix the structure you own first, then pursue the citations you have to earn.
How often should internal links be audited?
Quarterly suits most sites, with one exception: run an audit immediately after any redesign, replatform or large content migration. Those events strip links out of body copy without anyone deciding to. Between audits, add a step to the publishing checklist requiring three existing pages to link to each new page before it goes live, which stops orphans forming in the first place.
Facing this in your
own business?
Tell us where you’re headed — we’ll map the shortest honest route.