Skip to content

Anchor text analysis

Your anchor text is working. Just not for you.

Anchors are how Google reads your internal links, and they are one of the few on-page signals you fully control. When they are vague, repetitive or pointing in three directions, you are sending muddled signals you cannot even see. Linkilo scores every anchor on your site 0–100 and tells you which ones to fix first.

Eight anchor problems detected automatically A 0–100 severity score on every anchor Fast on huge catalogs

Included in every plan. 30-day money-back guarantee.

Anchor health

Exact-match overuse 14

Same anchor, different URLs 7

Generic anchors 62

Empty / image-only 18

Raw URL as anchor 9

Sorted by severity, so the top of the list is the work worth doing.

The job, as it stands

What an anchor text checker for WordPress is doing for you

Crawl the site. Pull every anchor. Group them. Work out which ones say nothing, which one phrase you have used thirty times, and which phrase you have pointed at four different pages. In a spreadsheet.

By hand, that means

  1. Crawl the site and export every internal link with its anchor text.
  2. Group the anchors by phrase, and again by destination.
  3. Find the empty ones: click here, this post, read more.
  4. Find the phrase you have used thirty times, and the phrase pointing at four different pages.
  5. Open each post and change the anchor, then re-run the crawl to see what you missed.

Linkilo does every step of that.

What it costs to leave it

Thirty links that all say the same phrase do not read as thirty votes. They read as a pattern, and patterns get discounted. Meanwhile the phrase you actually want to rank for is pointing at four different pages, so none of them gets the credit.

Somebody has to do that: you, or somebody you pay.

What you get back

The crawl, the grouping and the judgment call on each one.

What it looks like instead

Every anchor is scored against eight health checks, worst first, each with the fix named.

How soon

One report over the whole site.

Who does the work

Deterministic

Eight explicit checks: generic, over-optimized, ambiguous, empty, raw URL, too long, brand-only, punctuation. You can read the rule behind every score.

Time figures describe the shape of the job (an afternoon, a day, a week), not a promise about your site. Your archive is your archive.

The problem

No human reads every anchor. So the problems stay hidden.

Hundreds of posts, thousands of links, and every one of them is telling Google something about the page it points at. Nobody audits that by hand, which is exactly why it drifts.

What is happening in your content right now

  • The same exact phrase hammered at one page over and over, which reads as unnatural
  • “Click here” and “read more” on your most-read posts, passing no meaning at all
  • One phrase linking to three different pages, splitting its own ranking signal
  • Image links with no alt text, passing nothing and helping nobody
  • You only find out you over-optimized after the rankings move

What the report gives you

  • A complete inventory of every anchor, with counts and destinations
  • Eight specific problems flagged on the exact anchors affected
  • A 0–100 severity score, so the worst offenders rise to the top
  • The reasons behind every score, so you know what to change
  • A CSV export for the audit, the client, or tracking your own fixes
Detected automatically

Eight anchor problems, found for you

Each one is flagged on the exact anchors affected, with the source post attached. No hunting.

Exact-match overuse

The same anchor pointing at one page four or more times. This is the pattern that reads as manufactured rather than earned.

Pointing to multiple URLs

One phrase linking to several pages, which splits the ranking signal you were trying to concentrate.

Generic anchors

“Click here”, “read more”, “this”. Links that tell Google nothing and tell a screen-reader user even less.

Empty or image-only

Links with no text at all. A completely lost signal, and usually an accessibility problem at the same time.

Raw URL as anchor

A naked URL used as link text instead of a descriptive phrase. Common in pasted content, invisible once published.

Long auto-generated

Twelve or more words, which is almost always a paragraph that accidentally became a link during editing.

Symbol-only anchors

Arrows and punctuation doing work that text should be doing. Looks fine, communicates nothing.

Brand anchors

Flagged for context rather than penalised. A healthy profile has plenty of them, and you should be able to see the balance.

What you can do with it

Answers to what you would actually ask

“What anchors do I even have?”

A complete inventory of every link text on your site, with how often each is used and exactly where each one points.

“Which ones are risky?”

A 0–100 severity score ranks anchors so the high-risk ones rise to the top and the work has an obvious starting point.

“Why is this one flagged?”

Every score shows its reasons: overused, generic, empty, conflicting. You are never guessing at what the number means.

“What does this page look like from the outside?”

Pick any page and see every internal anchor pointing at it, with counts and the exact/partial/branded/generic mix.

“Internal or external?”

Switch scope to focus on the internal links you fully control, the external ones, or both together.

“Can I work outside WordPress?”

Export the full report to CSV in one click for spreadsheets, audits or client deliverables, and track your fixes over time.

“Will it choke on a big site?”

No. A light overview loads first and heavy detail loads only for rows you actually open, so it stays fast on very large catalogs.

“Am I over-optimized?”

The exact-match ratio per destination page is shown against a healthy range, so you can dilute deliberately rather than discovering it from a traffic graph.

“Can I fix them from here?”

Every flagged anchor links straight to the post containing it, so the fix is one click away rather than a search-and-hope exercise.

How it works

From messy links to a clear to-do list

Three stages, and the only one that needs you is the last.

Inventory

Every anchor on the site, in one place

Linkilo reads the links already in your content, internal and external, and builds a complete inventory of every anchor with its usage count and destinations. This runs from the indexed link table rather than a full content scan, which is why it works on sites with tens of thousands of links.

The moment you see it laid out, the drift is obvious. Multi-author blogs in particular tend to discover that one page is described eleven different ways depending on who wrote the post.

  • Every anchor, with usage count and destination
  • Internal and external scope, switchable
  • Built from the indexed link inventory, so lookups are instant
  • Source post attached to every single occurrence
Anchors pointing here

/guides/cigar-humidors/

“cigar humidor” 38× exact

“best humidors” 11× partial

“this guide” 14× generic

“click here” 6× generic

Eleven different descriptions of the same page.

Score

Eight health flags, one number, visible reasoning

Each anchor is checked against all eight problems and given a 0–100 severity score. A list of anchors is not an audit; knowing which ones are risky, and why, is what turns it into work you can prioritize.

The reasoning is always shown. If an anchor scores 82 you can see it is because the phrase is used exact-match nine times at one URL and twice at another, which tells you precisely what to change rather than leaving you to guess at a number.

  • All eight flags evaluated on every anchor
  • 0–100 severity score with the contributing reasons listed
  • Exact-match ratio per destination shown against a healthy range
  • Brand anchors identified for context rather than penalised
Why this scores 82

Anchor: “cigar humidor”

Exact-match overuse 9× to one URL

Multiple destinations 2 other URLs

Not generic Not empty

Exact-match share for this page

62%. Healthy sites usually sit under 30%.

Fix

Work top-down, and stop when the score is boring

Because the list is ranked, the first hour is the valuable one. Rewrite the vague anchors on your highest-traffic posts, vary the overused ones, give the empty image links a real description, and consolidate the phrase that was pointing at three pages.

Every flagged anchor links straight to the post containing it, so fixing one is a click and an edit rather than a search. Export to CSV if you want to track the work or hand it to somebody else.

  • Ranked list, so the first fixes are the ones that matter
  • One click from a flagged anchor to the post it lives in
  • CSV export for audits, clients and progress tracking
  • Re-run any time to see the score come down
Your queue
“cigar humidor” → 3 URLs82
Consolidate on /guides/cigar-humidors/ · 11 posts affected
“click here” × 6271
Rewrite on the 8 highest-traffic posts first
Image links with no alt64
Inside the dashboard

The anchor report, exactly as it ships.

Every anchor on the site, grouped, with the pages it points at, a severity score out of 100, and the specific problem flagged: generic, over-optimized, ambiguous.

yoursite.com/wp-admin/admin.php?page=anchor_analysis

Anchor Report ?Every anchor text used to link to URLs on your site, with health flags: multi-URL, generic, exact-match overuse, empty/image-only, URL-as-anchor, brand, long, punctuation-only. Different from Link Cannibalization, which is just the multi-URL slice.

Turn anchor text into a cleanup queue: consolidate diluted anchors, rewrite weak anchors, and leave healthy brand anchors alone.

Anchors Tracked ?Total distinct anchor texts found in your site's links, filtered by the scope above.
623
distinct anchors
Ready to Review ?Anchors scoring 60+ on the severity scale — usually a stack of flags (multi-URL + generic, or overuse + many instances).
64
start here
Multi-URL ?Anchors pointing to 2+ distinct URLs. Each dilutes the signal Google receives. The Link Cannibalization report can consolidate these automatically.
29
point to 2+ URLs
Exact-match Overuse ?Same anchor used 4+ times to the same URL. Looks unnatural to Google — diversify with synonyms.
41
over-optimized
Generic ?"click here", "read more", "this", "learn more"... Pass zero topical signal. Always worth rewriting.
118
replace these
Total Link Instances ?Sum of all link instances across all anchors in scope. The total number of internal/external links on your site that pass through this report.
4,812
links analyzed
Start here

Linkilo separates anchors into concrete cleanup moves. Start with Multi-URL anchors because they split topical signals across pages. Then rewrite Generic anchors where the source sentence can carry a clearer phrase. Brand anchors such as "yoursite" are monitored, not treated as a problem.

Top 3 Anchor Moves

These rows have the clearest cleanup path based on the current link inventory.

QUICK WINS
#1 ANCHOR Severity 92/100
“click here”
18 instances · 6 targets
18
Instances
6
Targets
7
Max per URL
Next move: 🪡 Mixed cleanup needed — Anchor points to many destinations. Pick which 1–2 are correct, rewrite the rest. See Link Cannibalization for the full plan.
Multi-URLGeneric
#2 ANCHOR Severity 78/100
“best cigar humidors”
34 instances · 1 targets
34
Instances
1
Targets
34
Max per URL
Next move: 🎨 Diversify anchors — Same exact-match anchor used 34x to one URL. Vary 1–2 instances with synonyms or partial-match.
Overuse
#3 ANCHOR Severity 66/100
“this guide”
11 instances · 4 targets
11
Instances
4
Targets
4
Max per URL
Next move: 🔁 Consolidate to one URL — Multiple targets dilute the signal. Use Link Cannibalization to consolidate.
Multi-URLOveruse
Anchor ?The exact anchor text. Click the row to expand and see every target URL with instance counts. Severity ?0-100 score combining flag weights and instance counts. ≥60 high, ≥30 medium, <30 low. Top Target ?The URL receiving the most instances of this anchor. Expand the row to see all targets. Flags ?All issues detected for this anchor. Multi-URL is the biggest red flag; overuse and generic are common fixes. Next Move ?The single highest-impact next step for this anchor. Rewrite is manual; Consolidate is automated in the Link Cannibalization report.
“click here”
18 instances·6 targets·max 7/URL
HIGH 92
Cigar Humidor Guide (7x)
/guides/cigar-humidors/
+ 5 more targets
Multi-URLGeneric🪡 Mixed cleanup needed
Anchor points to many destinations. Pick which 1–2 are correct, rewrite the rest. See Link Cannibalization for the full plan.
INTCigar Humidor Guide7x
/guides/cigar-humidors/
7×From 6 sourcesEditView
EXTBoveda humidor care4x
https://boveda.com/humidor-care
4×From 4 sourcesView
INTBest Cigar Humidors of 2026
/best-cigar-humidors/
3×From 3 sourcesEditView
INTContact
/contact/
2×From 2 sourcesEditView
INTGuides
/guides/
1×From 1 sourceEditView
INTHumidor Buying Guide
/guides/humidor-buying/
1×From 1 sourceEditView
“best cigar humidors”
34 instances·1 targets·max 34/URL
HIGH 78
Best Cigar Humidors of 2026 (34x)
/best-cigar-humidors/
Overuse🎨 Diversify anchors
Same exact-match anchor used 34x to one URL. Vary 1–2 instances with synonyms or partial-match.
INTBest Cigar Humidors of 202634x
/best-cigar-humidors/
34×From 31 sourcesEditView
“this guide”
11 instances·4 targets·max 4/URL
HIGH 66
How to Season a New Humidor (4x)
/guides/season-a-humidor/
+ 3 more targets
Multi-URLOveruse🔁 Consolidate to one URL
Multiple targets dilute the signal. Use Link Cannibalization to consolidate.
INTHow to Season a New Humidor4x
/guides/season-a-humidor/
4×From 4 sourcesEditView
INTTravel Humidor Buying Guide
/guides/travel-humidors/
3×From 3 sourcesEditView
INTCigar Humidity Chart (69% vs 72%)
/guides/cigar-humidity-chart/
2×From 2 sourcesEditView
INTBoveda vs Beads: Which Actually Holds?
/reviews/boveda-vs-beads/
2×From 2 sourcesEditView
“read more”
9 instances·1 targets·max 9/URL
HIGH 61
Humidor Buying Guide (9x)
/guides/humidor-buying/
OveruseGeneric✍️ Rewrite anchor text
Generic phrase passes no topical signal. Replace with the target page's focus keyword or descriptive copy.
INTHumidor Buying Guide9x
/guides/humidor-buying/
9×From 9 sourcesEditView
“the complete guide to seasoning a brand new cigar humidor”
5 instances·1 targets·max 5/URL
MEDIUM 41
How to Season a New Humidor (5x)
/guides/season-a-humidor/
Long✂️ Trim long anchor
Long anchors look auto-generated and dilute the signal. Tighten to 3–6 keyword-relevant words.
INTHow to Season a New Humidor5x
/guides/season-a-humidor/
5×From 5 sourcesEditView
“https://yoursite.com/guides/”
4 instances·1 targets·max 4/URL
MEDIUM 38
Guides (4x)
/guides/
URL-as-anchor✍️ Replace URL with descriptive text
Raw URLs waste the anchor slot. Use a phrase that describes the target page.
INTGuides4x
/guides/
4×From 4 sourcesEditView
“(empty / image-only)”
6 instances·1 targets·max 6/URL
MEDIUM 35
Shop (6x)
/shop/
Empty/img✍️ Add descriptive anchor text
This link has no visible text or is image-only. Add a descriptive phrase so search engines and screen readers can interpret it.
INTShop6x
/shop/
6×From 6 sourcesEditView
“yoursite”
22 instances·1 targets·max 22/URL
LOW 24
Home (22x)
/
Brandℹ️ Brand anchor (OK)
Brand anchors are normal and expected. No action needed unless you want more topical diversity.
INTHome22x
/
22×From 19 sourcesEditView
“»”
3 instances·1 targets
LOW 19
Reviews (3x)
/reviews/
Punct✍️ Add descriptive copy
A symbol-only anchor (›, →, »…) passes no signal. Pair it with a word or short phrase.
INTReviews
/reviews/
3×From 1 sourceEditView
“humidor humidity chart”
14 instances·1 targets·max 14/URL
NONE 0
Cigar Humidity Chart (69% vs 72%) (14x)
/guides/cigar-humidity-chart/
— none✅ Healthy
No issues detected.
INTCigar Humidity Chart (69% vs 72%)14x
/guides/cigar-humidity-chart/
14×From 11 sourcesEditView
Showing 1–10 of 623 anchors
Page 1 of 63

What the flags mean

Multi-URL — same anchor used to link to 2+ different URLs. Dilutes Google's signal about which page should rank for that phrase.
Exact-match overuse — same anchor used 4+ times pointing to the same URL. Looks unnatural; diversify with synonyms.
Generic — "click here", "read more", "learn more". Wasted anchor real estate. Replace with descriptive copy.
Empty / image-only — link has no visible text. Lost SEO signal and an accessibility miss.
URL-as-anchor — using the raw URL as the link text. Replace with descriptive copy.
Long auto-generated — 12+ words. Usually a paragraph fragment from automated linking; tighten it.
Brand — informational only. Brand anchors are expected and normal.
Punctuation only — symbol-only anchors (›, →, »). Pair with a word for context.

How severity is calculated: base score from each active flag (multi-URL up to 30, overuse up to 25, generic up to 20, others 8–15) + volume bump for anchors used 10+ times. Maxes out at 100.

Recreated from templates/anchor_report.php. Same eight checks, same scores, same fixes.

A complete anchor health check

In one screen, with no spreadsheets

8
Anchor problems detected automatically
0–100
Severity score on every anchor
CSV
One-click export for audits and clients
0
Manual counting required
Who this is for

Who finds something uncomfortable in this report

Almost everyone, the first time. That is rather the point.

Anyone who has ever over-optimized

You found out from a ranking drop, not from a report.

With Linkilo: the exact-match ratio is on screen long before it becomes a problem.

Multi-author blogs

Every writer describes the same page a different way.

With Linkilo: see the drift in one screen and standardize on the anchors that work.

Accessibility-minded teams

“Click here” is mediocre SEO and bad for screen-reader users.

With Linkilo: every generic, empty and symbol-only anchor is listed to be fixed.

Agencies running audits

Anchor analysis means a crawl, an export and a pivot table.

With Linkilo: the report is a screen, it updates itself, and it exports to CSV.

Sites that imported content

Migrated posts are full of raw URLs and pasted links.

With Linkilo: raw-URL and long auto-generated anchors surface immediately.

Affiliate and review sites

Money pages attract repetitive commercial anchors by nature.

With Linkilo: you can see the concentration and vary it before it looks manufactured.

How it compares

Other tools list your links. Linkilo grades them.

A list of anchors is not an audit. Knowing which are risky, and why, is.

Linkilo anchor reporting compared with a manual audit and a general SEO crawler
Can it… Linkilo Spreadsheet audit Crawler / SEO suite
List every anchor on the site Yes Eventually Yes
Score each anchor for risk Yes No No
Explain why an anchor is flagged Yes No No
Detect exact-match overuse Yes Manual Partial
Detect one anchor pointing at many URLs Yes Manual No
Flag empty and image-only links Yes No Partial
Flag symbol-only and raw-URL anchors Yes No No
Separate brand anchors for context Yes No No
Link straight to the post to fix it Yes No No
Stay current as you publish Yes No Re-crawl
Export to CSV Yes Yes Yes

Anchor health and internal linking are the same problem seen from two ends. See how link suggestions pick anchors that already exist in your writing.

Getting started

Three steps to a clean anchor profile

  1. Inventory

    Linkilo reads the links already in your content and builds a complete list of every anchor, internal and external.

  2. Score

    Each anchor is checked against eight health flags and given a 0–100 severity score with its reasoning attached.

  3. Fix, top down

    Rewrite the vague ones, vary the overused ones, repair the empty ones. Export to CSV to track it or hand it over.

Quick answers

A complete inventory of every anchor in your content, each checked against eight health flags and given a 0–100 severity score, with the reasons for that score shown and the source post attached to every occurrence.

Know exactly what your links are telling Google.

Inventory every anchor, see which ones are risky and why, and fix them in priority order instead of hoping the profile looks natural.

30-day money-back guarantee. Every feature is included in every plan.