Skip to content

AI link suggestions

Linkilo reads everything you have published, then links it the way you would have.

Linkilo reads every post you have published, works out which ones belong together, and hands you the links you are missing, with the anchor text already picked out of your own writing. You approve. It inserts. That is the whole job.

Anchor text always exists in your post Every score broken down into its five parts Works without an API key

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

Linkilo suggestions

Shown in the post editor. The sentence is yours; the anchor is picked from inside it.

Find & Add New LinksAdd Your Own
PendingProcessed

Keyword: cigar humidor

The Beginner’s Guide to Cigar Humidors87🧠

If you are just starting out, a cigar humidor for beginners will hold humidity well enough without the cost of a cabinet. | Edit (92)

March 14, 20241.4 yrs2,410 wordsBuying Guides
How to Season a New Humidor64🧠

Most people skip this, but you should season a new humidor before you put a single cigar in it. | Edit (71)

August 2, 20232.0 yrs1,180 wordsTutorials

The job, as it stands

What an internal linking plugin for WordPress is really replacing

Open a post. Try to remember what else you have written that relates to it. Search the site. Open a second tab. Decide whether the link is worth it. Find a sentence that will carry it. Do that for every post you publish, and for the four hundred you published before you had a system.

By hand, that means

  1. Read the post and list every page it could send a reader to, and every page that ought to send a reader to it.
  2. Search the archive for each candidate, because you will not remember most of what you wrote.
  3. Check the post to make sure the link is not already in it.
  4. Pick the anchor text, then search the rest of the site to make sure that phrase is not already pointing somewhere else.
  5. Find a sentence that carries the link without being rewritten.
  6. Write down what you added, so you can tell later whether anybody clicked it.
  7. Do it again for the post you publish next week, and the four hundred behind it.

Linkilo does every step of that.

What it costs to leave it

Meanwhile the posts you wrote last year sit at the bottom of the site with two links pointing at them, and the new ones arrive with none. Google ranks what your own site vouches for. A page nothing links to gets the benefit of the doubt for a while, then quietly stops being crawled.

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

What you get back

A week of that work, the first time you run it across a site you have been writing for years.

What it looks like instead

You write the post. The links that should exist already do, with anchors taken out of your own sentences, and you never opened a second tab.

How soon

First suggestions in about four minutes on a 500-page site.

Who does the work

AI, inside deterministic guardrails

The matching is AI: post and keyword embeddings, scored against your topic clusters. The safety is deterministic: the anchor must already exist verbatim in your post or the suggestion is never offered.

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

Most internal-link plugins are string matchers in a trench coat.

They look for your keyword in other posts and offer you a link. That finds the obvious connections you would have made anyway, and misses every connection where two posts mean the same thing in different words.

What a string matcher does

  • Finds posts containing your exact keyword, and stops there
  • Cannot tell a post that mentions a topic from a post about it
  • Offers no reason, so you either trust it blindly or check by hand
  • Invents anchor text that does not appear in your sentence
  • Never notices that five of your posts are competing for one query

What an engine does

  • Builds a profile of every post before suggesting anything
  • Matches meaning, so “cigar storage” finds “humidor care”
  • Shows the score and the reason on every single suggestion
  • Uses anchor text that already exists in the post you are editing
  • Flags keyword conflicts and tells you which post should win
A toolkit, not a feature

Built around how internal linking actually works

Every part of this answers something you have probably asked while staring at a half-finished post.

“What should I link to from this post?”

Open any post and get a ranked list of relevant internal targets, scored by semantic similarity, keyword overlap and topic cluster. Click to insert.

“What anchor text should I use?”

Linkilo picks anchors that already exist in your post and ranks them by precision: exact keyword first, then partial, then title phrase, then a single salient word.

“Why was this link suggested?”

Every suggestion shows a score you can break down: hover it for Total, Anchor, Post, Semantic and Context as separate numbers, so you can sanity-check before you click.

“Are my posts fighting each other?”

A semantic conflict scanner finds posts targeting the same keyword, or a keyword that means the same thing, and flags them for resolution.

“Which post should own this keyword?”

When posts collide, the AI weighs completeness, intent, Search Console clicks, content format and authority, then picks the post that should keep the keyword.

“What unique angle do my other posts have?”

The Keyword Specialist suggests two to three long-tail replacements per losing post: specific phrases that differentiate them and end the cannibalisation.

“Can I run this site-wide?”

The bulk processor handles your whole catalog. Pause, resume, control batch size and confidence threshold. Or turn on autopilot and forget it.

“Will it work in my page builder?”

Classic editor. Block editor. Elementor, Beaver, Oxygen, Kadence, Thrive, Themify, Enfold, Pillar, WPRecipe. The metabox just shows up.

“Does it learn from my taste?”

Every accept and reject feeds a weekly preference-learning pass. The more you use it, the more the suggestions match your own editorial judgment.

“What if I do not want to pay for AI?”

Use the free engine instead. A literal-keyword matcher sits alongside the AI engine in every metabox. Pick whichever you want, per post.

“Will it slow my site down?”

No. Every heavy operation runs in the background on WP-Cron in capped batches. Nothing runs on a visitor request.

“Can I undo what it did?”

Yes. A rollback snapshot is written before any content edit, and every insertion is recorded in the audit log with post, anchor and destination.

The 360° AI agent

It reads every post the way a human editor would.

Before Linkilo suggests a single link, it processes every post in depth. That profile is what everything else is built on.

Step one

Every post gets analyzed once, in depth

The agent generates keywords in four tiers, classifies search intent and funnel stage, identifies entity type and content format, and computes embeddings at both post and sentence level.

That is what lets it tell the difference between a post that mentions humidors and a post that is about humidors. A string matcher cannot make that distinction, because at the level of characters the two look identical.

  • Real keywords in four tiers, not a bag of nouns
  • Intent and funnel-stage classification per post
  • Entity type and content format detection
  • Post-level and sentence-level embeddings stored together
  • Runs on WP-Cron in the background, never on a visitor request
Content understanding

Post: Best Humidors Under $200

Intent: commercial Funnel: consideration

Format: listicle Entity: product

Tier 1 keywords

humidor under 200 budget humidor

Tier 2

cheap cigar humidor entry level humidor

The score

Three signals. One score. Zero black boxes.

Every suggestion is the result of three weighted signals you can actually see: post embedding similarity (0.6), keyword embedding overlap (0.25), and topic-cluster connection (0.15), plus a hard verbatim check that the anchor exists in your post.

The composite appears on every suggestion as a score out of 100, color-coded green above 75 and amber above 50. Hover it and you get the breakdown: Total, Anchor, Post, Semantic and Context. If a suggestion looks odd you can see which component carried it, and raise the minimum confidence to filter that class of result out entirely.

  • Post embedding similarity (weight 0.6): cosine distance on text-embedding-3-small vectors, matching meaning rather than letters
  • Keyword embedding overlap (weight 0.25): compares cached keyword embeddings, so repeat runs are pure database math with no API cost
  • Topic-cluster signal (weight 0.15): rewards links inside the same cluster, and parent-child clusters at half weight
  • Set a minimum confidence in settings and never see the rest
How a score is built

Post embedding similarity · weight 0.6

Keyword embedding overlap · weight 0.25

Topic cluster signal · weight 0.15

Composite score 87 (green above 75)

The hard rule

The anchor always already exists in your post.

This is enforced in code, not left to the model. Linkilo will not rewrite your sentence, will not put words in your mouth, and will not insert an anchor that reads like a machine wrote it, because it did not write it. You did.

Anchors are ranked by precision: exact keyword first, then partial match, then a phrase from the title, then a single salient word. If none of them appear in your post, no suggestion is offered at all.

  • Anchor verified against your post before the suggestion appears
  • Your sentence is left exactly as written
  • Self-links, duplicates and already-linked destinations filtered out
  • Nothing is inserted until you click
In your editor

Your paragraph, untouched:

If you are just starting out, a cigar humidor for beginners will hold humidity well enough without the cost of a cabinet.

Anchor ranking

1 · exact keyword “cigar humidor for beginners”

2 · partial “cigar humidor”

3 · title phrase “beginners”

Keyword conflicts

Stop five posts fighting over the same search.

Keyword cannibalisation is the silent ranking-killer. Five posts all targeting “digital marketing” means none of them rank well: they split the link equity, confuse Google, and quietly underperform.

Detection

Caught even when the surface words differ

“best cigar accessories”, “top cigar accessories”, “essential cigar accessories”. Same search intent, invisible to string matching, caught by embeddings every time.

  • Semantic detection using cosine similarity at a 0.85 threshold, catching synonyms, variations and rewordings
  • The AI picks the winner on word count, in-title presence, Search Console clicks and impressions, intent alignment, content format and topic-cluster authority
  • Generic-keyword detection so a broad term is not mistaken for a conflict
  • Conflict scans cached for 24 hours, so re-running costs nothing
Conflict detected

4 posts competing · similarity 0.91

Best Cigar Accessorieswinner
2,400 words · in title · 812 GSC clicks
Top Cigar Accessoriesreassign
Essential Cigar Accessoriesreassign
The Keyword Specialist

When a post loses a keyword fight, give it a better one to win.

Removing a keyword from a losing post leaves a hole. The Keyword Specialist fills it with two to three specific, long-tail replacements that actually fit what that post is about.

It reads each losing post in context, considers what makes it unique versus the winning post, and suggests targeted alternatives that end the cannibalisation while opening up new long-tail rankings.

  • Per-post differentiation: one AI call considers all colliding posts together, so the suggestions distinguish them from each other
  • Reasoning attached to every suggestion, so you see why this long-tail fits this post
  • Apply individually or in bulk, after reviewing
Replacement keywords

Top Cigar Accessories · loses “cigar accessories”

“cigar accessories for travel”
This post is the only one covering portability and TSA rules.
“cigar accessories under $50”
Price-led angle absent from the winning post.
At scale

Process your whole catalog. Then forget about it.

Running this on a 500-post site should not mean sitting and clicking 500 times. The bulk processor handles the entire site in one go, resumable if it times out, with cost tracking and per-batch progress.

Then turn on autopilot. Adaptive scheduling works out how often your site needs processing based on how often you publish. High-cadence blogs get twice-daily sweeps; quiet sites get weekly. You do not configure cron, the plugin does.

  • Resumable bulk runs: pick up where you left off after a timeout, with no duplicate work
  • Adaptive autopilot: twice-daily, daily or weekly, chosen from your publish rate and pending queue
  • Control batch size and confidence threshold, pause and resume at will
  • Per-post cost tracking so spend is never a surprise
Bulk run

418 of 500 posts processed

Resumable Batch 21 of 25

Spend so far $0.86 · autopilot: twice daily

Under the hood

The real engineering, not the buzzwords.

Other plugins say “AI-powered” on the marketing page and run a regular expression on the back end. Here is what actually happens when Linkilo computes a suggestion.

OpenAI embeddings
Every post and keyword becomes a 1,536-dimension vector via text-embedding-3-small, the same model that powers semantic search at scale.
Cosine similarity
Comparison is pure math against cached vectors, with no API call per suggestion. Sub-second even on large catalogs.
English-aware stemming
Length-scaled suffix tolerance handles -s, -es, -ed, -ing, -er, -est, -ation and -ifying, plus a y→i rule. Strict left-boundaries, so “humid” never matches “humility”.
Sentence-level embeddings
Stored alongside post-level vectors: the foundation for paragraph-precision linking, already in your database and ready to light up.
Smart caching
Content-hash skip on unchanged posts. 24-hour transients on conflict scans. 30-day caches on bot verification. You only pay for what is new.
Model choice
Pick any OpenAI model from the dropdown, and add a custom model ID if you want to use one before Linkilo lists it.
Inside the dashboard

The suggestion queue, exactly as it ships.

Every suggestion carries its source post, its target, the anchor lifted from your own writing, and a confidence score you can open up. Approve or reject; nothing moves until you say so.

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

AI Link Suggestions

Build a review queue of internal-link opportunities, apply the best ones, and let Autopilot keep looking when you are ready.

Autopilot Active Running daily
Frequency: Daily
Last run: 2 hours ago
Next run: Tomorrow, 04:00
12 new suggestions
Using your settings below
Next move: build a link queue Linkilo scans a capped batch, filters weak matches, and gives you source-target-anchor decisions to approve.
Scan safely Review winners Apply links
suggestions per page. Larger queues stay paged for speed.
Page 1 of 5
112
Total Suggestions
41
Shown High Confidence
25
Posts Analyzed
74%
Shown Avg Confidence
18
Shown ML Adjusted

AI Rules Impact

5/6 rules active — 19 filtered out
Manage All Rules
2 selected
Acceptance Rate: 68%
Applied This Month: 57
AI Learned From: 214 decisions
Quick Guide: Each suggestion shows a source post (where the link goes), a target post (where it points to), and the context with highlighted anchor text. Click "Apply Link" to insert it, or "Edit" to change the anchor text. If a suggestion shows a manual check, click Edit to manually select the right words.
94% confidence
Semantic match Same topic group Anchor verified Rules adjusted
Source Post (where link will be added):This is the post that will be edited to include a new internal link. The anchor text below will become a clickable link inside this post.
Target Post (link destination):This is the post that the link will point to. When readers click the anchor text in the source post, they will be taken to this target post.
Link will be placed in this context:This shows the sentence from the source post where the link will be inserted. The highlighted text is the anchor text that will become clickable. Click "Edit" to change which words are used as the anchor text.
Most beginners skip this, but you have to season a new humidor before a single cigar goes in, or the wood will pull moisture straight back out.
Why this link makes sense:

The sentence is about seasoning, the target post is the seasoning guide, and the anchor already exists in your copy.

Edit Source Post Prefer guide targets 112%
81% confidence
Semantic match Keyword fit Search demand Anchor verified
Source Post (where link will be added):This is the post that will be edited to include a new internal link. The anchor text below will become a clickable link inside this post.
Target Post (link destination):This is the post that the link will point to. When readers click the anchor text in the source post, they will be taken to this target post.
Link will be placed in this context:This shows the sentence from the source post where the link will be inserted. The highlighted text is the anchor text that will become clickable. Click "Edit" to change which words are used as the anchor text.
None of this matters if the box leaks, which is why we rank the best cigar humidors by seal quality before anything else.
Why this link makes sense:

Sentence-level match on humidor quality; the target is the roundup that owns this phrase.

Edit Source Post ML: 96%
58% confidence
Semantic match Anchor verified Rules adjusted Review first
Source Post (where link will be added):This is the post that will be edited to include a new internal link. The anchor text below will become a clickable link inside this post.
Target Post (link destination):This is the post that the link will point to. When readers click the anchor text in the source post, they will be taken to this target post.
Link will be placed in this context:This shows the sentence from the source post where the link will be inserted. The highlighted text is the anchor text that will become clickable. Click "Edit" to change which words are used as the anchor text.
On the road you are working blind unless you know your target humidity, so pack a calibrated hygrometer.
Why this link makes sense:

Related, but the anchor is generic and appears on 9 other pages, so the Anchor Report rule pulled the score down.

Edit Source Post Avoid overused anchors 85%

Recreated from templates/suggestions-page.php. Same columns, same labels, same scores as the plugin.

What it costs to run

You pay OpenAI directly. We do not mark up the API.

Typical figures for a first full pass. After that, caching means you only pay for what changed.

~$0.20
Per 100 posts processed, typical
~$0.001–0.005
Per-post analysis
3–6s
To re-extract a single post
$0
Conflict scan on 1,000 keywords, cached
Who this is for

Built for anyone tired of doing internal linking by hand

The problem is the same whatever you publish: content exists, and nothing points at it.

SEO professionals

You know exactly what should be done and have no hours to do it.

With Linkilo: the analysis is done; you spend your time on the decisions.

Content writers

Linking means leaving the draft to search your own site.

With Linkilo: the suggestions are in the editor, next to the paragraph.

Affiliate and review sites

Money pages need links from everywhere, consistently.

With Linkilo: every relevant post gets offered the link, including old ones.

Marketing agencies

Internal linking is billable work nobody wants to do at scale.

With Linkilo: run it across every client site and report the before and after.

Larger sites and blogs

Nobody remembers what is in 2,000 posts.

With Linkilo: the bulk processor reads all of them so you do not have to.

Solo bloggers

Four hundred posts and no memory of most of them.

With Linkilo: the archive links itself together while you write the next post.

How it compares

An AI engine, not a string matcher

The differences that change what ends up in your posts.

Linkilo compared with typical keyword-matching internal linking plugins
Capability Linkilo Typical linking plugin
Matching method Embeddings + keywords + clusters Keyword string match
Finds posts that mean the same thing Yes No
Reason shown for each suggestion Yes No
Confidence score you can filter on Yes No
Anchor guaranteed to exist in your post Yes Sometimes
Keyword cannibalisation detection Yes No
Suggests replacement keywords for losers Yes No
Learns from your accepts and rejects Yes No
Resumable bulk processing Yes Varies
Adaptive autopilot scheduling Yes No
Works with no AI key at all Yes Yes
Rollback before content edits Yes No

Want the detailed head-to-head? See the Link Whisper comparison, which includes the places Link Whisper is the better choice.

Getting started

From install to smart suggestions in minutes

No configuration files. No setup wizards.

  1. Install and activate

    One-click WordPress install. The metabox shows up in every post editor instantly.

  2. Add your OpenAI key

    One field in settings. You pay OpenAI directly; we do not mark up the API. Skip this entirely if you want to use the free engine.

  3. Run “Process Content”

    The agent walks your catalog, building a 360° profile of every post. The bulk processor handles the heavy lifting in the background.

  4. Open any post

    Suggestions appear in the metabox with confidence scores and verified anchor text. Click apply, ship the post.

Frequently asked questions

No. Linkilo can only link text that already exists in your post, and that is enforced in code rather than left to the model. It wraps an existing phrase in an anchor tag. Your sentences stay exactly as you wrote them.

Stop matching strings. Start linking with meaning.

Install Linkilo, run one pass over your catalog, and open a post. The links you have been meaning to add for two years are already listed, scored, and ready to approve.

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