Anchor text is the visible, clickable words in a link. In how a backlink exchange works, the anchor text is "how a backlink exchange works".
It matters because it is one of the clearest signals available about what the linked page is about. A search engine reading a thousand links pointing at a page, most of them saying some version of the same thing, has strong evidence about that page's subject.
Most guides on this term cover the definition, the types and the warning about over-optimisation. This one does too, and then adds the part we had to learn by breaking it: what goes wrong with anchor text on your own internal links at scale, with the numbers from our audit of 1,400 of them.
How this guide was put together
Yoast's page is the clearest on this term at roughly 1,900 words across 7 sections with 2 images. Semrush, HubSpot, Mediavine and seoClarity cover the same ground with more detail on ratios and penalties.
Every one of them is about anchor text on links pointing to you, which you mostly do not control. Almost nothing is written about anchor text on your own internal links, which you control completely and which is where the errors we found actually live.
What it looks like, and where it lives
Anchor text appears in more places than most explanations mention:
- Text links in body copy. The default case and the one that matters most.
- Navigation and menus. Repeated across every page, which makes them influential and rigid.
- Image links. The alt text acts as the anchor text. An image link with empty alt is a link with no anchor text at all.
- Buttons. "Learn more" is anchor text, and it is anchor text that says nothing.
Why it carries weight
Three separate jobs, and they pull in slightly different directions.
It describes the destination to search engines. This is the ranking-relevant part and it is why exact-match anchors were abused for years.
It sets the reader's expectation. A link saying "our pricing" that opens a blog post is a small betrayal, and the bounce rate reflects it.
It provides context for the page it sits on. Links out of a page also describe that page's subject, which is a reason the pages you link to should be topically close to what you are writing about.
The six types
| Type | Example (linking to a page about backlink exchanges) | Use |
|---|---|---|
| Exact match | backlink exchange | Sparingly |
| Partial match | how a backlink exchange works | Freely, the default |
| Branded | Distribb | Freely |
| Naked URL | distribb.io/backlink-exchange | Occasionally |
| Generic | click here, read more | Avoid, but not fatal |
| Image | the alt text of a linked image | Describe the destination |
The distinction that matters is the first two. Exact match is the strongest signal and the one that looks manipulative in volume. Partial match carries most of the same meaning while reading like something a person wrote, which is why it should be the bulk of your links.
Ratios: what a natural profile looks like
Nobody outside Google knows the thresholds, and anyone quoting exact percentages is guessing. What is well established is the shape of profiles that get discounted versus profiles that do not.
For external links pointing at you, a profile that does not look engineered runs roughly:
| Type | Rough share |
|---|---|
| Branded and naked URL | 40 to 60% |
| Generic ("this article", "here") | 15 to 25% |
| Partial match | 15 to 30% |
| Exact match | Under 10% |
The counterintuitive part for most people is how much of a natural profile is branded and generic. When a real person links to you unprompted, they usually write your company name or "this article", not your target keyword. A profile that is 40 percent exact-match commercial anchors did not happen naturally, and that is the pattern being detected rather than any individual link.
You have limited control here, which is fine. It is the reason a natural profile looks natural.
Internal links are different. You write all of them, so there is no natural distribution to imitate and no penalty risk from being descriptive. The rule is simply to describe the destination accurately. That sounds trivially easy. It is not, at scale, which is the rest of this page.
Both will show you the anchor text distribution of your inbound links. Search Console will not, which is a common misunderstanding.
What went wrong on our site, and what it teaches
We built an internal link map for this site: 1,400 planned links across the blog, each row naming a source page, a target page and a suggested anchor. Then we deployed them. Two failures came out of it, and both are invisible without a specific audit.
Failure one: anchors generated from search queries describe the query, not the page
The suggested anchor for each row was derived from the target page's top-performing search query. It seemed reasonable: the query is what the page ranks for, so it describes the page.
It does not. A query is what somebody typed, and it is frequently a fragment, a brand name, a misspelling, or a phrase that is only loosely about the page's actual subject. Inserted into a sentence as anchor text, the result reads wrong and describes the destination inaccurately, which is the one thing anchor text has to get right.
We rebuilt the map to generate anchors from page titles instead, which describe the page by construction. If you are automating internal linking in any form, this is the single most important detail: derive the anchor from what the page is, not from what people searched to reach it.
Failure two: 69 anchors pointing at the wrong page
The worse one. We audited every internal link where the anchor text named a specific article, and checked whether the href actually pointed at that article.
69 did not. The most common pattern was a page linking with anchor text naming a different article, while the href pointed back at the page you were already on. A reader clicking "Exploring the Best SEO Automation Tools" got the page they were already reading.
We repaired them across 47 pages. The lesson is not that we were careless in one batch; it is that this class of error is completely invisible to every normal check. The link works. It returns 200. No crawler flags it, because there is nothing technically wrong. The only way to find it is to compare what the anchor text claims against what the href resolves to, which almost nobody does.
The check, if you want to run it
Take every internal link on your site. For each one where the anchor text looks like a page title or names a specific topic, resolve the href and compare the destination's title against the anchor. Anything where they disagree is either a mistake or a link that is lying to the reader.
On a small site this is an afternoon. On a large one it is a script, and it is worth writing.
Failure three, which follows from the first two
When you repair a link, update whatever record you keep of deployed links at the same moment. We did not, at first, so subsequent sweeps kept re-flagging links that had already been fixed and, worse, re-inserting duplicates of them. If you are running internal linking as a process rather than a one-off, the log is part of the system, not documentation of it.
Practical rules
Describe the destination in three to six words. Long enough to be specific, short enough to sit inside a sentence.
Write the sentence first, then link the words that are already there. Anchors that were bolted on read like they were bolted on, and are the main tell of automated internal linking.
Vary the anchors pointing at one page. Twenty internal links all reading "backlink exchange" is a pattern with no upside, since you already control every one of them.
Never link generic words to important pages. "Click here" wastes the strongest description you get to write.
Give linked images real alt text. An image link with empty alt is a link with no anchor text.
Do not link the same page twice in one article. The first link is the one that counts and the second just adds noise for the reader.
Check the anchor still matches after you rewrite a page. Rewrites change what a page is about; the links pointing at it do not update themselves.
For the wider practice of building links to your site rather than within it, the backlink exchange breakdown covers how the anchor text is negotiated when two sites link to each other, which is one of the few situations where you get a say in an inbound anchor.
That is also where our own product sits: Distribb's backlink exchange matches sites by topic so the placements are contextually relevant, and the anchor is agreed rather than assigned. The honest limitation is the one in the ratio table above: links you influence are, by definition, not the natural part of your profile, so they should sit alongside earned links rather than replace them.
Common questions
Does anchor text still matter in 2026? Yes, for both inbound and internal links. It is one of the few signals that directly states what a page is about, and there is no sign of that changing.
Can anchor text get me penalised? An over-optimised inbound profile can get links discounted or trigger a manual action. Individual links are not the issue; the aggregate pattern is. Internal anchors do not carry this risk.
What is the ideal number of words? Three to six is a good working range. What matters is that it describes the destination, not the count.
Should internal anchors be exact match? They should be descriptive, which often means partial match. Repeating one exact phrase across every internal link to a page is not useful and reads badly.
Does alt text really work as anchor text? Yes, when the image is wrapped in a link. It is the only description available in that case.
Is "click here" actually harmful? Not harmful, just wasteful. It spends a link on a description that tells nobody anything. In a navigation button it is fine; on a link to a page you want to rank, it is a missed opportunity.
How do I audit my anchor text? For inbound links, use the anchor report in Ahrefs or Semrush. For internal links, run the comparison described above, because no standard tool checks whether the anchor and the destination agree.
What to take from this
Anchor text is the description you attach to a link, and the rules are short: describe the destination, keep it to a few words, vary it, and never waste one on "read more".
The part worth taking seriously is internal. Those anchors are entirely yours, they are the ones most likely to be automated, and they fail silently when the automation derives them from the wrong source. Generate anchors from page titles, not from search queries, and audit whether the anchor and the href actually agree.
We found 69 that did not, on a site we thought was in good shape.