ROOTLINKD DOCUMENTATION

Internal linking plugin setup: the rootlinkd documentation.

This guide covers internal linking plugin setup for rootlinkd, from installing the plugin to your first rule, every setting and what to check when a link doesn't appear.

Requirements

  • WordPress 5.0 or newer and PHP 7.4 or newer.
  • The PHP DOM extension is recommended. Most hosts include it. Without it, rootlinkd uses a simpler fallback method to find keywords. rootlinkd → System Check shows whether DOM is available.
  • Works with Gutenberg, the Classic Editor and Elementor.

Install and activate

Free

The Free edition is coming soon to WordPress.org. Once it's listed, install it from Plugins → Add New by searching for rootlinkd, then activate it.

On activation you're offered an optional account connection through Freemius, rootlinkd's licensing provider. You can skip it and keep using Free.

Paid plans

  1. Buy a plan on the internal linking plugin pricing page. Freemius emails your licence key and a download link.
  2. Upload the paid plugin from Plugins → Add New → Upload Plugin and activate it.
  3. Enter your licence key when prompted. If the Free edition is installed, it is turned off automatically, and your rules stay as they are.

Your first rule: internal linking plugin setup in two fields

Here is how to add keyword rules. Every rule pairs one keyword or phrase with one destination.

  1. Open rootlinkd → Rules.
  2. Enter the keyword or phrase to match, for example engine oil.
  3. Enter the destination URL, for example https://yoursite.com/guides/engine-oil/.
  4. Click Save Link Rule. The rule is active straight away.
Free accepts internal links only. Enter the full URL of a page on your own site, including https://. A URL on another domain is refused with a message explaining that external and affiliate links need a paid plan.

Managing rules

  • Edit changes a rule's keyword or destination.
  • Disable stops a rule linking without deleting it. Enable turns it back on.
  • Delete removes the rule. Its links disappear from every page, because rootlinkd never edits your saved posts.
  • Each keyword can belong to only one rule. Saving a keyword that already has a rule shows "A rule already uses that keyword."
  • Paid plans add Enable all and Disable all buttons for bulk changes.

How matching works

  • Whole words only. oil matches "oil" but not "boil" or "oils".
  • Not case-sensitive. engine oil also matches "Engine Oil".
  • Longer keywords win. rootlinkd checks longer keywords first, so synthetic engine oil is linked before engine oil can claim part of it.
  • Links are added as the page is displayed. Your posts are never modified, so changing or deleting a rule updates every page at once.
  • Protected content. Text that is already a link is never linked again, and scripts, styles, code blocks and form fields are left alone.

Free compared with paid plans

Free links every exact match it finds, including inside headings and the main post or page title. Paid plans skip headings, titles and Elementor tab, accordion and toggle titles, and add the limits described under Settings. See the internal linking plugin features page for what each plan includes.

Keyword variations PRO+

Variations let one rule match several spellings, all pointing to the same destination. Add them in the Keyword Variations field on the rule, separated by commas:

5w30, 5W-30 oil, 5W-30 motor oil

PlanVariations per rule
Pro1
BusinessUp to 5
DeveloperUnlimited

A rule and its variations count as one rule. With Link each keyword once per page turned on, the whole rule links once per page, using whichever variation appears first.

Settings PRO+

Paid plans add a Settings tab at rootlinkd → Settings. Click Save Settings after any change.

SettingWhat it doesDefault
Link styleHow auto-links look. Pro: Wikipedia Blue, Neutral (inherits your colour), Underline Only, Bold, Dotted Underline. Business and Developer add Green, Purple and Stealth.Wikipedia Blue
Max links per postThe most auto-links rootlinkd adds to one page, from 1 to 20.5
Skip first paragraphsKeeps links out of the first 0–10 paragraphs. Only paragraphs count, not headings, images or lists.0 (off)
Exclude current pageStops a page linking to itself.On
Link each keyword once per pageLinks only the first match of each rule on a page.On
Trusted domainsYour other websites, one domain per line (for example example.com). Links to them are treated as internal: same tab, no nofollow.Empty
Randomizer BUSINESS+The chance, from 10% to 100%, that each keyword links on a page view.100%
Affiliate tag auto-append BUSINESS+Adds your affiliate code to matching links. One rule per line, written as domain.com|?param=value. Skipped if the link already has that parameter.Empty
Using a page cache? Cached pages keep the links they had when they were cached. Clear your cache after changing rules or settings, and expect the randomizer to stay the same until the cache refreshes.

Exclude a post or page PRO+

To exclude pages from auto linking one at a time, open the post or page in the editor, find the rootlinkd box in the sidebar, tick Disable auto-links on this page and update the post.

The box appears on posts and pages. Removing the tick turns auto-links back on.

External and affiliate links

rootlinkd sorts each destination into a link type automatically when you save the rule:

TypeWhen it appliesHow the link behaves
Internal FREEThe URL is on your own domain, or on a trusted domain.Opens in the same tab
External PRO+Any other website.Opens in a new tab, rel="noopener noreferrer"
Affiliate BUSINESS+A known affiliate domain (Amazon, amzn.to, ShareASale, CJ, ClickBank, Awin, Impact, Rakuten), or a URL with an affiliate parameter such as tag=, ref=, affid=, affiliate=, partner=, tracking= or aff_id=.Opens in a new tab, rel="nofollow sponsored noopener noreferrer"

If your plan doesn't include a rule's link type, the rule is saved but doesn't link. On Free, the Rules list marks it "Paid rule inactive in Free".

Analytics and CSV BUSINESS+

Analytics

Click counts appear in the Rules list, and rootlinkd → Analytics shows total clicks, active rules, your top keyword and each rule's share of clicks. Clicks are recorded on every paid plan, so upgrading to Business shows the history you already have.

CSV import and export

  • Export CSV downloads every rule.
  • Import CSV reads a file with the columns keyword, variations, url and, optionally, enabled. In enabled, use 0, no, false or off for a disabled rule; anything else, or an empty cell, imports it as enabled.
  • Rows missing a keyword or URL are skipped, and variations beyond your plan's limit are trimmed.
  • Merge updates rules whose keyword already exists and adds the rest.
Replace all deletes every existing rule before importing. Export a backup first.

Troubleshooting

Why are my auto links not showing?
  • The rule is disabled. Check its status in the Rules list.
  • The page is cached. Clear your caching plugin or host cache.
  • The text doesn't match exactly. Matching is whole-word, so plurals and hyphenated forms need their own rule or a variation.
  • The text is already a link, or sits inside a heading, title or code block.
  • On a paid plan, the page has reached Max links per post, the match is in a skipped opening paragraph, or auto-links are disabled on that page.
  • The rule is external or affiliate and your plan doesn't include that link type.
Why does my rule say "Paid rule inactive in Free"?

Its destination is on another domain. Free links only to your own site. The rule is kept, and it works again on a plan that includes external or affiliate links.

What happens if my licence ends?

Your rules and settings stay saved. rootlinkd returns to Free behaviour: internal rules keep working, and paid features resume when a licence is active again.

Does deleting the plugin delete my rules?

No. rootlinkd keeps your rules and settings in your database when the plugin is removed, so reinstalling brings everything back.

Why are some keywords inside headings linked?

That is how the Free edition works: it links every exact match, including headings and the post title. Paid plans skip headings and titles.

Scroll to Top