Global settings
This screen controls how the plugin works across the entire site. At the top you’ll find action buttons, and below a form with default settings and an index summary panel.

“Actions” section – rebuilding the index
The Rebuild index now button immediately recalculates all internal phrases and rules. Use it after bigger content updates, adding new rules or importing settings.
- When to use it? After adding many new posts or changing phrases in metaboxes.
- What’s the effect? The plugin rebuilds its internal index and adjusts links to the current content structure.
“Global settings” section – default linking rules
In this section you define what automatic links should look like and where the plugin is allowed to insert them.
- rel attribute (default) – enter default
relattributes, e.g.nofollow noopener. This affects SEO and the security of links opened in new tabs. - Default Title & Aria for INTERNAL links – decide what should be used for the
titleandaria-labelattributes of internal links:- none – no additional title/label,
- phrase – the matched phrase,
- post_title – the title of the target post,
- custom – your own text.This matters both for tooltip readability and accessibility (screen readers).
- Skip elements (INTERNAL / EXTERNAL) – list HTML tag names (e.g. h2, li, h4) where you don’t want automatic links to be generated. This protects headings or navigation lists from overly aggressive linking.
After changing the settings, click Save Changes to store the configuration.
“Index status” section – index summary
The panel on the right shows the current state of the phrase index:
- Total phrases – total number of defined phrases.
- Targets with phrases – number of pages that have phrases assigned.
- Per target breakdown – an expandable table (top 50) with post ID, title and phrase count.
This is where you can quickly see whether you have enough phrases and which pieces of content are most heavily “linked”.
“Maintenance” section – clearing data
This panel lets you reset runtime data (index, link map), for example after major content clean-ups.
- Tick the confirmation box Confirm clearing runtime data.
- Click Clear data & rebuild index to clear runtime data and immediately rebuild the index.
External linking
This screen lets you create rules for automatic linking to external URLs – for example manufacturer documentation, partner sites or landing pages. It also lets you create links to pages that can’t be directly targeted in WordPress, such as author pages, category archives or other pages created outside the editor.

Top section – “Phrase helpers”
At the top of the screen, you’ll see a blue box labelled Phrase helpers. It’s a short guide to using the [words] and [string] tokens, which let you match text with variants (e.g. different endings or extra words in between).
[words],[words:min2],[words:max4]– match whole words between parts of the phrase.[string],[string:min5],[string:max12],[string:8]– match letter sequences of a given length.- With these tokens, you can cover many natural sentence variants while maintaining a single linking rule.
External rules table – columns and fields
Each row in the table is a single rule for linking to a specific URL. Here’s what each column in the screenshot means:
- Phrase / Flags – the Phrase field contains the phrase or tokens that should trigger a link. Below it you’ll find switches:
- Regex – treats the phrase as a regular expression. When enabled, the Case-sensitive switch is disabled because you control case directly in the regex.
- Case-sensitive – case-sensitive matching (works only when Regex is off).
- Destination URL – the target external page address. The URL must be complete (e.g.
https://example.com/) or the rule won’t be saved. - Attributes – a group of fields that define the technical details of the link:
- rel – e.g.
nofollow noopenerfor security and SEO. - Title – choose how to generate the title (none, phrase, custom) and optionally enter your own text.
- Aria-label – similarly, an accessibility label for screen readers (none, phrase, custom).
- CSS class – an extra CSS class, e.g.
beeclear-ilm-linkif you want to style external links differently.
- rel – e.g.
- Max/page – maximum number of links from this rule per page.
0means no limit. - Post types / Exclusions – limits where the rule applies:
- checkboxes for post types (Post, Page, etc.) – the rule will only work where the type is checked,
- Exclude by post ID – a list of post IDs where this rule should be ignored (for example, to avoid linking from specific articles).
- Actions – the Remove button deletes a given rule from the table.
Adding and saving rules
- To add a new rule, click the Add external rule button below the table. A new row with empty fields will appear.
- After making all changes, click Save rules to save the configuration.
- At the bottom of the screen you may see a rule summary – a list of phrases with their target URLs and the post types each rule covers.
Once rules are saved correctly, the plugin will automatically turn the specified phrases in your content into links pointing to the assigned external URLs.
“Internal Link Phrases/Rules” metabox in the post or page editor
The third screenshot shows the metabox in the WordPress block editor (Gutenberg), which appears in edited posts and pages. This is where you define phrases that should link to the current piece of content.

Adding internal phrases and rules
Inside the metabox you’ll see a list of rows – each line is one phrase or regex rule that points to the currently edited page.
- “Phrase or regex” text field – enter the phrase whose occurrence in other content should be turned into a link to this post.
- “Regex” checkbox – treats the phrase as a regular expression. Use when you need more complex matching.
- “Case-sensitive” checkbox – enforces case-sensitive matching (only when regex is off).
- The left “☰” icon lets you drag rows to change their order. Rules at the top have higher matching priority.
- The Remove button deletes a given phrase.
- The Add phrase/rule button below the list adds a new empty row.
Tips – [string] and [words] tokens
After expanding the tips section (Tips: Token syntax) you’ll see a description of how the tokens work:
wordpre[string],[string:5],[string:max5],[string:min3]– match letter sequences attached to a given fragment (no spaces or hyphens).wordpress [words] plugin,[words:1],[words:max2],[words:min2]– match one or more whole words between fragments of the phrase.- Tokens work only when Regex is disabled. You can mix them within a single phrase to cover many variants of the same wording.
Options for disabling linking from a specific post
- Disable autolinking from this post (no outgoing links) – tick this if you don’t want the plugin to insert any links (internal or external) inside this particular post.
- Clear all phrases on save (explicit action) – when checked, all phrases in this metabox will be permanently removed when the post is saved. This works as an intentional “wipe” of rules for this page.
At the bottom of the metabox you’ll also find information about the plugin’s admin menu name and a link to the author (BeeClear), which makes it easy to jump to the main settings or the author’s website.
How to get started with Internal & External Link Manager
- First configure Global settings to define the general rules and appearance of your links.
- If you need to set up external links, define rules in External linking to consistently link out to trusted external sources.
- For internal linking in your most important posts and pages, fill in the Internal Link Phrases/Rules metabox to build strong connections between content on your site.
- After major changes to content or rules, remember to use the Rebuild index now button to refresh the index and bring linking up to date.
With these three screens, the Internal & External Link Manager plugin gives you full control over which phrases turn into links, where they point and how they’re presented to users and search engines.
Frequently asked questions
- I’ve enabled Internal & External Link Manager, added phrases, but no links appear on the front end. What should I check?
- First, make sure the content meets the minimum length set in “Minimum content length” (by default 200 characters after stripping HTML). The plugin only works on post types selected in “Process INTERNAL post types” and, by default, only on single posts (lists/archives – only after enabling “Process INTERNAL links on archives”). For internal links, phrases must be saved as rules in the target post’s metabox, and that post must be published; the current post won’t link to itself. If you have checked “Disable autolinking from this post”, links will not be injected into its content. Additionally, exclusions in “Skip elements (INTERNAL/EXTERNAL)” may block links in headings or lists.
- In one article the plugin creates too many links or places them in strange spots. How can I reduce how aggressive the linking is?
- You control link density globally in the settings: “Max links per INTERNAL target (per page)” limits the number of links leading to a single post, and “Max TOTAL links injected per page” sets the overall limit for internal and external links (0 = no limit). If links appear in headings, lists or other sensitive elements, add the relevant HTML tags to “Skip elements (INTERNAL)” and “Skip elements (EXTERNAL)”, e.g. h2, h3, li. If you see linking through bold/italic fragments like “WordPress”, you can disable the “Cross-inline (formatting tags)” option so phrases are not assembled across b/strong, i/em, u or mark tags.
- After saving rules in “External linking” some rows disappear or external links don’t show up at all. Why?
- When saving, the plugin sanitises the rules and skips those that are invalid, so after refreshing the panel, problematic rows simply disappear. The most common cause is an empty “Phrase” or “Destination URL” field, or a URL that WordPress does not treat as a valid address (it becomes empty after sanitisation). If you check “Regex”, the phrase must be a valid regular expression – an incorrect regex will be rejected and the rule will not work. An empty “Post types” field means “all types”, so clearing it does not block the rule. Also remember that global content-length limits and “Skip elements (EXTERNAL)” may prevent a link from being injected.
- How can I completely disable automatic linking in a single post or for an entire content type?
- For a single post, use the options in the “Internal Link Phrases/Rules (BeeClear)” metabox. Checking “Disable autolinking from this post (no outgoing links)” means the plugin will not inject any links – internal or external – into this particular post, although other articles can still link to it as a target. If you want a given post type not to be processed at all, uncheck it in the “Process INTERNAL post types” section in the global settings. In that case, ILM will neither create links in content of that type nor take such posts into account when building the phrase index.
- When should I use “Rebuild index now”, and when “Clear data & rebuild index” or “Purge database (ILM)” in the Maintenance section?
- “Rebuild index now” is enough after bigger changes in your link network when you want to refresh the index manually – even though the plugin already rebuilds it automatically when saving phrases, publishing or deleting a post, or importing settings. “Clear data & rebuild index” additionally clears runtime data (index and linkmap – entry counters), which is useful after larger content clean-ups or when the source statistics seem outdated. “Purge database (ILM)” is the “nuclear” option: it removes internal rules stored in post meta, all external rules, counters and the index, and then builds an empty index. Use it only if you want to start the configuration from scratch.
