[B] Easy Internal SEO Links

Automatic internal linking with click analytics — set it once, rank better forever.

Manual & Documentation

Requirements

  • WordPress 5.8 or higher
  • PHP 8.1 or higher
  • Capability: manage_options to access settings (Administrator)

Installation

  1. Go to Plugins → Add New in your WordPress admin.
  2. Click Upload Plugin and select the .zip file.
  3. Click Install Now, then Activate.

Initial Setup

On first activation, the plugin:

  • Creates default options in Settings.
  • Creates database tables for click statistics and keyword index (wp_bdw_eisl_*).

You can start using the plugin immediately by adding rules in Settings → Easy Internal SEO Links.


Configuration

Go to Settings → Easy Internal SEO Links. Two tabs are available: Settings and Link Rules.


Settings Tab

  • Max links per post: Maximum internal links created per post (0 = unlimited). Recommended: 5-15.
  • Max links per keyword (per post): How many times each keyword can be linked in the same post. Recommended: 1 to avoid repetition.
  • Open links in a new tab: Adds target='_blank' and rel='noopener noreferrer'.
  • Add rel=’nofollow’: Adds nofollow to generated links. Usually not recommended for internal links.
  • Apply on post content: Enables auto-linking in the_content. Recommended: Yes.
  • Apply on post excerpts: Enables auto-linking in excerpts.
  • Respect existing links: Does not modify text already inside <a> tags. Recommended: Yes.
  • Cleanup data on uninstall: Removes all plugin options and tables when uninstalled.

Link Rules Tab

Define rules like: ‘When keyword X appears in content, link to post/URL Y‘.

  • Keyword: Text to be converted to a link (e.g., ‘wordpress seo’).
  • Target type: Post/Page ID or Custom URL.
  • Target post ID / Target URL: The destination for the link.
  • Case sensitive: Match exact case.
  • Match whole words only: Recommended to avoid partial matches.
  • Max links per post (for this keyword): Specific limit for this rule (0 = use global).

Click Add rule to save. Rules appear in the Existing rules table.


Advanced Settings

Go to Settings → Easy Internal SEO Links Advanced.

  • Post blacklist (IDs): Comma-separated IDs. These posts are excluded from auto-linking (both as source and destination).
  • Term blacklist (IDs): Comma-separated category/tag IDs. Content with these terms is excluded.
  • Post type limits: Enable/disable auto-linking per content type (post, page, etc.) and set specific limits.

Keywords per Post (Meta Box)

When editing a post or page, use the Internal SEO Keywords meta box in the sidebar.

  • Add one keyword per line.
  • These keywords create links to this post when they appear in other content.
  • This creates an automatic similarity index between your posts.

The Internal SEO Keywords column in the posts list shows how many keywords each post has.


Click Statistics

Go to Settings → Easy Internal SEO Links Stats to view:

  • Total tracked internal link clicks: All clicks on plugin-generated links.
  • Top target posts: Most clicked destinations.
  • Top source posts: Posts where most clicks originate.

Tracking uses JavaScript on singular pages with AJAX and nonce verification. Only internal links are counted.


Creating a Manual Rule

  1. Go to Settings → Easy Internal SEO LinksLink Rules tab.
  2. Fill in the Keyword (e.g., ‘seo guide’).
  3. Select Target type = Post/Page ID.
  4. Enter the Target post ID.
  5. Configure matching options (case sensitive, whole words).
  6. Click Add rule.
  7. Create or edit a post containing that keyword.
  8. View the post on frontend: the keyword should appear as a link.

Using Keywords Index (Similarity)

  1. Edit the destination post (where you want links to point).
  2. In the Internal SEO Keywords meta box, add keywords (one per line).
  3. Save the post.
  4. In another post, write content containing those keywords.
  5. On frontend, occurrences will link to the destination post automatically.

Roles & Permissions

  • Administrators (manage_options): Access to all settings, link rules, advanced settings, and statistics.
  • Editors/Authors (edit_post): Can edit the Internal SEO Keywords meta box on their posts.
  • Visitors: Click tracking works via AJAX (protected by nonce).

Troubleshooting

Links not appearing in content

Cause: Auto-linking is disabled or post is excluded.

Solution: Verify ‘Apply on post content’ is enabled in Settings. Check if the post type is enabled in Advanced Settings. Ensure the post is not in the blacklist. Clear any page cache after changing settings.


Rule not creating links

Cause: Limits exceeded or keyword mismatch.

Solution: Check ‘Max links per post’ and ‘Max links per keyword’ limits. Verify the keyword matches exactly (case sensitive / whole word options). If ‘Respect existing links’ is active, text inside existing links won’t be modified.


Statistics not updating

Cause: Tracking script not loaded or link not internal.

Solution: The tracking script only loads on singular pages. Verify the clicked link is internal (same domain) and was generated by the plugin. Check browser console (F12) for JavaScript errors.


Data remains after uninstall

Cause: ‘Cleanup data on uninstall’ is disabled.

Solution: Enable this option, save settings, then uninstall the plugin. Or manually remove bdw_eisl_* options and *_bdw_eisl_* tables from the database.


Links appearing in wrong places

Cause: ‘Match whole words only’ is disabled.

Solution: Enable ‘Match whole words only’ for the rule to prevent partial word matches.


Privacy & Data

This plugin:

  • Stores link rules and settings in the local database only.
  • Click statistics store post IDs and anchor text (up to 255 characters) for internal reports.
  • Does not send personal data to third parties.
  • Does not set any cookies.
  • Does not make external HTTP requests.

Enable ‘Cleanup data on uninstall’ to remove all data when the plugin is deleted.


Uninstallation

To remove the plugin:

  1. Go to Settings → Easy Internal SEO Links.
  2. Enable Cleanup data on uninstall if you want to remove all data.
  3. Save settings.
  4. Deactivate the plugin.
  5. Delete it from Plugins → Installed Plugins.

Note: If cleanup is disabled, options and database tables will remain for future use.


Frequently Asked Questions