BACK TO DIRECTORY

Web & SEO Autolinker – AI Internal Linking

by Web & SEO

0.0
(0 ratings)

Autolinker builds internal links between the posts you already have. It reads
each post, finds the most semantically related pages on your site, and asks a
language model to choose an anchor phrase that already exists, word for word, in
the source text. The link is then written into the post content and kept in a
registry so it can be tracked, repaired, or removed later.

There is no keyword list to maintain. Relevance comes from meaning, not from
matching strings.

How it works

  1. Embedding. Each post is converted to a vector with an OpenAI embeddings
    model, stored locally, and refreshed only when the content changes.
  2. Candidate search. Cosine similarity ranks every possible target above a
    configurable threshold.
  3. Filtering. A first model pass drops candidates that are topically close but
    editorially wrong.
  4. Anchor selection. A second model pass proposes an anchor phrase. The plugin
    verifies the phrase appears verbatim in the source; if it does not, the link is
    rejected rather than forced.
  5. Writing. The link is inserted with a marker attribute so the plugin can find
    its own links again without guessing.

Every rejection is written to a journal with a reason, so an empty result is never
indistinguishable from a broken plugin.

IMPORTANT: this plugin relies on a third-party service

Autolinker does not work without an OpenAI API key that you supply. The plugin
sends data to the OpenAI API (api.openai.com), a third-party service that is not
affiliated with this plugin or with WordPress.org.

What is sent: the text content of the posts you choose to process, the titles
and excerpts of candidate link targets, and the prompts the plugin builds around
them. Your API key is stored encrypted in your WordPress database and is sent to
OpenAI to authenticate each request.

When it is sent: only when a post is processed, either automatically on publish
(if you enable that) or when you trigger a scan. Your post content is never sent to
OpenAI at any other time.

What is not sent: no data is sent to the plugin author, and no post content
leaves your site other than to OpenAI, as described above.

One clarification about link health. The plugin also checks whether the links in
your content still resolve. That check runs on a schedule and makes ordinary HTTP
requests to the URLs already present in your posts, and to their robots.txt, which it
honors. It sends none of your content and involves no third-party service: it only
visits the addresses you already link to. Those requests identify themselves with a
user agent naming the plugin and your site URL, so the hosts you link to can see that
the request came from your site.

Using this plugin means your content is processed under OpenAI’s terms. Please read
them before installing:

  • OpenAI Terms of Use: https://openai.com/policies/terms-of-use
  • OpenAI Privacy Policy: https://openai.com/policies/privacy-policy
  • OpenAI API data usage policies: https://openai.com/policies/api-data-usage-policies

You pay OpenAI directly for the tokens the plugin consumes. See the FAQ for cost
control.

Features

  • Semantic candidate search with a configurable similarity threshold
  • Verbatim anchor validation, so anchors are never invented
  • A per-post link budget and anchor length bounds (default 2 to 6 words)
  • Silo mode, to keep links inside the same category
  • Per-post exclusions: exclude entirely, as a source only, or as a target only
  • Link health: periodic checking, broken link detection with a failure threshold,
    and an orphaned state when a link disappears from the content
  • Slug refresh: when a target’s permalink changes, the links pointing at it are
    rewritten
  • Elementor support, including posts stored in Elementor’s own data structure
  • A decision journal covering every link placed and every candidate rejected

Multilingual

Sites running WPML or Polylang are detected automatically and links are kept inside
a single language. A French post never links to its English translation.

Detection requires at least two configured languages. Translation layers that render
on the fly without duplicating posts (TranslatePress, Weglot, GTranslate) are treated
as monolingual, because only the original content exists in the database.

On a multilingual site the plugin switches to a larger embedding model for better
cross-language separation. Posts are re-embedded lazily, at their next scan, which
means a one-off token cost the first time each post is processed after you add a
second language.

Screenshots

Every link the plugin has placed, with its source, its target, the anchor it used and the similarity that justified it. One click revokes a link and removes it from the content.

Every link the plugin has placed, with its source, its target, the anchor it used and the similarity that justified it. One click revokes a link and removes it from the content.

The whole configuration on a single screen: similarity threshold, link budget per post, anchor length, which post types are sources and which are targets.

The whole configuration on a single screen: similarity threshold, link budget per post, anchor length, which post types are sources and which are targets.

Link health. Broken internal and external links, duplicate destinations, anchor cannibalisation, and registry entries whose target no longer exists.

Link health. Broken internal and external links, duplicate destinations, anchor cannibalisation, and registry entries whose target no longer exists.

The journal. Every candidate that was considered and dropped, with the reason next to it.

The journal. Every candidate that was considered and dropped, with the reason next to it.

One button scans the whole catalogue. Progress is shown as it goes.

One button scans the whole catalogue. Progress is shown as it goes.

The result in the published article: ordinary HTML links in the text, which survive in exports and feeds and do not depend on the plugin still running.

The result in the published article: ordinary HTML links in the text, which survive in exports and feeds and do not depend on the plugin still running.

Plugin Details

Active Installs
0
Total Downloads
150
Version
0.3.0
Requires WP
6.2
Requires PHP
7.4
Tested Up To
7.1
Added
2026-09-02
Last Updated
2026-09-04 9:27am GMT

Ratings

5
0
4
0
3
0
2
0
1
0