Internal Linking for SEO: 97% of Your Internal Links Say Nothing
I audited every editorial internal link on this blog. 353 links across 81 posts, 83 of them pointing at one page, and 54 of those 83 using the exact same anchor text. Nobody decided any of that.

I counted every editorial internal link on this blog. There are 353 of them across 81 posts. Eighty-three point at the same single page, twenty-two posts receive none at all, and 54 of the 83 links to our most-linked page use the identical anchor text.
That is our site, audited honestly, and it is not unusual. It is what internal linking looks like everywhere once you stop counting the links your template puts there for free.
Every guide on this keyword opens with the same two problems: orphan pages and crawl depth. Find the pages nothing links to, find the pages buried six clicks deep, fix both, done. Those are real problems. They are also the two easiest ones, and solving them tells you almost nothing about whether your internal linking is any good.
Here is the argument this post makes instead. An internal link is the only link on the web you control outright, and most sites spend virtually all of theirs saying nothing. The rest is the arithmetic behind that sentence, a real audit of our own site that came out worse than the model predicted, and the method I would use to fix it.
Template links and editorial links are not the same thing, and only one of them carries information#
Open any page on your site and count the internal links on it. On a mid-sized SaaS or ecommerce site you will find somewhere between forty and a hundred and twenty.
Now sort them into two piles.
The first pile is template links: global navigation, the mega-menu, the footer, the sidebar, breadcrumbs, the related-posts widget, the "you might also like" row. These appear on every page, or on every page of a type. A developer placed them once in a component file and nobody has thought about them since.
The second pile is editorial links: links a writer put inside a sentence because that sentence was about the thing on the other end.
Nearly everything in the first pile is on every page of your site, which means it cannot, by construction, distinguish one page from another. If your footer links to /pricing from all 500 pages, the fact that this page links to /pricing tells a search engine nothing about this page. It is a constant, and constants carry no information.
The second pile is where all the signal lives. It is also, on nearly every site, tiny.
Do the arithmetic on your own site before you read another word. A 500-page site with a 40-link header and footer carries 20,000 template internal links. If 200 of those pages are articles averaging three in-body editorial links each, that is 600 editorial links. Ninety-seven percent of that site's internal linking is a constant. Three percent of it does every bit of the discriminating work.
Nothing is held back for later. This is the whole method; the rest of the post is the evidence for why each step is shaped the way it is.
- Strip the chrome, then count. Export your internal links, remove every link that appears on more than about 20% of your pages, and count what is left. That remainder is your real internal link graph. Most tools report the number including chrome, which is why the reports look healthy. The arithmetic is above.
- Pick the ten pages that must rank, not the hundred that could. Editorial links are written by humans and are therefore scarce. Scarce resources get allocated, not sprinkled. Write the ten URLs down.
- Find sentences that are already about those topics. Do not write new sentences to hang links on. Search your existing content for the phrases your ten pages are about, and link the words that are already there. If no sentence on your site is about the page, that is a content gap, not a linking gap. Our own audit shows how fast the links pile up where they are easy rather than where they are needed.
- Write each anchor as a description, and never twice the same. The anchor is the only part of an internal link that varies. Using the page title every time throws that away. More on why the anchor is the mechanism.
- Re-audit once a quarter. New content links to whatever the writer had top of mind, which is whatever is already prominent. Left alone, internal linking becomes a rich-get-richer machine, and the counter-argument to all of this is worth reading before you over-invest.
That is it. Ten pages, real sentences, varied anchors, quarterly. The hard part is not the technique, it is that step 3 is editorial work and gets assigned to engineering.
What Google actually says, quoted rather than paraphrased#
Most posts on this keyword assert what Google "wants" and move on. Here is the primary documentation, and it is more useful than the folklore built on top of it.
Start with Google's link best practices page, last updated 10 December 2025. On what counts as a link at all: "Generally, Google can only crawl your link if it's an <a> HTML element (also known as anchor element) with an href attribute. Most links in other formats won't be parsed and extracted by Google's crawlers." That settles the perennial JavaScript-navigation question in one sentence, and it is a floor, not a strategy.
The part that matters here is what the same page says about the anchor. "Anchor text (also known as link text) is the visible text of a link. This text tells people and Google something about the page you're linking to." Then: "Good anchor text is descriptive, reasonably concise, and relevant to the page that it's on and to the page it links to." And the sentence almost nobody quotes: "Remember to give context to your links: the words before and after links matter, so pay attention to the sentence as a whole."
The words before and after links matter. A template link has no words before and after it. It sits in a component, surrounded by other template links. By Google's own description of how a link is read, the entire mechanism is missing.
Google's internal-linking guidance in the same document says it outright: "paying more attention to the anchor text used for internal links can help both people and Google make sense of your site more easily," and "link to those pages in context."
This is not new. It is the founding idea of the search engine. Brin and Page, in The Anatomy of a Large-Scale Hypertextual Web Search Engine in 1998, described the thing that made Google different: "Most search engines associate the text of a link with the page that the link is on. In addition, we associate it with the page the link points to. This has several advantages. First, anchors often provide more accurate descriptions of web pages than the pages themselves."
Anchors describe the target. That is the whole premise. A footer describes nothing, because it describes everything.
And the information-theoretic version of this argument is not mine either. It was stated plainly in 2003, in Eliminating Noisy Information in Web Pages for Data Mining (Yi, Liu and Li, ACM SIGKDD): "In a given Web site, noisy blocks usually share some common contents and presentation styles, while the main content blocks of the pages are often diverse in their actual contents and/or presentation styles." That is the 97% and the 3%, described twenty-three years ago, by people who were not selling SEO software.
A year later, Block-Level Link Analysis (Cai, He, Wen and Ma, ACM SIGIR 2004) took the next step: "Most of the existing link analysis algorithms treat a web page as a single node in the web graph. However, in most cases, a web page contains multiple semantics and hence the web page might not be considered as the atomic node." Their fix was to attribute links to the block they sit in rather than to the page as a whole, and it improved results. Treating a nav link and an in-body link as the same object was known to be a modelling error in 2004.
One honest caveat, because the industry routinely overclaims here. Google has never said that boilerplate internal links carry no weight. I went looking for it specifically. What exists is narrower: Gary Illyes, on Google's own Search Off the Record podcast in November 2020, describing how Google isolates the main content — "we exclude the navigation from the checksum calculation, we remove the footer as well, and then we are left with what we call the centerpiece" — but he is talking about duplicate detection, not link weighting, and it would be dishonest to stretch it. Anyone quoting you a number for how much less a footer link is worth invented it.
What the documentation does support is narrower and sufficient. Anchor text is the mechanism by which a link says anything. Anchor text that is fixed across your entire site says the same thing everywhere, which is another way of saying it says nothing in particular anywhere.
Why this is an editorial problem wearing an engineering costume#
Internal linking gets handed to whoever owns the CMS. That is the mistake.
Adding a related-posts module is an engineering task and it produces template links, which is the pile that carries no information. Writing a sentence that genuinely needs to reference another page, and linking the words that describe it, is an editorial task, and it is the only one that changes what your site says about itself.
This is why "we shipped a related posts widget and nothing happened" is such a common experience. Nothing happened because nothing was said. The widget added 500 more instances of a constant.
Three consequences follow, and they are the practical half of this post.
Audit editorial links, not total links. Every internal linking tool reports counts inclusive of chrome. Those reports are dominated by a number you set once in a template and will never change again. Strip the site-wide links out and the picture usually inverts: pages you thought were well linked turn out to have one editorial link, from a page nobody reads.
Your anchor text distribution is probably four words wide. Count the distinct anchors pointing at your most important page. On most sites it is "here", the brand name, the exact page title, and "pricing", repeated. That is a label, not a description.
The pages that need links most get them least. Editorial links come from people writing new content, and people writing new content link to whatever they happen to remember, which systematically favours pages that were already top of mind. Those are the pages already ranking.
That last one is a claim, so I tested it on the only site whose full link graph I can read directly.
I audited this blog and it is worse than the model#
This site has 81 published articles. I parsed the markdown source of every one, stripped the frontmatter, the navigation, the table of contents, the figures and the calls to action, and counted only in-body links a writer placed inside a sentence pointing at another article. Here is what came back.
353 editorial internal links across 81 posts. A mean of 4.4 per post and a median of 4, which sounds respectable and is the number a tool would show you.
Twenty-two of the 81 articles receive zero editorial internal links. Not orphans in the usual sense — every one of them is in the navigation, the sitemap and the blog index, so they are crawlable and indexed. They are orphaned in the only sense that carries information: no writer on this site has ever written a sentence that needed them.
The top ten destinations absorb 53.3% of all 353 links. Half the editorial signal on this site points at ten pages out of 81.
One page takes 83 of the 353 links, from 54 different articles. That is 23.5% of every editorial internal link on the site aimed at a single URL. Two-thirds of the articles here link to it. I did not plan that; nobody decided it. It accumulated, one sentence at a time, because it was the page everyone remembered.
That is the rich-get-richer machine, measured, on a site run by someone who writes about this for a living.
The fix for that half is an afternoon of editing, and it is free. If you want the other half of your link graph — the part that has to be earned from sites you do not own — GenLink runs that as an agent rather than a spreadsheet.
If template links are a constant across pages, anchor text is the one thing that can vary within the links that are left. So I checked what we do with it.
Of the 83 editorial links pointing at our most-linked article, 54 use the identical anchor text — the bare page title, repeated fifty-four times. Twenty distinct anchors exist across all 83 links, and fourteen of those were written once and never used again. Two thirds of the descriptive capacity of our best-linked page is spent saying the same four words.
That is the "four words wide" problem, measured. And it is the part that is genuinely free to fix: nobody has to build anything, nobody has to publish anything new, somebody just has to write a different sentence.
Fixing every anchor on this site cost an afternoon. The other half of the link graph does not work like that. GenLink replaces the prospect list you keep meaning to build, the contact-finding tab you never close, and the follow-up that was always going out tomorrow. It finds relevant sites, finds the person, writes the pitch, sends it from a mailbox with real sending history, and triages the replies. The free tier runs one agent, so you can point it at one page before you commit to anything.
The case against this, argued in the open#
There is a serious counter-position, and the best version of it comes from Google.
In a Google SEO office-hours session on 28 January 2022, John Mueller was asked directly whether where an internal link sits on the page matters. His answer, transcribed by Search Engine Roundtable from Google's own video: "Sometimes things are in the footer, sometimes in the headers, sometimes in a shared menu or in a sidebar or within a body of content. All of those kind of linked places are all fine from our point of view." He closes the answer by saying that for links, Google uses them to understand context and to crawl the site, "and for that we don't really need to differentiate between different parts of the page."
That is Google's own spokesperson saying the distinction this post is built on is not one Google makes for links. I am not going to hide it in a footnote. Take it at full strength: on that view, internal linking is a crawl and architecture concern, boilerplate links are fine, and a site with clean structure and a related-posts module has already captured most of what is available.
The tension worth noticing is inside Google's own statements. In the same answer Mueller says Google does differentiate page regions for content — and in a 2016 office-hours hangout he described in-content links as the ones that count, contrasting "the area of the page where you have your primary content ... not the menu, the sidebar, the footer, the header" with the rest, and saying "that is something that we do take into account and we do try to use those links." Two statements from the same person, six years apart, that do not comfortably sit together. I do not know which is the current behaviour, and neither does anyone else outside Google.
Three further concessions, made in the open.
The 97% figure is a model, not a measurement. It is two multiplications on a hypothetical 500-page site, stated as such on the figure. Your ratio will differ. It will rarely differ in a direction that helps.
Our own audit is one site, and a small one. Eighty-one articles is enough to show the shape of a distribution and nothing like enough to prove it generalises. It is offered as a method you can run on your own site in ten minutes, not as an industry benchmark.
Nobody has published a coefficient. If someone tells you an internal link is worth n percent of an external one, or a footer link m percent of an in-body one, they made it up.
Here is what survives all of that, and it does not need a coefficient. Even on Mueller's account, the thing Google gets from an internal link is context, and context comes from the anchor and the words around it. A link that appears identically on every page contributes the same context to every page. Whatever the exchange rate turns out to be, you are trading with the portion of your links that varies, and on most sites that portion is single-digit percent.
And the strongest version of the counter-argument is also the most useful one: if your site genuinely has clean architecture and no orphans, then the remaining upside really is in the editorial layer. That is not a reason to skip it. That is the argument for doing it.
Rebuilding the 3%#
The five steps at the top are the method. Three notes on the parts people get wrong.
Do not write sentences to hang links on. The failure mode of "we need more internal links" is a paragraph inserted into an old post whose only job is to hold a link. Readers feel it, and it produces exactly the low-information link you were trying to escape. If nothing on your site is already about the destination, the answer is a new piece of content, not a bolted-on clause.
Link from the pages with topical adjacency, not the pages with traffic. The instinct is to add links from whatever ranks. But a link from a page about the same narrow subject says something specific; a link from your most popular unrelated post says "this site mentions that."
Accept that this decays. Every new article you publish tilts the distribution further toward whatever the writer remembered. Ours took 81 posts to put 23.5% of the signal on one URL, and no single decision caused it. A quarterly re-audit is not admin overhead, it is the only thing standing between you and the shape in the second figure.
And when the internal side is done, the constraint moves. You can rewrite every anchor on your site this week; you cannot decide that someone else's site will link to you. That asymmetry is permanent, and it is where the actual work is.
The internal half is an afternoon of editing. The external half is the reason link building is a job. Hand that half to GenLink and what leaves your stack is the prospecting spreadsheet, the email-finder tab, the cold domain that gets you filtered before a word is read, and the follow-up nobody sent. What stays is the part only you can do: deciding which ten pages deserve to rank. Start free with one agent.
Frequently asked questions#
How many internal links should a page have? There is no number, and the question is usually a sign the links are being counted rather than written. The useful version is: how many links on this page were placed because a sentence needed them? On most pages the honest answer is zero to three, and moving that to four or five well-chosen ones matters far more than whether the total is 40 or 120.
Do footer and navigation links count for SEO? They count for crawling and they are how most sites get their pages discovered, so yes, they matter. What they cannot do is differentiate. A link present on all 500 of your pages contains no information about which of those 500 pages is about what. Treat chrome as infrastructure and editorial links as the message.
Should internal links be nofollow? No. The old practice of sculpting PageRank by nofollowing internal links has not worked since Google changed how nofollow is handled, and Google's own documentation describes nofollow links as ones it "will generally not be followed" rather than links that redistribute anything. If you do not want a page in the index, handle that with noindex or robots rules, not by crippling your own navigation.
What anchor text should I use for internal links? Describe the destination in the words of the sentence you are already writing. If you link the same page from twelve articles, you should end up with something close to twelve different anchors, because twelve different sentences were making twelve different points. Our own audit found the opposite pattern and it is the easiest thing on this list to fix. Anchor text for backlinks follows a different risk profile, because you do not control those.
How deep in the site structure is too deep? Depth is the problem everyone already solves, and it is worth solving: pages that take five or six clicks to reach from the homepage get crawled less. But depth is a floor, not a ceiling. Once a page is three clicks away and crawled reliably, making it two clicks away does nothing on its own. The next gain comes from what your sentences say about it.
Do internal links from low-traffic pages still help? Yes, and this is where topical adjacency beats popularity. A link from an obscure page about the same narrow subject is a more specific statement than a link from your most-read but unrelated article. Traffic is a human metric; relevance is the one the link itself carries.
Is an automated internal linking plugin worth using? For finding candidates, yes. For placing links, be careful. Plugins work by keyword matching, which reliably produces the failure this post is about: a link on a phrase that happens to match, inside a sentence that was not about the destination. Use the tool to surface the sentences, then have a person decide which ones are genuinely about the thing.



