Anchor text
4 minute read · Updated 28 August 2026
Anchor text is the visible, clickable text of a hyperlink — everything between the opening and closing tag. It tells a reader what they will get if they click, and it tells a search engine what the target page is about.
On external links you take whatever the other site chose to write. On internal links you write every single one yourself, which is why anchor text is usually the cheapest ranking signal a website can improve.
Where the anchor text sits
In the markup it is the content of the <a> element. The destination lives in the href attribute and is not anchor text; only what a person can see and click counts.
Two cases are easy to forget. If the clickable element is an image, its alt attribute takes the role of anchor text — an image link with an empty alt is a link carrying no anchor text at all. And the sentence around the link is not anchor text, but search engines read it too, which is why a vague anchor inside a precise sentence wastes far less than a vague anchor inside a vague one.
The six types
- Exact match — the target keyword and nothing else. Sparingly.
- Partial match — the term plus natural context. The workhorse; use it most of the time.
- Branded — a product or company name. Right for pointing at a product page.
- Generic — “read more”, “click here”. Says nothing to either audience.
- Naked URL — the address itself. Fine in citations.
- Image — the alt attribute. Never leave it empty on a linked image.
If you take one thing from that list: partial match carries the term you care about, reads like something a person wrote, and does not accumulate into a pattern the way exact match does.
Why internal anchors follow different rules
Most advice about anchor text is really advice about backlinks, where the guidance is defensive: watch the ratios, disavow the spam, hope for branded mentions.
Internally the situation inverts. Because you write every anchor, an unnatural pattern is unambiguously yours — which is why forty identical exact-match anchors read worse internally than they would externally. The upside is the mirror image: twenty pages describing the same target in related wording is a coherent signal you built on purpose.
Over-optimisation in this context means three concrete things: uniformity (every link to a page uses the identical phrase), density (so many links that the prose stops working), and mismatch (the anchor promises something the target does not deliver). The third is the one that actually costs money, because it burns trust rather than a ranking.
A quick test
Cover the sentence around the link. Could a reader still guess where it goes? If not, the anchor is too vague. Two to five words tends to work best — single words are often ambiguous, a full sentence spreads the signal too thin.
The habit that fixes most of it: write the sentence first, then decide which part of it becomes the link. Anchors chosen the other way round almost always read as bolted on.
Distribution across a whole site
People ask for a target ratio — what percentage should be exact match, what percentage branded. For internal links no credible number exists, and anyone quoting one for your site has not seen it. The ratios that circulate come from backlink studies, where the mechanics are different.
A more useful method: take a page you want to rank and list every internal anchor pointing at it. If the list reads like a set of related phrases a knowledgeable person would use, it is fine. If it reads like a keyword field copy-pasted forty times, it is not.
That list is also the fastest audit available. Screaming Frog, Sitebulb and the Links report in Search Console all produce it, and most site owners have never looked at it once. It takes ten minutes and usually explains something.
Images, buttons and empty anchors
Three cases where the anchor text is not where you expect it.
Linked images. The alt attribute becomes the anchor text. A linked image with an empty alt is a link with no anchor text at all — and on many sites that describes every product thumbnail in a listing.
Buttons. A styled link is still a link, and its label is still anchor text. “Learn more” on a button is exactly as uninformative as “read more” in a sentence; “See the pricing tiers” costs nothing extra and says something.
Icon-only links. A link containing nothing but an SVG has no accessible name and no anchor text. An aria-label fixes the first problem. Nothing fixes the second, which is a reason not to rely on icon-only links for anything that matters.
Keeping it varied at scale
Everything above assumes a writer weighing each link. That works while the archive fits in your head. Past a few hundred pages it stops — not because the advice changes, but because nobody reopens three hundred posts when a new page goes live.
The usual automated answer is also the reason automation has a bad name: replace every occurrence of a term, everywhere, with the identical anchor. That manufactures uniformity and density in one step. What separates a usable rule from that is whether it can hold several phrasings per target, start from the third or fifth occurrence rather than the first, and cap how many links a single page may receive.
A rule carrying those three constraints is not a shortcut around the craft. It is the craft, written down once instead of repeated three hundred times.
Going deeper: the full treatment — all six types with examples, what over-optimisation concretely means, and how to keep phrasing varied across hundreds of pages — is in the guide to choosing anchor text.