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.
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.
Keyword: cigar humidor
If you are just starting out, a cigar humidor for beginners will hold humidity well enough without the cost of a cabinet. | Edit (92)
Most people skip this, but you should season a new humidor before you put a single cigar in it. | Edit (71)
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
- Read the post and list every page it could send a reader to, and every page that ought to send a reader to it.
- Search the archive for each candidate, because you will not remember most of what you wrote.
- Check the post to make sure the link is not already in it.
- Pick the anchor text, then search the rest of the site to make sure that phrase is not already pointing somewhere else.
- Find a sentence that carries the link without being rewritten.
- Write down what you added, so you can tell later whether anybody clicked it.
- 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.
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
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.
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.
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
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
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-smallvectors, 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
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 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
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”
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.
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
4 posts competing · similarity 0.91
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
Top Cigar Accessories · loses “cigar accessories”
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
418 of 500 posts processed
Resumable Batch 21 of 25
Spend so far $0.86 · autopilot: twice daily
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.
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.
AI Link Suggestions
Build a review queue of internal-link opportunities, apply the best ones, and let Autopilot keep looking when you are ready.
AI Rules Impact
5/6 rules active — 19 filtered outThe sentence is about seasoning, the target post is the seasoning guide, and the anchor already exists in your copy.
Sentence-level match on humidor quality; the target is the roundup that owns this phrase.
Related, but the anchor is generic and appears on 9 other pages, so the Anchor Report rule pulled the score down.
No Link Suggestions Ready
There is no queue to review yet. Start a capped scan now, then approve only the links worth adding.
Best next move: start with 3-5 posts, review the queue, then turn on Autopilot once the suggestions look right.
Recreated from templates/suggestions-page.php. Same columns, same labels, same scores as the plugin.
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.
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.
An AI engine, not a string matcher
The differences that change what ends up in your posts.
| 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.
From install to smart suggestions in minutes
No configuration files. No setup wizards.
Install and activate
One-click WordPress install. The metabox shows up in every post editor instantly.
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.
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.
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.
No. The free literal-match engine finds links from keywords, titles and phrases with no key and no cost, and it sits in the same metabox so you can switch per post. The AI engine adds semantic understanding when you supply a key.
Around $0.20 per 100 posts for a first full pass, billed to you by OpenAI rather than marked up by us. After that, content-hash caching means you only pay for posts that changed. A monthly usage meter with per-model breakdowns and spend guards is built in.
Embeddings use text-embedding-3-small. The chat model is selectable from a dropdown, and there is a custom model ID field so you can use a newer model before Linkilo adds it to the list.
Classic editor, block editor, Elementor, Beaver Builder, Oxygen, Kadence, Thrive, Themify, Enfold, Pillar and WPRecipe are all supported. The metabox appears in each of them.
Yes. Every accept and reject feeds a weekly preference-learning pass, so suggestions drift toward your editorial judgment rather than staying generic.
No. AI processing, indexing and bulk scans all run in the background through WP-Cron in capped batches, never on a visitor request. Visitors are served ordinary WordPress pages.
Yes. A rollback snapshot is taken before Linkilo edits post content, and every change is written to an audit log with the post, the anchor and the destination.
Link Whisper matches keywords. Linkilo builds a profile of each post first, scores suggestions on semantic similarity, cluster membership and anchor fit, then shows you the reason. The full side-by-side, including where Link Whisper wins, is on the comparison page.
They stay. Linkilo writes real anchor tags into your post content, not shortcodes or injected markup, so nothing disappears or breaks when a license lapses.
Topic Clusters
Group your content into pillars and clusters automatically, then link them the way Google expects.
Auto Linking Rules
Set a keyword once and Linkilo links it everywhere, across every post you have already published.
Orphan Pages Tool & Reporting
Find the pages nothing links to, the ones Google struggles to find, and get them connected.
Link Equity Calculator (free)
See how much ranking power each internal link passes, and how extra links dilute it.
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.