Anchor text is one of the oldest signals in web search and still one of the most misunderstood. Some SEOs stuff keywords into every link. Others fear a penalty so much that their pages are full of read more buttons. Both lose.
My view after years of writing anchors for my own sites and client projects: descriptive, keyword-aware anchors on your own website are a strength, not a risk. The danger zone is elsewhere, and Google documents exactly where. Below you will find the anchor types, what Google officially says, where over-optimization really starts and how to audit the anchors you already have.
What is anchor text?
Anchor text is the visible, clickable text of a hyperlink. In HTML it is whatever sits between the opening and closing `<a>` tags. In the link `<a href=/en/services/>technical SEO audit</a>`, the anchor text is technical SEO audit.
For readers, anchor text is a promise about what comes after the click. For search engines, it is a short description of the target page written by someone other than its owner. In their 1998 paper The Anatomy of a Large-Scale Hypertextual Web Search Engine, Sergey Brin and Lawrence Page explained that the Google prototype associated link text with the page the link pointed to, because anchors often describe a page more accurately than the page describes itself.
Google still works on this principle. In its guide to Google Search ranking systems, Google says it has systems that understand how pages link to each other as a way to determine what pages are about. For the bigger picture, see my guide on what a backlink is and why it matters.
Anchor text types with examples
Every link profile, internal or external, is a mix of the same handful of anchor types. The Wikipedia article on anchor text lists a similar classification. Here is how they look for a hypothetical page about a WooCommerce speed optimization service.
| Anchor type | What it contains | Example anchor | Typical use |
|---|---|---|---|
| Exact match | The exact target keyword | WooCommerce speed optimization | Internal links, editorial mentions |
| Partial match | The keyword plus modifiers or context | how we cut WooCommerce load times by half | Internal links, natural editorial links |
| Branded | The brand or company name | WooAcademy | Citations, press, directories, AI search |
| Naked URL | The raw web address | wooacademy.sk | Forums, source lists, footnotes |
| Generic | No descriptive words at all | click here, this article | Buttons, calls to action |
| Image | The alt attribute of a linked image | alt text: WooCommerce speed report dashboard | Logos, banners, product images |
Exact match is the clearest signal of what the target page is about, and on your own site it usually helps readers most too. Partial match appears naturally inside full sentences, branded anchors dominate healthy backlink profiles, and naked URLs are handy when a topic does not fit a short phrase. Generic anchors carry almost no information: Google names click here to learn more, read more, website and article as examples of bad link text. For image links, Google uses the alt attribute as anchor text, so a linked image with empty alt is an empty anchor.
How Google uses anchor text today
Google has published its own guidance on this in SEO link best practices for Google. The key sentence is that good anchor text is descriptive, reasonably concise and relevant both to the page it is on and to the page it links to. It adds practical points many SEO articles skip:
- The words before and after a link matter, so the whole sentence around the anchor gives context.
- Links should not be chained next to each other, because readers cannot tell them apart and each link loses its surrounding text.
- If an `<a>` element is empty for some reason, Google can fall back to the title attribute as anchor text. That is a fallback, not a replacement for visible text.
- Keyword stuffing in anchors is discouraged. Google suggests asking whether the reader actually needs those keywords to understand the next page.
So Google does not say keywords in anchors are bad, only forcing them where readers do not need them. A link that says WooCommerce speed optimization pointing to a page about exactly that is descriptive. A link that says best cheap fast WooCommerce speed optimization service Europe is stuffing.
Language understanding also changed how anchors are read. Since October 2019 Google has used BERT in Search, and its ranking systems guide describes it as an AI system that helps Google understand how combinations of words express different meanings and intent. You gain nothing by writing links for machines instead of people.
Over-optimization: what Penguin and link spam policies actually target
The fear of exact-match anchors comes from one update. Google Penguin was announced on April 24, 2012 and affected around 3.1 percent of English queries at launch. It targeted manipulative link building, and one of its clearest footprints was hundreds of external links pointing to a page with the same commercial keyword as anchor text.
Two things changed after that:
- In September 2016, Google announced that Penguin had become part of the core algorithm. It now works in real time and devalues spam by adjusting rankings based on spam signals, rather than affecting the ranking of the whole site.
- Google now treats link spam through its spam detection systems, including SpamBrain, and through dedicated link spam updates. A manual action for unnatural links is still possible when a human reviewer finds a pattern of unnatural, artificial, deceptive or manipulative links pointing to your site.
Where exactly is the line? The Google spam policies are specific. Among the listed examples of link spam are advertorials where payment is received for articles with links that pass ranking credit, and links with optimized anchor text in articles, guest posts, or press releases distributed on other sites.
So the risk is not the exact-match anchor itself. The risk is exact-match anchors that you placed or paid for on other websites to manipulate ranking. If you pay for a placement, the link should be qualified with `rel=sponsored` or `rel=nofollow`. Google introduced sponsored and ugc as additional values in September 2019. Sitewide placements such as footer or blogroll links deserve extra attention here, and I explain why in my article on sitewide links and their SEO impact.
Internal vs external anchor text
This is where my practice differs from the usual advice to keep exact-match anchors at a small percentage.
Internal links are your own editorial decision. Nobody is buying anything. On every site I work on, I link internally with descriptive, mostly exact-match anchors that match the main keyword of the target page, and I have never seen a problem from it, neither in classic rankings nor in AI search visibility. My full process for this is in the guide to internal linking for SEO.
Two rules keep internal anchors clean. First, one target page should own one main keyword, so do not send the same exact anchor to two different URLs, because you would be telling Google two pages are about the same thing. Second, use partial match or a naked URL when a keyword would not fit the grammar of the sentence.
External anchors are mostly not yours to control. Editorial links use your brand, your URL, your article title or a phrase from the linking sentence, and that natural spread is what a healthy profile looks like. There is no official ideal ratio of branded to exact-match anchors, and any percentage you see in SEO blogs is an observation from tool data, not a Google rule. Avoid requesting or buying exact-match anchors on external sites and let the linking site choose the wording. I cover practical ways to do that in how to get backlinks in the age of AI search.
Anchor text and AI search
Google states in its documentation on AI features in Google Search that there are no additional requirements to appear in AI Overviews or AI Mode, and that normal SEO best practices still apply, including making content easily findable through internal links. These features use a query fan-out technique, running multiple related searches across subtopics to find supporting pages.
From my work on AI visibility, three things follow:
- Clear internal anchors help a retrieval system connect a subtopic to the one page that answers it. The technical side of this is covered in technical SEO for AI search.
- Branded anchors and plain brand mentions teach language models which entity is associated with which topic. More on this in my article about brand mentions and AI citations.
- AI answers quote passages, and a passage with a descriptive link and a clear sentence around it is easier to cite. My guide on writing content that AI systems cite goes deeper, and the wider plan sits in my AEO strategy for getting recommended by AI.
How to audit and fix your anchor text
This is the process I use when I take over a website, from small brochure sites to WooCommerce stores with thousands of products.
1. Export your internal and external links
Crawl the site with any SEO crawler and export every internal link with its source URL, target URL and anchor text. For external links, open the Links report in Google Search Console. Its Top linking text table shows the most common text in links from outside your property, and links without text appear as (empty).
2. Map each target URL to one main keyword
List every important page with its primary keyword. If two pages compete for the same keyword, merge or retarget them before touching anchors.
3. Fix generic, empty and misleading internal anchors
Filter the crawl for click here, read more, here, this and empty anchors. Rewrite them into descriptive text taken from your keyword map. Check linked images too and give each one a meaningful alt attribute, since that alt is the anchor. Also fix anchors that promise one topic and link to another.
4. Remove conflicting and duplicate links
Look for the same exact anchor pointing to different URLs and consolidate them to one target. Then check that no single article links to the same URL several times. If you use a script or an AI assistant to bulk-edit anchors in the WordPress database, back up first and review the code, as I describe in secure AI coding for WordPress and WooCommerce.
5. Review the external anchor profile for risk
In the Top linking text table, look for commercial keyword anchors that clearly came from paid placements, link networks or article directories. If the profile is mostly branded, URL and natural phrases, do nothing. Google says most sites do not need the disavow links tool and recommends it only when you have a considerable number of spammy links that have caused or will likely cause a manual action. If you still have access to paid placements, ask for `rel=sponsored` to be added.
6. Get the updated pages recrawled and monitor
Get the changed pages recrawled and track clicks for the target pages in Search Console over the following weeks. Before paying for an indexing service, read how guaranteed indexing tools work and my overview of the best Google indexing tools.
If you want a second pair of eyes on this, WooAcademy (Milan Fraňo) helps companies in the EU and the US remotely with technical SEO audits, internal linking and AI search visibility audits, including a full review of internal and external anchor text for WordPress and WooCommerce sites.
FAQ
What is anchor text in simple terms?
Anchor text is the visible, clickable text of a link. It tells readers what they will find after clicking and tells search engines what the linked page is about. If the words technical SEO audit link to a service page, those three words are the anchor text.
Is anchor text still a Google ranking factor?
Yes, as part of how Google understands links. Google says it has link analysis systems that use how pages link to each other to determine what pages are about, and its link best practices ask for descriptive anchor text for that reason. Google does not publish a weight for anchor text, so any claim about an exact percentage of influence is speculation.
Can exact-match anchor text get my site penalized?
Exact-match anchors on your own internal links are normal and match what Google recommends, as long as they are descriptive and not stuffed. The risk comes from optimized anchor text in paid articles, guest posts or press releases on other sites, which the Google spam policies list as link spam. Since 2016 such links are usually devalued algorithmically, but a manual action for unnatural links is still possible.
What is the best anchor text for internal links?
The best internal anchor is a short, descriptive phrase that matches the main topic or keyword of the target page and fits the sentence naturally. Avoid generic phrases such as read more or click here, avoid sending the same anchor to two different pages, and use each target URL only once per article so every link carries clear context.
How long should anchor text be?
Google asks for reasonably concise anchors and warns against link text so long that it spans multiple lines. In practice two to six words covers most cases. The goal is that the reader understands where the link leads.
Does anchor text matter for AI Overviews and AI search?
Google says there are no special requirements for AI Overviews or AI Mode and that standard SEO practices apply, including internal links that make content easy to find. Descriptive internal anchors help retrieval systems connect subtopics to the right page, and branded anchors and mentions help language models associate your brand with your topics.
