Guide

Anchor text best practices: the complete checklist

A practical checklist to stop over-optimization penalties and build natural, diversified backlink profiles that rank.

Key takeaways
  • Stop chasing exact-match percentages; diversity and context matter more for modern rankings.
  • Use a 3:1 ratio of partial-match to branded anchors to maintain a natural profile.
  • Always audit existing links before launching new outreach; you cannot fix what you cannot measure.
  • Match anchor variety to the page's commercial intent, not a arbitrary rule.
  • Track anchor drift monthly; if one type spikes, course-correct before a penalty hits.
OptiLink · Key takeaways1
Stop chasing exact-match percentages; diversity and context matter more for modern rankings.
2
Use a 3:1 ratio of partial-match to branded anchors to maintain a natural profile.
3
Always audit existing links before launching new outreach; you cannot fix what you cannot measure.
4
Match anchor variety to the page's commercial intent, not a arbitrary rule.

Open with a one-line contrarian claim, no preamble.

I’ve seen sites drop from page one to page three virtually overnight because they chased a “golden ratio” of exact-match anchors that worked in 2014 but will get you flagged today. Most teams I inherit from failed anchor text strategies because they treated anchor diversity like a math problem—spreadsheet in hand, hunting for that 20% exact-match sweet spot—when really the algorithm just wants to see humans linking like humans. If you are here because you have failed at this before, you are in good company; the majority of campaigns I inherit look like a keyword stuffing exercise rather than a genuine referral pathway. The good news is that once you stop obsessing over percentages and start obsessing over context, the whole process becomes faster and a lot less stressful. Let’s walk through the complete checklist so you can build a profile that actually survives a Google update.

Why anchor text still matters (but not how you think)

In the early days of SEO, anchor text was a binary game: stuff your exact keyword into every link and watch the rankings climb. I ran those campaigns myself back in the mid‑2000s, and they worked—until they didn’t. Google’s Penguin update in 2012 turned the tide, rewarding natural link patterns and punishing the kind of manipulation we all tried once upon a time. Today, anchor text is less about keyword placement and more about topical relevance and user experience. When a reputable site links to you with the phrase “best link building software,” it tells Google something about your page’s intent, but only if the surrounding context makes sense. If the link feels forced or the anchor has nothing to do with the surrounding text, Google discounts the signal entirely. The takeaway: anchor text is a relevance cue, not a magic wand. You still need it, but it has to earn its keep by fitting the conversation naturally.

I want to pause here for a concrete example. A few years ago, I audited a SaaS client whose anchor profile was 40% exact-match for “project management software.” Every inbound link used that exact phrase, and the surrounding text was often generic “click here” or unrelated blog fluff. The links were technically relevant, but the user experience was anemic—readers clicked and landed on a sales page with zero transition. Google caught on, devalued the links, and the site slipped from position three to page seven in a single update. The fix wasn’t to keep the exact-match anchors; it was to layer in branded and partial-match links with actual contextual sentences so the profile looked like a human had recommended the tool, not a robot had stuffed it. That site recovered within two quarters once the anchor mix shifted toward natural conversation.

The three anchor categories you actually need

If you open any SEO forum thread, you will see people debating whether to use “click here” or “buy viagra online.” The reality is that a healthy profile lives in the middle, across three distinct buckets: branded, partial-match, and exact-match. Understanding what goes into each bucket—and why each has a role—is the foundation of any sustainable strategy.

Branded anchors are your company name, your URL, or a variation thereof. They make up the bulk of a natural profile because that is how people actually link in the wild. Think of a tech blog mentioning “Ahrefs” or a news site citing “The New York Times.” Those are branded, and they pass authority without raising any red flags because they look like genuine citations. Branded anchors also serve a secondary purpose: they reinforce brand recognition every time someone sees your name in a link context. If you are just starting out and have zero brand recognition in the link graph, you can use your URL as a branded anchor, but the goal is always to get people typing your company name.

Partial-match anchors include your target keyword wrapped in other words, such as “effective link building strategies,” “proven link building tactics,” or “how to improve your site’s rankings.” They keep the keyword signal alive while looking organic because they read like natural language. I see a lot of teams sleep on partial-match anchors, chasing the supposed power of exact-match instead, but partial-match is where most of the real ranking juice lives in a post-Penguin world. They are the workhorses of a diversified profile.

Exact-match anchors—just the target keyword alone, such as “link building services” or “SEO tools”—are the most powerful but also the most dangerous. Google treats them as a strong relevance signal, which means they can boost you fast, but they can also trigger over-optimization filters if they appear unnaturally. I recommend keeping them under 10% of your total profile for established sites, and only pointing them at money pages where you have already established a solid base of the other two types. If you are starting from a penalized site or a brand-new domain, flip that ratio: start with 70% branded, 20% partial-match, and 10% exact-match, then gradually shift the percentages over six to twelve months as trust rebuilds. The key is that the exact-match anchors feel earned, not demanded.

How to audit your existing anchor profile (the step‑by‑step)

Before you reach out for a single new link, you need to know where you stand. I like to run a quick audit using a backlink analyzer, exporting the data into a spreadsheet, and then sorting by anchor text. Here is the exact step‑by‑step I run through with every new client, and I have yet to see a situation where skipping this step didn’t come back to bite the campaign later.

  1. Pull the last 12 months of referring domains pointing to your money pages. Use a tool like Ahrefs, Semrush, or Moz to export the backlink data. I usually pull the last full year because it smooths out seasonal fluctuations and gives a stable baseline.

  2. Extract the anchor text for each link and categorize it into branded, partial-match, exact-match, and naked URLs. This is the grunt work that most teams skip, and it’s why their profiles are a mess. I use a simple regex in a spreadsheet to tag each anchor: if it’s the exact target keyword, it’s exact-match; if it contains the keyword plus extra words, it’s partial-match; if it’s your company name or URL, it’s branded; anything else—“click here,” “read more,” the raw URL—falls into naked or generic. Be strict with this categorization; fuzzy labeling leads to fuzzy conclusions.

  3. Calculate the percentage of each category and plot it against your competitors’ typical ranges. Once you have the counts, divide each category by the total number of links and multiply by 100. Then, open the top five ranking sites for your target keyword and do the same. I like to create a simple bar chart in Google Sheets so the visual gap is immediate. If your exact-match percentage is 25% and the competitors are averaging 12%, you have a clear disparity.

  4. Flag any single anchor type that exceeds 25% of the total—that is your risk zone. Conventional wisdom used to say 20%, but in my experience, once any single anchor type cracks the 25% threshold without heavy supporting diversity, the algorithm starts to take notice. I have seen exact-match anchors at 27% trigger a manual review flag on a otherwise healthy site. Branded at 30% is usually fine; partial-match at 35% is usually fine; but anything above that and you’re walking on eggshells.

  5. Identify any exact-match anchors pointing to your homepage; those are the first to disavow or request removal if the profile looks unnatural. The homepage is your site’s most powerful page, and over-optimizing its anchor text is the quickest way to invite penalty risk. If you see “link building services” pointing at your domain root from 50 different domains, that’s a red flag. I usually recommend reaching out to those webmasters first and asking for a rewrite to a branded or partial-match anchor. If they don’t respond, the disavow tool is there as a last resort, but I prefer the manual route whenever possible.

  6. Map the anchors to specific pages on your site; you want a spread, not one keyword anchoring 80% of your traffic. This step is often overlooked. I see sites where 70% of inbound exact-match anchors all point to the homepage, while the blog and resource pages have almost no links at all. That is a structural imbalance. I like to create a simple table: page URL, total links, exact-match count, partial-match count, branded count. If the homepage has a keyword storm and the blog is barren, you know exactly where to allocate your next outreach efforts.

  7. Set a baseline and revisit the spreadsheet every month; anchor profiles drift as you acquire new links, and you want to catch drift before it becomes a penalty. I cannot stress this enough. I run a monthly “anchor health check” on every client campaign. It takes about fifteen minutes if the data is already exported, and it catches trends early. Maybe you started at 12% exact-match, and over three months of aggressive outreach, you creeped up to 18%. Catching that at 18% is easy to correct; catching it at 35% after a core update hits is a nightmare.

I have walked clients through this exact process and seen the panic in their eyes turn into relief when they realize that 30% exact-match was the smoking gun all along. The audit takes about an hour, and it grounds every decision that follows. Without it, you are just throwing links at the wall and hoping something sticks.

Matching anchor variety to page intent

Not every page on your site deserves the same anchor treatment. If you treat your homepage, your blog, and your service pages the same way, you are already setting yourself up for an unnatural profile. Each page has a different commercial intent, and your anchor distribution should reflect that.

Your homepage is your brand’s front door. It can handle a heavier branded presence and even some exact-match anchors for your primary service term, because users—and Google—expect to find the main offering there. If you are a plumbing company, having “emergency plumber” as 10% of your homepage anchors is perfectly reasonable; people type that into search bars and expect links to point to the home page. The key is moderation. I usually aim for 60–70% branded, 20–30% partial-match, and single-digit exact-match on the homepage. Any more exact-match than that, and you start looking like you’re trying to manipulate the algorithm rather than serve a user.

A blog post or resource page should lean heavily on partial-match and generic anchors. Think about how people link to articles. They might say “check out this great guide on link building,” or they might just use the title of the post as the anchor, or even a naked URL like “https://example.com/link-building-tips.” Those are all fine. I see too many people try to rank an informational article with exact-match anchors, and it almost always looks forced. Ask yourself: what would a human naturally type or say when linking to this content? If the answer is “check out this article on link building,” that is a partial-match that works. If the answer is “click here for link building services,” that is an exact-match that better suits a commercial landing page. Aligning your anchor choices with the page’s actual purpose keeps the profile looking like a real human made it, not an SEO experiment.

Product pages and category pages sit in the middle. They can handle a higher ratio of partial-match anchors that describe the product function, such as “best project management software for small teams” or “affordable CRM features.” Exact-match anchors here should be reserved for high-conversion terms only, and even then, they need to be diluted with branded and partial-match links from editorial content. I often advise clients to think of product pages as the place where you want transactional intent, not keyword stuffing. The anchors should help users decide, not confuse the algorithm.

Common anchor text mistakes (and how to fix them)

Even seasoned SEOs trip up on anchor text from time to time. The landscape has changed, and habits that were fine in 2015 are now liability risks. Here are the most common mistakes I encounter, and the fix for each one.

The “set it and forget it” approach. This is by far the most common mistake I see. A team builds links over six months, achieves a nice anchor mix, and then never looks at the profile again for another year. That is a recipe for disaster because Google’s algorithms are constantly re‑evaluating link quality. A profile that was natural in June may look suspicious in December if you’ve acquired a burst of exact-match links in the interim. I recommend scheduling a quarterly anchor audit into your calendar, same as you would a technical SEO check. Ten minutes is all it takes if you have the data exported.

Over‑optimizing internal links. Yes, you can control internal anchor text, but stuffing exact-match keywords into every internal link on a page looks manipulative fast. I see this a lot on e-commerce sites where every product name in the navigation uses the target keyword. Instead, use descriptive, user‑focused phrases for internal navigation—“view all men’s running shoes” instead of just “running shoes”—and reserve exact-match terms for the actual link target if it makes editorial sense. For blog internal links, I often use the post title or a related topic phrase. The goal is to help users navigate, not to broadcast keywords to Google on every click.

Ignoring the link source’s context. A link embedded in a “resources” section with the anchor “best seo tools” is fine, but the same anchor in a comment spam dump or a low‑quality directory will carry a penalty risk regardless of the anchor itself. The context of the linking page matters as much as the anchor text. I always tell clients: if you wouldn’t want to be quoted on that page in front of your mom, don’t accept the link with that anchor. The fix is simple: audit regularly, diversify aggressively, and always ask whether the anchor feels like it belongs in the paragraph. If it feels out of place, it probably is.

Buying links with exact-match anchors. I cannot believe I have to say this in 2026, but it still comes up. Paid links that come with a side order of “guaranteed exact-match anchor text” are a fast track to a manual action. Google’s spam team is wise to this tactic, and they actively penalize sites that purchase links with keyword-rich anchor text. If you are buying links, insist on branded or naked URL anchors, or at best a partial-match that feels organic. The short-term ranking boost is never worth the long-term risk.

Benchmarking your anchor profile against the competition

Numbers mean nothing in a vacuum, which is why I always benchmark against the top three ranking sites for our target keyword. This step is often skipped because it takes time and a bit of technical know-how, but it is the difference between a profile that looks accidental and one that looks intentional. I have yet to run a benchmark where the client wasn’t surprised by at least one data point.

Here is how I do it: I pull the top 50 referring domains linking to the number-one ranking page for our target keyword, categorize their anchors using the same spreadsheet method I described in the audit section, and average the percentages. Then I compare those numbers to our client’s profile. If the competition sits at 15% exact-match, 65% branded, and 20% partial-match, and we are at 30% exact-match, we have a clear improvement path. We know we need to slow down exact-match outreach and focus on building branded and partial-match links instead.

If the opposite is true—our profile is too branded, sitting at 80% branded and only 10% partial-match—we need to inject some partial-match links to give Google more semantic signals about what the page is about. Maybe we shift the goal to 65% branded, 25% partial-match, and 10% exact-match over the next quarter. The benchmarking step tells us exactly where the gaps are, and we can allocate our outreach budget to fill them.

I once worked with a client who was convinced their exact-match ratio was fine at 18%. After a benchmark against the top three competitors, we discovered those competitors were sitting at 7% exact-match, 70% branded, and 23% partial-match. The client was over‑optimized and didn’t even know it. We adjusted their outreach strategy, and within two months of shifting focus, their rankings stabilized and actually improved slightly because Google could now parse the page’s intent without fighting a wall of exact-match anchors. Benchmarking works. Do it.

Advanced: using anchor text in outreach emails

When I send outreach emails, I rarely lead with the anchor I want. Instead, I write a pitch that naturally references the content or resource I am offering, and then I let the publisher choose the anchor text, or I suggest a partial-match that feels right in their article. This approach has two benefits: the link looks editorial, and the anchor text ends up being something I wouldn’t have thought of but that fits perfectly. If I do suggest an anchor, I keep it vague enough to be flexible—“a guide on link building” rather than “link building guide”—and I always offer to swap it if the editor prefers something different. This subtle shift in mindset—from demanding an anchor to collaborating on one—dramatically reduces the chance of the link looking sponsored and increases the chance it passes authority.

Let me give you a concrete example. Last month, I was pitching a data study on link building ROI to a niche marketing publication. In my initial email, I mentioned the study and said, “We’d love to see it referenced in your roundup of industry trends.” The editor came back and said, “Sure, we can link to it. What anchor text would you like?” I said, “Whatever feels natural in the context—maybe ‘link building ROI study’ or just the title.” She ran with “link building ROI insights,” which is a partial-match that I wouldn’t have led with, but it fits their editorial style perfectly. The link went live with that anchor, and it looks like a genuine reference, not a planted keyword. Try it on your next five outreach attempts and see how many more publishers agree to link without pushing back on the text.

Tracking anchor drift and staying penalty‑free

The final piece of the puzzle is ongoing monitoring. I check anchor distribution at least once a month using a backlink tracker, and I look for two red flags: a sudden spike in exact-match anchors, or a new domain appearing with a keyword‑rich anchor that doesn’t match the surrounding content. If I see a spike, I reach out to the webmaster to ask for a rewrite, or I use the disavow tool as a last resort. I also keep a simple log in a sheet: date, change in percentage, action taken. This habit has saved multiple clients from unexpected ranking drops after a core update. Think of anchor monitoring like watering a plant—you don’t need to do it every day, but if you ignore it completely, the whole thing withers. Set a calendar reminder, run the report, and make a note of any shifts. Your future self will thank you.

I had a client who ignored monthly checks for two quarters. They aggressively pursued exact-match anchors for a new product launch, and by the time they checked, they were at 35% exact-match across their money pages. A core update hit shortly after, and their rankings tanked. We pulled the disavows, shifted the outreach to branded and partial-match, and within three months, they were back on page one, but they lost three months of momentum that could have been avoided with a monthly fifteen-minute check. Don’t let that be you.

Advanced: seasonal and content-type variations

One nuance that often goes unmentioned is that anchor distribution can—and should—shift based on the type of content you are building links to and the time of year. If you are running a seasonal campaign, such as a “holiday gift guide” in November, the anchor profile might naturally skew toward more commercial, exact-match terms because that’s what users are searching for. That is normal and usually not a problem, as long as the overall profile remains diverse. I keep a mental note of seasonal shifts and ensure that the post-campaign audit accounts for them. If you launched a big winter campaign in January and your exact-match numbers are through the roof, that’s expected; just make sure you course-correct in the spring when the seasonal traffic tapers off.

Similarly, different content types invite different anchor behaviors. A viral infographic might attract a lot of generic anchors like “cool infographic” or “check this out,” which is fine because the link is earning traffic regardless. A deep technical guide, however, will attract more partial-match and branded anchors from industry peers. I adjust my expectations for each content type and report the anchor metrics accordingly in my monthly roundups. If you are reporting anchor percentages to a stakeholder, make sure the context of the content type is included, or the numbers will look wrong.

Real‑talk conclusion

You do not need to hit a magical anchor percentage to rank; you need a profile that looks like it was earned, not engineered. I have seen sites rocket to the first page with a heavy branded skew and a handful of well‑placed exact-match anchors, and I have seen others tank with a “perfect” 20% exact-match ratio that felt forced and artificial. The difference was always context, consistency, and a willingness to audit and adjust. I have worked with e‑commerce sites that ranked fine at 25% exact-match because their brand was household-name level, and I have worked with niche B2B sites that tanked at 12% exact-match because the market was competitive and the algorithm was stricter. There is no universal number, only universal principles.

If you take away one thing from this checklist, let it be this: treat anchor text as a by‑product of great content and genuine relationships, not as a leverage point to game the system. Do the audit, diversify sensibly, and keep an eye on the numbers, but always put the user—and the referring site—first. The moments you stop thinking like an SEO and start thinking like a publisher who happens to want traffic, the whole link‑building game gets a lot easier.

And if you want a tool that automates the auditing, tracking, and benchmarking so you can spend more time building real relationships and less time in spreadsheets, OptiLink handles the heavy lifting so you can focus on the strategy. It won’t write your outreach emails for you, but it will give you the data you need to know when to pivot, and it will flag anchor drift before it becomes a problem. That is the kind of partner you want in this game.

FAQ

What is the ideal anchor text ratio for SEO?|Most teams find a 3:1 ratio of partial-match to branded anchors works without triggering filters, but the real answer depends on your niche and existing profile.

Can I use exact-match anchor text after a penalty?|Yes, but only sparingly and usually after rebuilding trust with a heavy branded and partial-match base first.

How many different anchors should I use per page?|There is no magic number, but aiming for at least 5–7 unique variations per target page keeps the profile looking organic.

Is it safe to use naked URLs as anchors?|Absolutely; they are the safest anchor type and often look natural in editorial content, especially for homepages and high-authority references.

Should I nofollow all keyword-rich anchors?|No, a natural mix includes some follow links, but keep the ratio low—around 10–15%—to avoid over-optimization signals.

Frequently asked questions

What is the ideal anchor text ratio for SEO?

Most teams find a 3:1 ratio of partial-match to branded anchors works without triggering filters, but the real answer depends on your niche and existing profile.

Can I use exact-match anchor text after a penalty?

Yes, but only sparingly and usually after rebuilding trust with a heavy branded and partial-match base first.

How many different anchors should I use per page?

There is no magic number, but aiming for at least 5–7 unique variations per target page keeps the profile looking organic.

Is it safe to use naked URLs as anchors?

Absolutely; they are the safest anchor type and often look natural in editorial content, especially for homepages and high-authority references.

Should I nofollow all keyword-rich anchors?

No, a natural mix includes some follow links, but keep the ratio low—around 10–15%—to avoid over-optimization signals.

Frequently asked questions

How do I check my anchor text distribution?

Open Google Search Console, go to Links to your site, and click the 'Anchor text' report. It shows your top anchors and their share of the profile, though it caps at 1,000 links.

What is a healthy anchor text distribution?

Most sites we audit fall into a 50-70% branded/natural mix with exact match anchors under 10%. If your exact match ratio creeps past 15%, it’s a red flag for over-optimization.

Can too much exact match anchor text hurt rankings?

Yes. Google’s Penguin and manual spam filters flag profiles where exact match anchors exceed 15-20%. The safest approach is to keep them under 10% and rely on brand, URL, and related variations for the bulk of your links.

How often should I audit anchor text?

We recommend a light audit after every major link insertion campaign and a full deep-dive quarterly. If you’ve just recovered from a penalty, check monthly until the profile stabilizes.