Technical SEO · September 14, 2026 · 7 min read
Internal Links That Move Rankings, and the Ones That Do Nothing
Most internal links on a site are inert — grade them instead of counting them, and find the starved pages sitting one contextual link away from moving.
By FluxWriter Team
Internal links are the one ranking lever you fully control, and most of yours are doing nothing. The usual advice — three to five per post — counts links instead of weighing them, which is how sites end up with thousands that move nothing at all. This covers what makes a link count, the reports that separate the live ones from the dead ones, and the fixes worth making first.
Why Most Internal Links Do Nothing
Every link on your site gets crawled. Very few of them get read as a recommendation, and the gap between those two facts is where most internal linking effort disappears.
The split that matters is between a link a person placed for a reason and a link a template printed. Navigation, footers, sidebars, related-post modules — every one of them fires on every page and points at the same URLs from everywhere. Search engines have had two decades to learn what that pattern means. Those links still build crawl paths. They just stop carrying an opinion, because an opinion repeated 4,000 times identically is not an opinion.
What actually moves a page is a link somebody chose to place. It sits in body copy on a page about a related subject, and its anchor text says where it goes before you click. Do the arithmetic on your own site. A 200-post blog running a template that fires 30 links per page carries something like 6,000 template links against 700 editorial ones. Those figures are illustrative, and the ratio rarely comes out kinder. The 700 do nearly all of the work.
Count the second number.
The Four Properties That Make a Link Count
Placement. A link inside the main content is weighted differently from one in boilerplate, and that is the largest single split you can act on. Whether a link high in the body beats one near the end is unsettled, so do not rebuild a post around it. Boxed "you might also like" modules sit closer to boilerplate than to editorial content, whatever they look like.
Anchor text. A descriptive anchor tells the destination page what it is about. "Click here" and a bare URL tell it nothing. Exact-match anchors are not required — a natural phrase containing the target's main term does the job, and 4–8 distinct phrasings pointing at one page is healthier than 40 copies of a single string.
The source page. A link from a page nothing points at, or from a page excluded from the index, hands over very little. A source with nothing coming in has little to pass on. Confirm your archive is being crawled before you mine it for links.
Uniqueness on the page. When one page links to the same URL three times, assume a single one of those links is doing the work. Which one has been argued about for years without confirmation — treat it as an operating assumption, put your best anchor on the first mention, and stop worrying about the rest.
Sorting Live Links From Dead Ones
Most link audits stall at a number: 12 inlinks, with no way to judge whether that is good or bad. Grading beats counting. Sort every internal link into one of five types:
| Link type | What it changes | Verdict |
|---|---|---|
| Body-copy link, descriptive anchor | Rankings and discovery | ✅ The kind worth adding |
| Sitewide nav or footer link | Discovery and crawl paths | ⚠️ Useful, not persuasive |
| Auto-generated related-posts block | Little that shows in reports | ⚠️ Keep it, expect nothing |
| Repeat link to a URL already linked on that page | Nothing measurable | ❌ Spend the slot elsewhere |
| Link from a noindexed or orphaned page | Close to nothing | ❌ Fix the source first |
The second row is where the disagreement lives. Navigation matters enormously for crawling and for readers, and thinning it to concentrate value is the sculpting trick that stopped working around 2009 — it is simply not the thing that lifts a page from position 14 to position 7.
Where the Inert Links Hide
Four patterns account for most of the dead weight, and none of them look broken in a browser.
Links a crawler never renders. If your links only appear once a script has run, they may be discovered slowly or not at all. Every serious site audit tool has a JavaScript rendering mode — crawl the site with it on and again with it off, then compare inlink totals. A gap above 10–15% deserves attention.
Anything pointing through a redirect. An internal link to an old URL still works for a reader and still passes value through the redirect, but the extra hop costs crawl time and the link dies for good the day somebody clears out the old redirects. Your audit's internal redirect report lists them. Fix the source link, not the redirect.
Buried sources nobody reaches. A link from depth 7, reachable only by clicking through paginated archives, is technically an inlink and practically noise. No indexable page should sit deeper than depth 4.
Footer stacks aimed at money pages. Fifteen keyword-loaded footer links to service pages is the oldest move in internal linking, and it has been priced in for a long time. It costs you nothing. It also earns you nothing, so the effort belongs in body copy instead.
The Report That Finds Starved Pages
Start from a crawl, not from memory. Screaming Frog, Sitebulb and Ahrefs Site Audit all export unique internal inlinks and crawl depth per URL in the same table. Sort ascending by inlinks and the work queue builds itself in about ten minutes.
Three flags are worth setting. Any indexable page holding fewer than 3 unique inlinks. Any page at depth 5 or deeper. Any page whose inlink count exactly matches your sitewide template total, which means every link it has came from a menu.
Then bring in Search Console. Pull 16 months of Performance data by page and join it to the crawl export in a spreadsheet. Pages with real impressions, an average position between 8 and 20, and fewer than 5 body-copy inlinks are the strongest candidates on the list — demand is already proven, and the cheapest signal available is the one missing.
Leave the pages with no impressions alone for now. Those have a content or intent problem, and links will not fix it.
Fixing It in the Right Order
Work by business value rather than by audit severity. Take the ten pages that make you money, count the body-copy inlinks each one holds, and bring every one of them up to at least 8 from topically related posts. That is roughly a week of work and the largest single gain on the table.
Repair the intake process next, because an audit you repeat every quarter is a tax. Every new post should collect links from 3 existing pages within seven days of publishing, chosen by subject closeness rather than by whichever post you happen to remember.
A quarterly pass across your top 20 posts by clicks closes the loop, adding links to everything published since the last one. Start there rather than at the new posts — a two-year-old page with 40 inbound links has something to hand down, and a post published last Tuesday has none.
Measure with a 28-day before-and-after on average position at stable impressions, and give it 8–12 weeks before you call it. Gains here are real and slow. If you edited the content at the same time, the test is void.
FAQ
How many internal links should each post have?
There is no correct count, and chasing one produces padding. A 1,400-word post that genuinely references 5 to 8 related pages is doing fine. What matters far more is the inbound side — how many body-copy links point at that post, which pages they come from, and whether those sources rank for anything.
Do links in a related posts widget count for anything?
Barely. They are template-generated, they rotate as the widget refreshes, and they carry generic anchors, so treat the ranking effect as close to zero. They still help readers and still create crawl paths, which is reason enough to keep them running. Just do not log them as internal linking work.
How long before internal links change a ranking?
The destination has to be recrawled first, which takes 3 to 14 days depending on how often the source pages get visited. Position movement typically shows up between weeks 4 and 12. If nothing has moved after a full quarter, the ceiling is competitive rather than structural.
The Practical Takeaway
Grade links, do not count them. Export unique inlinks and crawl depth for every indexable URL, flag anything sitting below 3, and cross that against 16 months of Search Console data to find pages with impressions, an average position between 8 and 20, and no body-copy links pointing at them. Bring your ten revenue pages to at least 8 contextual inlinks with varied descriptive anchors, then wait 8–12 weeks before judging the result. Start with the one page that earned you the most last quarter.
If you are publishing fast enough that new posts pile up faster than links get added to them, tools like FluxWriter can help place contextual links into each draft as it is produced — but deciding which pages deserve the value, and reading the crawl data that proves the gap, stays your judgement call.