Title: JNK Linkweave
Author: Suresh K Meena
Published: <strong>July 24, 2026</strong>
Last modified: July 24, 2026

---

Search plugins

![](https://ps.w.org/jnk-linkweave/assets/banner-772x250.png?rev=3621778)

![](https://ps.w.org/jnk-linkweave/assets/icon.svg?rev=3621778)

# JNK Linkweave

 By [Suresh K Meena](https://profiles.wordpress.org/suresh1986/)

[Download](https://downloads.wordpress.org/plugin/jnk-linkweave.1.2.5.zip)

 * [Details](https://wordpress.org/plugins/jnk-linkweave/#description)
 * [Reviews](https://wordpress.org/plugins/jnk-linkweave/#reviews)
 *  [Installation](https://wordpress.org/plugins/jnk-linkweave/#installation)
 * [Development](https://wordpress.org/plugins/jnk-linkweave/#developers)

 [Support](https://wordpress.org/support/plugin/jnk-linkweave/)

## Description

**Adding internal links by hand is slow — and the tools that automate it charge 
you by the suggestion.**

Most AI internal-linking plugins meter their suggestions with credits and renew 
every year, so the more you link the more you pay, and your post content is sent
off to someone else’s server to be scored. For a blog with hundreds of posts, “just
add internal links” turns into a recurring bill.

JNK Linkweave does the whole thing on your own server. It reads your existing posts
and pages and suggests contextually relevant internal links right inside the editor,
ranks them with TF-IDF and BM25 in PHP, and applies keyword auto-linking rules at
render time — with **no external service, no per-suggestion fees, and no post content
ever leaving your site**. Index as many posts and create as many rules as you like;
nothing is metered.

It’s built for the people who actually maintain content at scale: bloggers, SEO 
and content teams, agencies, and membership or course sites that want serious internal
linking without a per-credit meter.

#### What you get in the free version

 * **Editor sidebar** with ranked internal-link suggestions for the current post(
   Gutenberg + Classic Editor / TinyMCE).
 * **Server-side TF-IDF + BM25 ranking** — all scoring runs in PHP. No external 
   API calls, no per-request fees, no content sent off-site.
 * **“Posts that should link here”** — inbound-link opportunities surfaced right
   in the editor.
 * **Unlimited keyword auto-linking rules** — `keyword → URL` rules with per-post
   and per-site caps, case sensitivity, `target="_blank"`, and `rel="nofollow"`.
   No cap on how many rules you create or activate.
 * **Orphan-page report** — find published posts with zero inbound internal links.
 * **Broken internal-link scan** — a daily check across your link graph flags internal
   links that 404.
 * **Inbound link counts** — see which posts hold the most internal link equity.
 * **Post-type control** — choose which post types are indexed and eligible as link
   targets.
 * **Background indexing** via Action Scheduler — rebuilds never run inline on `
   save_post`.
 * **Tag-aware rewriting** — rules skip content inside `<a>`, `<code>`, `<pre>`,
   headings, and shortcodes, so existing markup is never mangled.

#### Get Pro

Pro is a flat license — **from $59/year** (or a one-time lifetime option), with 
no per-suggestion metering ever. Cancel any time and the free tier keeps working
forever. See [pricing](https://jnkplugins.com/jnk-linkweave/pricing.php). Pro adds:

 * **AI re-ranking (BYOK)** — sharpen suggestion order with your own OpenAI or Anthropic
   key.
 * **Google Search Console targeting** — import your GSC Queries export to steer
   links toward pages that already earn search clicks.
 * **Yoast / Rank Math focus-keyword boost** — rank suggestions using the SEO focus
   keyphrases you already set.
 * **One-click auto-link map** — build an internal-link map from your topical clusters
   in a single click.
 * **Inbound-link bulk-apply** — add contextual links to the current post into several
   related posts at once.
 * **Cross-site / portfolio linking (Agency)** — suggest links between the sites
   on your license.
 * **Bulk review & approve** — insert several editor suggestions at once.
 * **One-click broken-link repair** — unlink or repoint dead internal links, one
   at a time or all at once.
 * **Bulk URL changer** with per-batch rollback, and **orphan-report CSV export**,
   and **internal-link click analytics** (first-party, on your own server).

Bundle JNK Linkweave with Trinity Forms or EntryVault for ~20% off, or take all 
three for ~25% off — one checkout, one renewal, a license key per plugin.

#### Why JNK Linkweave instead of credit-metered tools like Link Whisper?

 * **No per-suggestion meter.** Tools like Link Whisper meter AI suggestions with
   credits; when the credits run out you buy more. JNK Linkweave’s suggestions are
   unlimited because they’re computed on your own server.
 * **Your content stays put.** Credit-metered tools send your post content to their
   servers for scoring. Linkweave ranks everything locally in PHP — no content ever
   leaves your site.
 * **Flat pricing, with a lifetime option.** Instead of a yearly credit plan, Pro
   is a flat license from $59/year, and every tier has a one-time lifetime option(
   about four years of the annual price). The free tier stays free.
 * **The free tier is a real product**, not a locked demo — unlimited rules, orphan/
   inbound/broken reports, and editor suggestions with no submission caps.

#### Privacy

In JNK Linkweave’s free build, relevance scoring runs entirely in PHP on your server—**
no post content ever leaves your site**. There is no phone-home and no telemetry.

### External services

This plugin does not send your content or data to any third-party service.

The only outbound HTTP requests it makes are **to your own site**: the daily broken-
link scanner issues a lightweight `HEAD` request to each internal link target (a
URL on your own domain) to check whether it still resolves. These are self-requests
to your site, filtered to your own home URL — no external endpoint is contacted,
and nothing is transmitted off your server.

### Development

JNK Linkweave is fully open source (GPLv2-or-later) and ships entirely uncompiled

alongside its build output, so no external download is needed to read or rebuild
it.

 * All PHP is human-readable and shipped as-is (there is no PHP build step).
 * The block-editor sidebar’s React SOURCE is included in this plugin under
    editor/
   src/ (`Sidebar.jsx` and friends). The compiled files under `editor/build/` (`
   index.js` and its CSS) are generated directly from that source — nothing under
   editor/build/ is authored by hand.
 * The build uses @wordpress/scripts (https://www.npmjs.com/package/@wordpress/scripts),
   
   with the source and output directories set explicitly in package.json:
 * npm install
    npm run build (runs: wp-scripts build –webpack-src-dir=editor/src–
   output-path=editor/build)

Running that regenerates the build output from the source. No other build step is
required.

## Screenshots

[⌊The JNK Linkweave dashboard — index status, rebuild button, and quick links to
every plugin section.⌉⌊The JNK Linkweave dashboard — index status, rebuild button,
and quick links to every plugin section.⌉[

The JNK Linkweave dashboard — index status, rebuild button, and quick links to every
plugin section.

[⌊Auto-linking rules — define keyword → URL replacements with per-post and per-site
caps, case sensitivity, and target="_blank" / rel="nofollow" flags.⌉⌊Auto-linking
rules — define keyword → URL replacements with per-post and per-site caps, case 
sensitivity, and target="_blank" / rel="nofollow" flags.⌉[

Auto-linking rules — define keyword  URL replacements with per-post and per-site
caps, case sensitivity, and `target="_blank"` / `rel="nofollow"` flags.

[⌊The orphan-page report — published posts with zero inbound internal links.⌉⌊The
orphan-page report — published posts with zero inbound internal links.⌉[

The orphan-page report — published posts with zero inbound internal links.

[⌊The editor sidebar — ranked link suggestions for the current post with relevance
scores and one-click insertion.⌉⌊The editor sidebar — ranked link suggestions for
the current post with relevance scores and one-click insertion.⌉[

The editor sidebar — ranked link suggestions for the current post with relevance
scores and one-click insertion.

## Installation

 1. Upload the plugin to `/wp-content/plugins/jnk-linkweave/` or install via the WordPress.
    org plugin directory.
 2. Activate “JNK Linkweave” through the **Plugins** menu.
 3. Go to **JNK Linkweave  Dashboard** and click **Rebuild index** to build the first
    TF-IDF index of your existing content.
 4. Open any post in the editor — the JNK Linkweave sidebar appears with suggestions
    once indexing finishes.

For the Classic Editor, the JNK Linkweave button appears in the second TinyMCE toolbar
row.

## FAQ

### Is JNK Linkweave a free alternative to Link Whisper?

Yes — it’s a self-hosted internal-linking plugin whose free tier covers the everyday
job (editor suggestions, unlimited auto-linking rules, orphan/inbound/broken-link
reports) with no per-suggestion credits and no content sent off-site. Where credit-
metered tools like Link Whisper charge for AI suggestions by the credit and renew
yearly, Linkweave ranks links on your own server and only asks for a flat Pro license
if you want the advanced features (AI re-ranking, GSC targeting, bulk tools).

### Do you have other plugins that work with this?

Yes. JNK Linkweave is part of a small suite: **Trinity Forms** (a free WordPress
form builder) and **EntryVault** (form-entry CRM/Kanban). You can bundle any two
for ~20% off, or all three for ~25% off — one checkout, one renewal, a separate 
license key per plugin.

### Does this send my content to an AI service?

No. JNK Linkweave computes link relevance entirely on your server using TF-IDF and
cosine similarity. Nothing is sent to any external service.

### How long does indexing take?

Roughly a minute and a half for about 1,000 posts on typical shared hosting in our
testing. Indexing runs in the background via Action Scheduler, so you can keep using
the site while it works.

### Will it slow down my site?

The auto-linking rule pass adds only a few tens of milliseconds to the `the_content`
filter on a typical post in our testing. Suggestions are computed lazily and cached
as transients keyed on post ID + modified time (6-hour TTL).

### How many auto-linking rules can I create?

As many as you like. JNK Linkweave does not cap the number of rules you create or
activate.

### What happens to existing manual links?

JNK Linkweave never touches existing `<a>` tags. Auto-linking rules skip any content
already inside an anchor, code block, heading, or shortcode.

### Can I exclude certain post types?

Yes — under **JNK Linkweave  Settings**, choose which post types are indexed and
which are eligible suggestion targets.

### Does it work with page builders?

It works with the Block Editor (Gutenberg) and Classic Editor out of the box. Elementor
and Beaver Builder content is supported because rules apply on the rendered `the_content`
output, not the editor source.

### What happens to my data if I uninstall or my Pro license expires?

Your data is kept by default. Deactivating or deleting the plugin leaves your index,
auto-linking rules, and reports in place — nothing is wiped unless you first enable**
Delete data on uninstall** under **JNK Linkweave  Settings**, in which case the 
tables and options are removed when you delete the plugin. A lapsed Pro license 
simply disables the premium features (bulk URL changer, broken-link repair, CSV 
export, and AI re-ranking) and the plugin keeps working like the free tier; it never
deletes your data. Renewing your license restores access to the premium features.

### How do I extend it?

Filters include `jnk_linkweave_is_pro`, `jnk_linkweave_max_active_rules`, `jnk_linkweave_rerank`,`
jnk_linkweave_suggestion_post_types`, `jnk_linkweave_suggestion_score`, and `jnk_linkweave_allowed_post_types`.
Actions include `jnk_linkweave_rule_applied`, `jnk_linkweave_suggestion_inserted`,
and `jnk_linkweave_broken_link_found`.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“JNK Linkweave” is open source software. The following people have contributed to
this plugin.

Contributors

 *   [ Suresh K Meena ](https://profiles.wordpress.org/suresh1986/)

[Translate “JNK Linkweave” into your language.](https://translate.wordpress.org/projects/wp-plugins/jnk-linkweave)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/jnk-linkweave/), check
out the [SVN repository](https://plugins.svn.wordpress.org/jnk-linkweave/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/jnk-linkweave/) 
by [RSS](https://plugins.trac.wordpress.org/log/jnk-linkweave/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.2.5

 * Renamed the plugin to JNK Linkweave (formerly “Automatic Linker”) for a more 
   distinctive name.
 * Security: reading auto-link rules, index status, and the site-wide analysis reports(
   orphan pages, inbound counts, broken links) now requires the `manage_options`
   capability, to match the write side — this data is site-wide and admin-level.
   The admin menu items now match that capability, so no screen loads with content
   it cannot fetch.
 * Added: an **Inbound Counts** screen (JNK Linkweave  Inbound Counts) listing how
   many internal links point at each published post.
 * Added: a **Post types** setting to choose which post types are indexed and eligible
   as link targets (previously fixed to Posts and Pages).
 * Improved: “Rebuild index” now also refreshes the internal-link graph, so the 
   Orphans and Inbound Counts reports are accurate immediately instead of after 
   the next daily scan.
 * Improved: the suggestions-per-post and minimum-relevance settings are now honored
   as defaults for the editor suggestions.
 * Improved: the tokenizer collapses more inflections to a common root (e.g. “running”
   and “runs”) and treats “will” as a stopword, for slightly better link-suggestion
   matching.
 * Updated the bundled Action Scheduler library to 4.0.0. Minimum WordPress is now
   6.8.

#### 1.2.4

 * Added: quick links on the Plugins screen — a Settings action link, and Docs /
   Support links in the plugin row.
 * Housekeeping: author/branding updated to JNK Plugins. No change to features.

#### 1.2.3

 * Security: creating or editing auto-linking rules now requires the `manage_options`
   capability (administrators). Because rules apply site-wide at render time, they
   should not be editable by lower roles.
 * Added: an “External services” section to this readme documenting that the only
   outbound requests are self-checks to your own site.
 * Fixed: a database query in the BM25 ranker now uses a prepared identifier placeholder.
 * Housekeeping: internal build tidy-up; no change to free-tier features.

#### 1.2.2

 * Improved: “Posts that should link here” (inbound-link opportunities) now uses
   the same ranking as the editor suggestions, so it stays consistent instead of
   sometimes appearing empty.
 * Changed: the “Min post length” setting is now “Min indexed words” with a clearer
   description, and its default is lowered to 40 so typical posts index without 
   adjusting settings.

#### 1.2.1

 * Maintenance and compatibility. The free tier is unchanged.

#### 1.2.0

 * Added: **BM25 ranking** — link suggestions now rank with BM25 (saturates repeated
   terms and normalizes for post length) for sharper results. Switch back to classic
   TF-IDF cosine any time under Settings  Suggestion ranking. No reindex needed.
 * Added: **Inbound-link opportunities** — the editor sidebar now shows “Posts that
   should link here”: related posts that don’t yet link to the one you’re editing.

#### 1.0.7

 * Fixed: the “Upgrade to Pro” and “Feedback/Docs” admin screens linked to a retired
   domain and would 404. Both now point at the current site.
 * Changed: leaner free package — it now contains only free-tier code.
 * Changed: finished renaming internal identifiers from the plugin’s earlier name.

#### 1.0.5

 * Maintenance: internal naming and metadata consistency; no functional changes.

#### 1.0.4

 * Changed: minimum supported PHP is now 8.2 (8.1 reached end-of-life).
 * Added: edit existing auto-link rules in place (previously you could only add 
   or delete them).

#### 1.0.0

 * Initial release.
 * TF-IDF suggestion engine with cosine similarity and orphan-boost / already-linked
   penalty.
 * Unlimited auto-linking rules with per-post / per-site caps and tag/shortcode 
   protection.
 * Orphan-page report, inbound-link counts, and a daily broken-link scanner.
 * Gutenberg sidebar and Classic Editor (TinyMCE) integration.
 * REST API namespace `jnk-linkweave/v1` with nonce + capability + rate-limit checks.

## Meta

 *  Version **1.2.5**
 *  Last updated **10 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.8 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 8.2 or higher **
 * Tags
 * [Broken Link Checker](https://wordpress.org/plugins/tags/broken-link-checker/)
   [internal linking](https://wordpress.org/plugins/tags/internal-linking/)[link suggestions](https://wordpress.org/plugins/tags/link-suggestions/)
   [orphan pages](https://wordpress.org/plugins/tags/orphan-pages/)[seo](https://wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://wordpress.org/plugins/jnk-linkweave/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/jnk-linkweave/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/jnk-linkweave/reviews/)

## Contributors

 *   [ Suresh K Meena ](https://profiles.wordpress.org/suresh1986/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/jnk-linkweave/)