=== Half Baked Link Injection ===
Contributors: emrysh
Tags: links, content, internal links, seo
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 3.0.10
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Automatically replace whole-word phrases with links when WordPress renders your content, without touching existing links.
== Description ==
Half Baked Link Injection lets you define simple rules that automatically replace whole-word phrases with links when WordPress renders post and page content.
It is designed for clean, predictable linking that stays out of your way. Rules are applied only to `the_content`, and existing links are never modified. This makes it useful for SEO hygiene, internal linking, and turning recurring terms into consistent references without editing each post manually.
= How it works =
Create one or more injection rules. Each rule includes:
* A phrase (whole-word matching is always used)
* A destination URL (internal relative links or external URLs)
* Optional settings like case sensitivity, where it applies, and how often it triggers
When a post or page is displayed, the plugin scans only the text portions of the content and injects links where appropriate. It will not touch phrases inside existing `` tags, and it skips script and style blocks to avoid breaking markup.
= Targeting and control =
Rules can be scoped and prioritized so you stay in control when phrases overlap or your site grows.
* Post type targeting: apply a rule to Posts, Pages, or both
* Priority ordering: lower numbers win when multiple rules could match the same spot
* Tie-breaking: if priorities match, newer rules win
= Occurrence options =
Control how frequently each phrase is linked:
* First
* First + every Nth
* Every Nth
* All
This is useful when you want a light touch on long articles.
= External links done properly =
When a rule points to an external URL, the plugin:
* Adds `target="_blank"`
* Ensures `rel` includes `noopener noreferrer`
* Lets you append additional rel tokens like `nofollow` or `sponsored`
Relative URLs stay relative and do not get `target="_blank"`.
= Built for safety and performance =
* No recursion into `the_content`
* Processes content safely by splitting HTML and touching only text tokens
* Skips existing `` tags
* Skips `