ECORP Internal Links
ECORP Internal Links

ECORP Internal Links

0/5 (0 ratings) — active installs Updated Aug 3, 2026
The settings screen: keyword to URL rules, the per-post link limit, link attributes and the post types automatic linking runs on.

The settings screen: keyword to URL rules, the per-post link limit, link attributes and the post types automatic linking runs on.

ECORP Internal Links builds your internal linking silo for you. You define
a list of keyword to URL rules once, and every matching keyword is turned into a
link as your content is rendered. Your posts are never modified in the database:
the plugin works on output only, so removing it removes every generated link.

What it does

  • Links each keyword on its first occurrence only, so a page never repeats the same link.
  • Enforces a global limit of automatically inserted links per post.
  • Never lets a post link to itself: a rule pointing at the page being displayed
    is skipped, and does not consume the per-post limit.
  • Optionally opens links in a new tab (target="_blank" plus rel="noopener").
  • Optionally marks inserted links as rel="nofollow".
  • Runs only on the post types you enable.

Where it will never insert a link

Correctness here matters more than coverage, so the matcher skips every context
where an automatic link would be invalid or unwanted:

  • inside an existing <a> element, so links are never nested;
  • inside <h1> to <h6> headings;
  • inside <script>, <style>, <code>, <pre>, <kbd> and <samp>;
  • inside form controls such as <textarea>, <button>, <select>, <option> and <label>;
  • inside <iframe>, <svg>, <noscript> and <template>;
  • inside HTML comments;
  • inside any HTML attribute, including alt, title, src and href.

Built for real content

  • Matching is accent aware and case insensitive, and the original casing of the
    matched text is preserved in the anchor.
  • Word boundaries are Unicode aware: a rule for SEO never matches inside
    SEOquencer, and a rule for référencement never matches référencements.
  • Longer expressions win over shorter ones, so internal linking strategy is
    preferred over internal linking when both are defined.
  • Multi word keywords still match across a line break or a non breaking space.

Performance

Rendered output is stored in the WordPress object cache, keyed by a version
number that is bumped whenever you save your settings. On a site with a
persistent object cache the transformation runs once per post revision; without
one, repeated the_content calls within the same request are still served from
memory.

Developer filters

  • ecorp_il_should_process: decide per post whether automatic linking runs.
  • ecorp_il_filter_priority: change the the_content hook priority (default 20).
  • ecorp_il_protected_tags: adjust the list of protected elements.
  • ecorp_il_link_attributes: change the attributes of every inserted link.
  • ecorp_il_link_rel: change the rel values of every inserted link.
  • ecorp_il_cache_ttl: change the cache lifetime.
  • ecorp_il_selectable_post_types: change the post types offered in the settings screen.

This plugin is built and maintained by ECORP.