Anchor Text Planner & Backlink Ratio Governance — SoloCMO
SEO 08 · earn

Nobody plans an over-optimized profile.

They just build one, a reasonable link at a time. This audits where a money page's anchors actually sit against natural ranges, then plans every anchor for the month's guest posts — with a cumulative exact-match cap that blocks the slot rather than warning you about it.

Anchor-text ratio governanceapp.solocmo.io
Screenshot Anchor Health — mix against the safe band 16:9 · export 2400 × 1350 (@2x)

Anonymize the client and source domains unless it's your own profile.

The problem

Every anchor decision is reasonable. The total isn't.

You place a guest post and you need anchor text. The money keyword feels like the productive choice, so that's what goes in — and it goes in again on the next one, and the one after that, because each decision is made alone and nothing is keeping a running count.

Eighteen months later a page has one hundred and eighty backlinks, two-thirds of them keyword anchors, almost no branded ones, and a profile that looks exactly like what it is. Nobody chose that. It accumulated.

Anchor health

Where the profile actually sits, against where it should.

Each anchor type gets a band — the share a profile tends to have when nobody was optimizing it. Branded should dominate. Naked URLs and generic anchors should be common. Keyword-rich anchors should be the minority they'd naturally be.

Note that every category has a floor as well as a ceiling. A profile can be unnatural by having too few branded anchors just as easily as too many keyword ones.

Branded"Contact Illumination…" 2%Under
Naked URL"https://www…" 1%Under
Generic"click here" 2%Under
Partial-match"SEO solutions in Houston" 26%Over
Exact-match"SEO company Houston" 2%On target
LSI / Topical"Click to read" 68%Over
On target Under the floor Over the ceiling Safe band

A real money page with 186 backlinks — five of six ratios out of range.

What to do next

It doesn't just grade the profile. It writes the next dozen anchors.

Knowing a profile is over-optimized doesn't help unless it changes what you place next month. The prescription names the count per anchor type — and pauses the categories that are already over, so you can't accidentally make it worse while trying to fix it.

Build your next 12 links like this

Rebalance toward branded and naked URL

  • Branded
  • Naked URL
  • Generic
  • Partial-match — paused until safe
  • Exact-match
  • LSI / Topical — paused until safe

And when a profile is already out of range, two routes — both costed.

Dilute over time

Build it out

Add enough non-offending anchors to bring the ratio down naturally. On the profile above, reaching the ceiling means roughly 444 more anchors of other types — slow, but nothing gets removed and nothing looks like a reaction.

Slower · lowest risk

Trim to fix fast

Disavow the worst

Remove or disavow the lowest-quality offenders until the ratio is back inside range. On the same profile that's 89 of 186 links, and it's immediate — but every one of them needs a human decision first.

Faster · needs review
Plan links

Then plan the month, slot by slot.

Add the money pages that matter this month with the keywords behind them, set how many guest posts you're placing, and the plan allocates across money pages, homepage and supporting content — then fills in every slot with a category, an anchor and a destination.

Export it as a CSV and hand it to whoever is placing the posts. The person buying the links never has to make an anchor decision.

  • Money pages get first priority, with the split stated as a percentage
  • Allocation across money pages, homepage and blog or info content
  • Every slot carries its category, anchor text and destination URL
  • The mix recalculates live as you change the volume
  • CSV export, saved to history so the next month builds on it
Plan links20 slots
Screenshot Generated plan — every slot with its category 16:10 · export 1600 × 1000 (@2x)
Two things it refuses to let you do

The cap blocks. It doesn't warn.

Exact-match is the anchor type that gets profiles into trouble, and it's the one that feels most productive to keep using. So the cap is cumulative across the whole month's plan, and when you reach it the next exact-match slot isn't available — same principle as the word ceiling in the content pipeline.

Cumulative exact-match · hard cap 5% used · 1 of 20 slots

At the ceiling. Adding another exact-match slot would push the plan over, so the planner blocks it.

Velocity

How many links is safe this month

A sudden spike is its own signal regardless of how good the anchors are. The recommendation takes the client's referring domains against a competitor's, how long they've been building, and the traffic trend.

Floors too

Warned when branded runs thin

The plan flags a branded share that's too low, not just keyword anchors that are too high. Both directions are how a profile ends up looking built.

Per money page

Ratios governed page by page

A site-wide average hides the page that's in trouble. Each money page gets its own profile, its own health score and its own prescription.

Every module is on every plan. Plans differ only in how many clients you run.

Shared context

What feeds it, and what it produces.

Feeds the planner

Site Structure
Money pages
Keyword Value
Which pages
Backlink data
Current mix
Rank Diagnosis
Where it hurts

What comes out

The month's plan
CSV
Next 12 anchors
Prescribed
Disavow list
If trimming
Profile health
Per page
Questions

Link Planner, answered straight.

How is this different from a backlink checker?
A backlink checker reports what you already have. This governs what you add next — it audits the current anchor mix against natural ranges, then plans every anchor for the month's guest posts so the profile moves toward safe rather than further from it.
What is the exact-match hard cap?
A ceiling on how much of a plan can be exact-match anchor text, enforced cumulatively across the month. When the plan reaches it, adding another exact-match slot is blocked rather than warned about — because exact match is the anchor type that gets profiles into trouble, and it's the one that feels most productive to keep using.
What are the natural ranges based on?
The distribution a profile tends to have when nobody was optimizing it — heavily branded, with a healthy share of naked URLs and generic anchors, and keyword-rich anchors as a small minority. Every category has a floor as well as a ceiling, because a profile can be unnatural by having too few branded anchors just as easily as too many keyword ones.
What if a profile is already over-optimized?
There are two routes and the tool costs out both. Dilution means building enough non-offending anchors to bring the ratio down, which is slower and lower risk. Trimming means removing or disavowing the worst offenders to get back inside range immediately, which is faster but needs review. It shows the number of links each path requires.
How many links should I build in a month?
That depends on the profile you're starting from. The velocity recommendation takes the client's referring domains against a competitor's, how long they've been actively building, and the traffic trend, and returns a safe monthly acquisition range — because a sudden spike is its own signal regardless of how good the anchors are.
Get started

Every plan includes every module.

There are no feature gates. Plans differ only in how many clients you run and how much you generate for them.