Linux 软件免费装
Banner图

Web & SEO Autolinker - AI Internal Linking

开发者 webandseofr
更新时间 2026年10月23日 11:37
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

links seo ai internal linking openai

下载

0.2.0 0.1.1 0.2.1 0.3.0 0.3.1 0.4.0 0.1.2 0.1.3 0.3.2 0.3.3 0.4.1 0.4.2

详情介绍:

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 (capitalisation aside). 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 in the source exactly, capitalisation aside; the linked text keeps the capitalisation of your post. If the phrase is not there, 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 text of your link targets (up to 8,000 characters each, to compute the embeddings that match them), 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: in these four cases, and no others: The last two cases run in the background through WP-Cron, even with "Full auto on publish" switched off. They only send content that has no embedding yet, or whose text or embedding model has changed since its embedding was computed. 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: You pay OpenAI directly for the tokens the plugin consumes. See the FAQ for cost control. Features 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 active languages, with WPML as with Polylang: a site with a single language is treated as monolingual. 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. When the site changes mode (a second language added, or removed), every post is queued once to be embedded again with the new model, which means a one-off token cost for the whole catalogue.

安装:

  1. Install and activate the plugin.
  2. Go to Autolinker > Settings and paste your OpenAI API key. You can create one at https://platform.openai.com/. Review the OpenAI terms linked in the description before you do.
  3. Set your similarity threshold and per-post link budget, or keep the defaults.
  4. Either enable automatic processing on publish, or run a scan by hand from the plugin screen.
Processing runs through WP-Cron. On a site with little traffic, consider a real system cron calling wp-cron.php so scans do not stall.

屏幕截图:

  • 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.
  • 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.
  • 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.

升级注意事项:

0.4.2 On a multisite network, Delete data on uninstall now cleans up every site where the box is ticked, not only the main site. No settings or data changes. 0.4.1 Anchors are no longer linked in the middle of a word, and the readme now lists every case in which content is sent to OpenAI. No settings or data changes. 0.3.3 WPML sites with a single language now use the standard embedding model, as Polylang sites already did; their posts are embedded again once. No settings or data changes. 0.3.2 Silo mode is now applied: Strict keeps links inside shared categories, Soft places same-category links first. No settings or data changes. 0.3.1 Anchors are now chosen by GPT-6 Sol, priced lower per token than GPT-5.6 Terra. No settings or data changes. 0.3.0 Pages you marked noindex are no longer used as link targets. Links already written to them are left alone. No settings or data changes. 0.2.1 Two fixes. The working language follows your site language instead of defaulting to French, and links written into Elementor or ACF pages now clear the page cache. No settings or data changes. 0.2.0 The admin interface moves from French to English. Sites running in French keep French: the translation ships with the plugin. No settings or data changes. 0.1.3 Cosmetic and documentation. The admin screens now carry the plugin's name, and the journal shows why a candidate was dropped. 0.1.2 Fixes content damage on page builders that store their layout as shortcodes, such as Divi. Recommended for those sites. 0.1.1 Performance only. No settings or data changes. 0.1.0 Initial release.

常见问题:

Do I need an OpenAI API key?

Yes. The plugin has no bundled key and no free tier of its own. You create a key on your own OpenAI account and pay OpenAI for what you use.

How much does it cost to run?

It depends on how many posts you process and how long they are. Two levers reduce it: the per-post link budget caps how many placements are attempted, and embeddings are cached, so a post that has not changed is never re-embedded.

Does it modify my post content?

Yes. Links are written into the post content, with a marker attribute so the plugin can identify its own links later. This is deliberate: the links are real HTML, they survive in exports, in feeds, and for search engines, and they do not depend on a filter running at display time.

What happens if I deactivate the plugin?

The links stay in your content, because they are ordinary HTML. Link tracking, health checks and repair stop until you reactivate.

What happens if I uninstall the plugin?

By default, everything is kept. Tick "Delete data on uninstall" in Settings and uninstalling removes everything the plugin created, except the links already written into your posts and their revisions. To take links out, revoke them before you uninstall: once its data is deleted, the plugin can no longer find them. On a multisite network, each site where the box is ticked is cleaned up, and sites where it is not ticked keep their data. With a persistent object cache (Redis, Memcached), the robots.txt rules cached by the link checker are not deleted: they expire on their own within 24 hours.

Can I stop it from touching a specific post?

Yes. Each post has controls to exclude it entirely, to stop it being used as a link source, or to stop it receiving links.

Does it work with page builders?

Elementor is supported, including content stored in Elementor's own data structure. Within an Elementor page, text editor widgets are linked; other widgets are left alone. Builders that store their layout as shortcodes in the post content, such as Divi, are linked inside their text, and their shortcodes are left untouched. Text that a builder keeps in a shortcode attribute rather than in the body, such as a module title, is never linked: writing there would break the module and the link would be invisible. The journal records those as an anchor found only in a shortcode. SeedProd is supported on landing pages and on pages edited with SeedProd. Text blocks are linked in both places SeedProd keeps them, so the link shows at once and survives the next save in the SeedProd builder. Other blocks, such as headlines and buttons, are left alone. Tested with SeedProd Lite. Pages built with the SeedProd Pro theme builder use the same storage but were not tested.

Does it conflict with Yoast SEO, Rank Math, All in One SEO or SEOPress?

No, and the reason is structural rather than a list of integrations: the plugin adds nothing to the front end. No meta tag, no canonical, no sitemap, no filter on the content at display time. The links are written into your content as ordinary HTML, so an SEO plugin counts them exactly like a link you typed yourself. The plugin does read the noindex setting of those four: a page you have marked noindex is never chosen as a link target. Nothing to configure. Two limits are worth knowing. It reads the setting you put on the page itself, not a site-wide rule that makes a whole post type noindex. And it reads the four plugins above; another SEO plugin is not recognised. In both cases the page can still be chosen as a target, and the per-post controls in the sidebar exclude it. Developers can also filter aial_target_is_noindex.

Does it work with caching plugins?

Yes. Nothing is computed at display time, so a cached page can never serve a version without the links: they are already part of the stored content. Writing to the post content goes through the normal WordPress update path, which is the signal WP Rocket, W3 Total Cache, LiteSpeed Cache, WP Super Cache, WP Fastest Cache and SG Optimizer already watch in order to clear a page by themselves. On an Elementor page, and in ACF fields, the plugin writes to post meta instead of the post content, which does not fire the post update hooks. Since 0.2.1 it signals the change itself on those paths: it calls clean_post_cache(), which WP Super Cache and W3 Total Cache listen to, and it clears Cache Enabler and LiteSpeed Cache through their own per-post API. Measured against those four. Two are not covered. WP Fastest Cache exposes no per-post purge that another plugin can reach. WP Rocket could not be tested here, so nothing is claimed about it. If a new link on an Elementor or ACF page does not appear on either of those, purge that page in your caching plugin, or hook the aial_post_content_changed action to call your cache's own purge.

Why did it place no links on a post?

Open the journal. Every candidate that was considered and dropped is recorded with a reason: below the similarity threshold, rejected by the filtering pass, or an anchor that did not appear verbatim in the source. The last one is the most common, and it is working as intended: the plugin will not invent an anchor that is not in your text.

Does it send my content anywhere other than OpenAI?

No. The only external service is the OpenAI API, and only for the posts you process.

更新日志:

0.4.2 0.4.1 0.4.0 0.3.3 0.3.2 0.3.1 0.3.0 0.2.1 0.2.0 0.1.3 0.1.2 0.1.1 0.1.0