# Anchor-Text Manipulation Detector — SpamBrain catches EMA ratios you don&#39;t feel

Google&#39;s SpamBrain doesn&#39;t just count backlinks — it profiles your exact-match anchor distribution. One moderately-trafficked page I audited had 43% EMA for the same commercial phrase. This tool surfaces the ratio before SpamBrain does.

Author: J.A. Watte
Published: April 22, 2026
Source: https://jwatte.com/blog/blog-tool-anchor-text-manipulation-detector/

---

SpamBrain is Google's machine-learning spam system. It doesn't need a manual reviewer to notice that your inbound anchor distribution is unnatural — it notices algorithmically, and it demotes algorithmically.

The giveaway isn't one bad anchor. It's the *ratio*. A page with 43% of its inbound anchors saying "buy widgets online" has been manipulated; a page with 4% saying that is simply well-optimized. The threshold is fuzzy but it exists, and SpamBrain has crossed it long before a human manual action lands.

[The Anchor-Text Manipulation Detector](/tools/anchor-text-manipulation-detector/) is an on-page version of that audit. It scans every anchor pointing *out* from your page and every anchor pointing *in* to your page (where crawlable), profiles the distribution, and flags the patterns SpamBrain cares about.

## What the tool flags

- **EMA over-optimization** — exact-match commercial phrases repeated past ~8-12% of total anchors
- **PMA stacking** — partial-match anchors ("best widgets for small business") stacked alongside EMA such that combined share exceeds ~25%
- **Branded-anchor starvation** — natural link profiles are 30-60% branded; pages at <15% branded are suspicious
- **Naked-URL deficiency** — natural profiles include 10-30% raw URLs; zero naked-URLs = curated = suspicious
- **Generic-anchor starvation** — "click here", "read more", "this article" should be 5-15% of the mix
- **Velocity anomalies** — sudden clusters of new EMA anchors in a short window (harder to detect from on-page; flagged when found in a fresh link profile)
- **Keyword co-occurrence** — the same commercial phrase appearing across different linking domains in identical form

## Why the fix isn't "just remove bad links"

Removing links signals to SpamBrain that you *knew* they were manipulative. The better play:

1. **Diversify new link building** — push inbound anchors toward branded and generic for the next 3-6 months until the ratio normalizes
2. **Internal-anchor correction** — you control 100% of your internal anchors; re-balance those first
3. **Only use Disavow for paid/penalty-risk links** — Google's guidance is that Disavow is a last resort, not a routine hygiene tool

## How to use it

1. Go to [/tools/anchor-text-manipulation-detector/](/tools/anchor-text-manipulation-detector/)
2. Paste a URL
3. The tool fetches the page, extracts every anchor, and profiles the distribution
4. Read the score + findings
5. Copy the fix prompt into Claude or ChatGPT to get a rewrite plan for your internal anchors

Typical runtime: ~3-5 seconds per page. No API key, no signup.

## Related reading

- [Anchor-Text Entropy Scanner](/tools/anchor-text-entropy-scanner/) — complementary tool measuring diversity via Shannon entropy
- [Internal Link Equity Flow](/tools/internal-link-equity-flow/) — PageRank-style flow analysis
- [Every new AEO tool for 2026](/blog/blog-new-aeo-audit-tools-2026/)

## Fact-check notes and sources

- **SpamBrain (Google's ML spam system):** [Google Search Central — Webmaster Guidelines (Spam)](https://developers.google.com/search/docs/essentials/spam-policies).
- **Exact-match anchor penalty history:** [Google Penguin update (2012)](https://developers.google.com/search/updates/ranking).
- **Disavow guidance (last-resort tool):** [Google Search Central — Disavow links](https://support.google.com/webmasters/answer/2648487).
- **Natural anchor-text distribution patterns:** [Ahrefs — Anchor Text Study](https://ahrefs.com/blog/anchor-text/).

_This post is informational, not SEO-consulting advice. Mentions of Google, Ahrefs, Claude, ChatGPT, and similar products are nominative fair use. No affiliation is implied._


---

Canonical HTML: https://jwatte.com/blog/blog-tool-anchor-text-manipulation-detector/
RSS: https://jwatte.com/feed.xml
JSON Feed: https://jwatte.com/feed.json
Hero image: https://jwatte.com/images/blog-tool-anchor-text-manipulation-detector.webp
