Short answer
Internal linking is the set of links between pages of your own site, and it does three things at once: it moves the reader to a logical next step, it brings the crawler to pages that would otherwise sit on the periphery, and it distributes internal weight — the signal of which pages you yourself consider the important ones.
The rule everything else follows from: weight flows down through links. The closer a page is to the homepage in clicks, and the more meaningful links point at it, the stronger it looks to Google. Internal linking is therefore not text decoration — it is how you tell a search engine which pages the site exists for.
What internal linking actually does
Three effects, and they are not the same size.
Distributing weight. Every page passes part of its authority to the pages it links to. External links bring weight to the site; internal links decide where it spreads. If all your inbound links land on the blog and the commercial pages connect to it only through the menu, almost none of that weight reaches them.
Crawler access. Googlebot travels along links. A page with no incoming internal links is an orphan: formally it sits in the sitemap, but it is crawled rarely and changes on it are noticed late. This is one of the first things I check when working out why Google is not indexing your pages.
Passing meaning through the anchor. A link that reads «keyword clustering» tells Google what the destination page covers. A link that reads «here» tells it nothing. This is the one element of internal linking where you describe someone else's page in your own words and the search engine listens.
There is a fourth, behavioural effect: a reader who follows a link and finds the answer stays on the site. Google does not call this a direct ranking factor, but it visibly affects depth of visit and returns to the search results.
Where internal weight comes from and where it leaks
Weight arrives from outside — from links on other sites — and then spreads through internal links. The model is crude but workable: a page splits its weight across all its outgoing links, and the recipients split it further.
That has some non-obvious consequences:
- Depth is expensive. A page four clicks from the homepage receives materially less than one two clicks away. This is exactly why site structure and internal linking are one task rather than two: a flat tree is already half the work.
- Site-wide links dilute. The menu and the footer appear on every page. The more entries you put there, the thinner the weight spreads across each one. A mega-menu with 60 items feels convenient, but it works as an even distribution of importance across everything — which is the same as having no priorities.
- Utility pages take a share. Links to the privacy policy, terms and cart sit everywhere and end up receiving more weight than service pages. You cannot fix that completely, but there is also no reason to inflate the footer.
- Outbound links carry weight away. That is not an argument against external links — they build trust in the text — but there is no point putting twenty of them in one article.
Types of internal links and what each one gives
| Link type | Signal strength | What it is for |
|---|---|---|
| Contextual link in body text | High | The main instrument: carries anchor and meaning, moves the reader on |
| Breadcrumbs | Medium | Show hierarchy, give Google the structure of a section |
| Main menu | Medium, but site-wide | Sets the top level of priorities, pulls pages closer to the homepage |
| «Read next» block | Medium | Retains the reader, connects articles on one topic |
| Footer links | Low | Useful for utility pages, a weak signal for commercial ones |
| Link from a listing or category | Medium | The main weight channel to catalogue pages |
The practical conclusion: what works hardest is what you write by hand inside the text. The menu and the footer are infrastructure — they set a baseline, but they do not place emphasis. When an important commercial page needs a push, contextual links from relevant articles give it, not one more item in the header.
How to choose anchor text
The anchor is your own wording of what the other page is about. The rules are simple:
- Describe the destination, not the action. «Hreflang setup», not «read more».
- Take the phrase from the destination page's keyword cluster, not a random word from your own sentence.
- Vary the wording. Twenty identical exact-match anchors read as optimisation for its own sake.
- Keep it short. Two to four words is enough; do not stretch the anchor over half a sentence.
- The link has to be earned. If the reader is not asking, at that exact point, the question the destination answers, the link does not belong there.
A note on image links: for those, the alt attribute plays the role of the anchor. If an image links to a service page and the alt is empty, you are giving away a signal for free.
The mistakes I see most often
| Symptom | What is behind it | What to do |
|---|---|---|
| A commercial page will not grow, though the copy is fine | Only the menu links to it | Add contextual links from 3–5 relevant articles |
| Blog articles live in isolation | No links between articles of the same cluster | Connect material on the same topic |
| A page is not indexed | Not a single incoming internal link | Add a link from the closest related section |
| Two pages compete for one query | Anchors with the same phrase point to both | Collapse the cluster to one page, link the other to it |
| Plenty of links, no effect | Anchors like «here» and «read more» | Rewrite anchors to describe the destination |
| Links were placed by a plugin | Automatic word-match replacement without context | Cap at one link per page and review manually |
A multilingual site is a separate case. Contextual links should stay inside their own language version: the English page links to English pages, the Estonian one to Estonian pages. Connecting translations of the same page is what hreflang is for, and body links are not a substitute — mixed links drop the reader into a version they did not choose.
What I see on my own projects
There is no universal number like «internal linking gives +N%», and I am not going to invent one. But the patterns repeat from project to project.
First: the problem is almost never the number of links, it is their distribution. A typical service site has 5–7 pages it exists for, and they receive exactly as many links as the «Careers» page — that is, one, from the menu. This imbalance is fixable in a single session and needs neither new content nor budget.
Second: internal linking works hardest where content already exists. On an eight-page site there is not much to connect — there the answer is structure. On a site with 50 blog posts, the right links from articles to commercial pages produce an effect comparable to buying external links, for free.
Third, on limits: internal linking will not rescue a page that has no query cluster of its own or does not match the intent. It amplifies what already works; it does not create relevance from nothing. If a page fails to rank because it duplicates another one, links will only speed up Google's choice — and not necessarily in your favour.
Fourth: the effect is not instant. Google has to recrawl the pages to see the new links. On small sites that means weeks, not days.
Internal linking is the only part of your link profile you control completely. It is odd to spend budget on external links while the internal ones are placed at random.
Checklist: fix internal linking in one session
- Write down the 5–7 pages the site exists for.
- Count incoming internal links to each — with a crawler or the Links report in Search Console.
- Find pages with no incoming links at all: those are your orphans.
- Check depth: everything important should open within two clicks of the homepage.
- Go through the blog and place contextual links to commercial pages wherever it genuinely fits.
- Connect articles within one cluster the way you would connect them in a conversation with a reader.
- Rewrite «here» and «read more» anchors to describe the destination.
- Thin out the footer and the menu if they hold items nobody ever opens.
- Check the language versions: contextual links must not leave their own language.
If it turns out there is nothing to connect — the site simply has no pages for half of the demand — that is a different level of problem: it is SEO that starts by rebuilding the structure, not a link edit. And if there is technically nowhere to put links because the template does not let you edit body text, the question moves into web development — and is solved there together with the rest of the technical optimisation.
