Title: Ferric Links &#8211; Non-Destructive Internal Linking
Author: Ferric Labs
Published: <strong>August 9, 2026</strong>
Last modified: August 9, 2026

---

Search plugins

![](https://ps.w.org/ferric-links/assets/banner-772x250.png?rev=3639315)

![](https://ps.w.org/ferric-links/assets/icon-256x256.png?rev=3639315)

# Ferric Links – Non-Destructive Internal Linking

 By [Ferric Labs](https://profiles.wordpress.org/ferriclabs/)

[Download](https://downloads.wordpress.org/plugin/ferric-links.1.29.2.zip)

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

 [Support](https://wordpress.org/support/plugin/ferric-links/)

## Description

Ferric Links is an internal linking plugin for WordPress that adds links **at render
time**, when a page is served. It never writes links into your stored post content:
each link comes from a rule (a keyword mapped to a target page) that you can edit
or turn off at any time, and your posts stay exactly as you wrote them.

Because links are resolved when the page renders, they follow their target. A rule
points at a page, not at a frozen URL: if you later change the target’s slug, the
link uses the new permalink automatically, and if the target is unpublished or deleted,
the link is simply not rendered instead of returning a 404. Deactivating or deleting
the plugin removes all rendered links and leaves no markup behind, because nothing
was ever written into your content.

#### How to use it

 1. Open **Ferric Links** in the admin menu and add a rule: a keyword or phrase, and
    the page it should link to. The keyword is linked wherever it appears (within the
    per-page limits you set).
 2. Press **Scan my site & set up** on the Dashboard. One scan builds the internal-
    links report, the orphan list, and the whole-site suggestion list.
 3. Review the **Suggestions** tab: it lists phrases on your pages that match another
    page’s title or topic wording, each addable as a rule with one click – individually,
    selected in bulk, or all at once.
 4. Use the **Orphans** tab to find pages with no inbound internal links, and the one-
    click fixer to create an inbound link from a page that already mentions them.
 5. In the editor, the **Link Opportunities** panel shows outbound and inbound link
    suggestions for the post you are writing.

Settings let you cap the number of auto-links per page, skip headings, the first
paragraph, and theme title bars, choose which post types are linked, open links 
in a new tab, and link content stored in custom fields (Advanced Custom Fields, 
Meta Box, Pods, Toolset, JetEngine).

#### Free features

 * **Render-time auto-linking** – keyword-to-page rules applied when a page is served;
   stored content is never modified. Unlimited rules.
 * **Self-healing links** – links resolve to the target’s current permalink, so 
   slug changes do not break them; unpublished targets are skipped.
 * **Category & tag targets** – rules can point at category and tag archives, not
   just posts and pages.
 * **Whole-site link suggestions with bulk add** – one scan lists missing internal
   links across your content; add them one at a time or all at once.
 * **Editor suggestions** – outbound and inbound link opportunities for the post
   being edited, in a meta box and an editor panel.
 * **Orphan finder** – pages with no inbound internal links, with a one-click inbound-
   link fixer.
 * **Internal links report** – inbound and outbound counts for every page, saved
   between visits.
 * **Broken internal link checker** – checks your internal links and lists any that
   return an error.
 * **Posts & Pages columns** – inbound/outbound link counts in the admin list tables.
 * Performance: rules are cached, a plain-text keyword check runs before any HTML
   processing, and reports are built in the admin, never on visitor requests.

#### Pro features

 * **Related pages in the editor** – suggestions matched by topic similarity, so
   related pages are found even without an exact phrase match.
 * **Topical clusters** – pages grouped by topic, with per-cluster interlinking 
   stats and suggested links between cluster members.
 * **Keyword Map** – each page’s focus keyword (read from Yoast, Rank Math, All 
   in One SEO, or SEOPress) with duplicate-keyword (cannibalization) detection and
   CSV export.
 * **Click tracking** – records clicks on internal links via a small front-end beacon
   and reports the most-clicked destinations and sources.
 * **External link management** – per-link rel attributes (nofollow / sponsored /
   ugc), an optional auto-disable date, external-links-by-domain and broken-external-
   link reports.
 * **Commit to Content** – optionally write the current auto-links into your posts,
   with a per-post backup and one-click revert.
 * **CSV import / export** of rules, an ignore list, and per-page target keywords.
 * **Multilingual (WPML & Polylang)** – links point to the current language’s translation
   of the target, with per-language keyword variants.
 * **Optional AI matching** – bring your own OpenAI, Google, or Voyage API key for
   embedding-based related-page matching, and your own Anthropic key for anchor-
   text suggestions and keyword translation. All AI features are optional and billed
   to your own account; the default engine runs locally without them.

### External services

Ferric Links works entirely on your own server by default and makes no external 
requests. Two optional features contact third-party services, and only when you 
explicitly enable them and provide your own API key:

**AI semantic matching (optional, Pro).** If you enable “Use my own AI provider”
in Settings, Ferric Links sends the text of your posts and pages to the embeddings
provider you choose – OpenAI, Google, or Voyage AI – to generate meaning-based link
suggestions. Requests are sent only when you run a suggestion scan, using your own
API key, billed to your own account.

**AI anchor text and keyword translation (optional, Pro).** If you enable “Use my
Claude key” in Settings, Ferric Links sends a target page’s title and a short excerpt
to Anthropic (Claude) to suggest anchor text, and sends individual keyword phrases
to Anthropic to translate them. Requests are sent only when you click “Suggest anchors”
or “Translate keywords”, using your own API key, billed to your own account.

Neither feature is enabled by default, and Ferric Links runs no cloud service of
its own in between – your data goes directly from your site to the provider you 
chose. See each provider’s terms and privacy policy:

 * OpenAI – https://openai.com/policies/terms-of-use and https://openai.com/policies/
   privacy-policy
 * Google (Gemini API) – https://ai.google.dev/terms and https://policies.google.
   com/privacy
 * Voyage AI – https://www.voyageai.com/tos and https://www.voyageai.com/privacy
 * Anthropic (Claude) – https://www.anthropic.com/legal/commercial-terms and https://
   www.anthropic.com/legal/privacy

**Licensing, updates and optional telemetry (Freemius).** Ferric Links uses the 
Freemius SDK for secure update delivery and (in the paid version) licensing. On 
first activation you are shown an explicit opt-in screen; only if you choose to 
opt in, basic diagnostics (site URL, WordPress and PHP versions, and your email 
for update notices) are sent to Freemius (freemius.com). Skipping the opt-in keeps
the plugin fully functional. See https://freemius.com/terms/ and https://freemius.
com/privacy/

The optional broken-external-link checker sends a request to each outbound URL already
present in your own content, to check whether it still responds. This contacts the
sites you link to, not any Ferric Links service.

## Screenshots

[⌊Dashboard - internal-link health at a glance, with the orphan finder.⌉⌊Dashboard-
internal-link health at a glance, with the orphan finder.⌉[

Dashboard – internal-link health at a glance, with the orphan finder.

[⌊Auto-Link Rules - add a keyword and the page it should link to.⌉⌊Auto-Link Rules-
add a keyword and the page it should link to.⌉[

Auto-Link Rules – add a keyword and the page it should link to.

[⌊The editor panel suggests links for the page you are writing (semantic related
pages shown is part of Pro).⌉⌊The editor panel suggests links for the page you are
writing (semantic related pages shown is part of Pro).⌉[

The editor panel suggests links for the page you are writing (semantic related pages
shown is part of Pro).

[⌊Topical clusters with one-click silo linking (Pro).⌉⌊Topical clusters with one-
click silo linking (Pro).⌉[

Topical clusters with one-click silo linking (Pro).

[⌊Settings - keep it local and free, or bring your own AI key.⌉⌊Settings - keep 
it local and free, or bring your own AI key.⌉[

Settings – keep it local and free, or bring your own AI key.

## Installation

 1. Upload the `ferric-links` folder to `/wp-content/plugins/`, or install through 
    the WordPress Plugins screen.
 2. Activate Ferric Links.
 3. Open **Ferric Links** in the admin menu, add a rule (a keyword and the page it 
    should link to), and you are done – links appear on the front end immediately.

## FAQ

### Does Ferric Links change my post content?

No. It never writes to your posts. Links are added when a page is rendered, so your
stored content is always exactly what you wrote. (The Pro “Commit to Content” feature
is the one deliberate exception: it writes links into content only when you explicitly
run it, with a per-post backup and one-click revert.)

### What happens to my links if I deactivate or delete the plugin?

The rendered links are no longer added, and because your content was never modified
there is no leftover markup. Deleting the plugin also removes its own database tables
and settings.

### Will it slow down my site?

The visitor-facing path is intentionally lightweight: rules are cached, a plain-
text keyword check runs before any HTML is processed, and all reporting work happens
in the admin, never on visitor requests.

### Does it work with page builders like Avada and Elementor?

Yes. Links are added to the rendered HTML output, so builder-stored content is not
rewritten.

### Do I need to pay for AI?

No. The suggestion engine runs entirely on your own server at no cost. AI matching
is an optional Pro extra where you bring your own provider key, billed to your own
account.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Ferric Links – Non-Destructive Internal Linking” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ Ferric Labs ](https://profiles.wordpress.org/ferriclabs/)

“Ferric Links – Non-Destructive Internal Linking” has been translated into 1 locale.
Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/ferric-links/contributors)
for their contributions.

[Translate “Ferric Links – Non-Destructive Internal Linking” into your language.](https://translate.wordpress.org/projects/wp-plugins/ferric-links)

### Interested in development?

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

## Changelog

#### 1.29.2

 * Standardized all PHP identifiers on the unique linkforge prefix.

#### 1.29.1

 * Category and tag archive targets are now part of the free version.
 * The per-type link matrix control no longer ships in the free version.

#### 1.29.0

 * Plugin renamed to Ferric Links.
 * Whole-site link suggestions and one-click bulk add are now part of the free version.
 * Admin scripts are now enqueued via the WordPress APIs.

#### 1.28.0

 * Free version no longer contains any Pro code (it now ships only what it does)
   and the free rule limit is removed – unlimited auto-link rules for everyone.

#### 1.27.0

 * Hardening release ahead of launch: a full security, performance and correctness
   audit, with every finding fixed.
 * Committed content and its backup now survive backslashes intact (proper slashing
   on save and revert).
 * Pages where the plugin changes nothing are served byte-for-byte untouched (no
   more HTML re-serialization on unmodified pages).
 * Content containing a stray closing tag can no longer be truncated by the linker–
   it is served unmodified instead.
 * Adding, editing or toggling a rule now purges your page cache so the change is
   visible immediately.
 * Non-Latin (Cyrillic, Greek, accented) keywords now match reliably regardless 
   of letter case.
 * After one keyword is linked in a paragraph, later keywords in the same paragraph
   still get their chance.
 * Click data is pruned automatically after 180 days (filterable) and the public
   click endpoint is rate-limited.
 * Faster admin screens: cached-only list-table columns, fewer queries per scan,
   an index on click sources.
 * CSV exports harden every cell against spreadsheet formula injection.

#### 1.26.0

 * Keyword Map with cannibalization report and CSV export (reads focus keywords 
   from Yoast, Rank Math, All in One SEO and SEOPress).
 * Commit to Content: optionally bake auto-links into your posts, with a backup 
   and one-click revert, so links survive uninstall.
 * Per-link rel (nofollow / sponsored / ugc) and hidden auto-expiry for external
   links, with an exact cache purge on expiry.
 * Optional bring-your-own-key Claude (Anthropic) for anchor-text suggestions and
   per-language keyword translation.
 * Richer dashboard with a one-click full-site scan and setup, plus a guided tour.
 * Saved reports (no re-scan on every visit) and per-report timestamps.

#### 1.11.2

 * Self-healing links: links resolve to a target’s live URL, so slug changes never
   break them and deleted targets drop cleanly.
 * Multilingual (WPML/Polylang) language-aware target resolution.
 * Topical clusters with per-cluster “build the missing links” suggestions.
 * Optional bring-your-own-key AI semantic matching (OpenAI/Google/Voyage).
 * Click tracking, external-links-by-domain report, CSV import/export, ignore list.
 * Clean uninstall that removes all plugin data.

#### 1.0.0

 * Initial release: non-destructive render-time auto-linking, orphan finder, internal-
   links and broken-link reports, list-table columns.

## Meta

 *  Version **1.29.2**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0.3**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [Czech](https://cs.wordpress.org/plugins/ferric-links/) and [English (US)](https://wordpress.org/plugins/ferric-links/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/ferric-links)
 * Tags
 * [broken links](https://wol.wordpress.org/plugins/tags/broken-links/)[internal linking](https://wol.wordpress.org/plugins/tags/internal-linking/)
   [internal links](https://wol.wordpress.org/plugins/tags/internal-links/)[orphaned content](https://wol.wordpress.org/plugins/tags/orphaned-content/)
   [seo](https://wol.wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://wol.wordpress.org/plugins/ferric-links/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

 *   [ Ferric Labs ](https://profiles.wordpress.org/ferriclabs/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/ferric-links/)