{"id":275145,"date":"2026-04-11T07:02:03","date_gmt":"2026-04-11T07:02:03","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/internal-external-link-manager\/"},"modified":"2026-04-12T16:43:49","modified_gmt":"2026-04-12T16:43:49","slug":"beeclear-smart-link-manager","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/beeclear-smart-link-manager\/","author":23423132,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.1","stable_tag":"2.0.1","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"BeeClear Smart Link Manager","header_author":"BeeClear","header_description":"Smart auto-linking for SEO\/GEO: link keywords to posts or external URLs with full rule control and instant rebuild.","assets_banners_color":"eca44c","last_updated":"2026-04-12 16:43:49","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/beeclear.pl\/en\/","header_plugin_uri":"https:\/\/beeclear.pl\/en\/internal-external-link-manager\/","header_author_uri":"https:\/\/beeclear.pl\/en\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":68,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0":{"tag":"2.0","author":"beeclear","date":"2026-04-11 07:09:00"},"2.0.1":{"tag":"2.0.1","author":"beeclear","date":"2026-04-12 16:43:49"}},"upgrade_notice":{"2.0.1":"<ul>\n<li>Improved scanner behavior for page scanning and index regeneration.<\/li>\n<\/ul>","2.0":"<p>The index rebuild mechanism has been fully rewritten to use internal WordPress APIs. No loopback HTTP requests are made during scanning \u2014 this resolves conflicts reported on sites with strict WAF rules. After upgrading, click <strong>Rebuild Index<\/strong> once to regenerate the index with the new engine.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3503785,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544-500.jpg":{"filename":"banner-1544-500.jpg","revision":3503799,"resolution":"1544x500","location":"assets","locale":""},"banner-772-250.jpg":{"filename":"banner-772-250.jpg","revision":3503799,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0","2.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3503785,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3503785,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3503785,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3503785,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"Global settings panel \u2014 central configuration screen with default link attributes (rel, title, aria-label), CSS class, link template, cross-inline formatting tags and placement &amp; targeting options. The right sidebar provides quick actions for rebuilding the index, a Last scan summary and maintenance tools.","2":"Per-post metabox in the editor \u2014 define phrases and rules directly on a single post, with case-sensitive toggles, search scope settings (HTML elements allowed to link in the target) and per-target linking rules, including the option to disable auto-linking for outgoing links.","3":"Linking overview \u2014 targets &amp; sources report listing every target with its number of defined phrases, number of inbound links, the defined phrases themselves and quick access to the list of source posts.","4":"Target details popup \u2014 a quick view opened from the overview showing all phrases linking to a specific target together with the source posts where those links are injected."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[25078,12539,9888,19933,186],"plugin_category":[55],"plugin_contributors":[259940],"plugin_business_model":[],"class_list":["post-275145","plugin","type-plugin","status-publish","hentry","plugin_tags-anchor-text","plugin_tags-autolink","plugin_tags-external-links","plugin_tags-internal-linking","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-beeclear","plugin_committers-beeclear"],"banners":{"banner":"https:\/\/ps.w.org\/beeclear-smart-link-manager\/assets\/banner-772-250.jpg?rev=3503799","banner_2x":"https:\/\/ps.w.org\/beeclear-smart-link-manager\/assets\/banner-1544-500.jpg?rev=3503799","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/beeclear-smart-link-manager\/assets\/icon-256x256.png?rev=3503785","icon_2x":"https:\/\/ps.w.org\/beeclear-smart-link-manager\/assets\/icon-256x256.png?rev=3503785","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/beeclear-smart-link-manager\/assets\/screenshot-1.png?rev=3503785","caption":"Global settings panel \u2014 central configuration screen with default link attributes (rel, title, aria-label), CSS class, link template, cross-inline formatting tags and placement &amp; targeting options. The right sidebar provides quick actions for rebuilding the index, a Last scan summary and maintenance tools."},{"src":"https:\/\/ps.w.org\/beeclear-smart-link-manager\/assets\/screenshot-2.png?rev=3503785","caption":"Per-post metabox in the editor \u2014 define phrases and rules directly on a single post, with case-sensitive toggles, search scope settings (HTML elements allowed to link in the target) and per-target linking rules, including the option to disable auto-linking for outgoing links."},{"src":"https:\/\/ps.w.org\/beeclear-smart-link-manager\/assets\/screenshot-3.png?rev=3503785","caption":"Linking overview \u2014 targets &amp; sources report listing every target with its number of defined phrases, number of inbound links, the defined phrases themselves and quick access to the list of source posts."},{"src":"https:\/\/ps.w.org\/beeclear-smart-link-manager\/assets\/screenshot-4.png?rev=3503785","caption":"Target details popup \u2014 a quick view opened from the overview showing all phrases linking to a specific target together with the source posts where those links are injected."}],"raw_content":"<!--section=description-->\n<p><strong>BeeClear Smart Link Manager<\/strong> automatically injects internal links into your content at render time, based on keyword rules you define. Links are never saved into post content \u2014 they are applied dynamically through the <code>the_content<\/code> filter, so your database stays clean and all changes are instantly reversible.<\/p>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Define a linking rule: choose a phrase, target URL, and optional attributes (rel, title, aria-label, class).<\/li>\n<li>Build the index \u2014 either manually with one click or automatically on each post save.<\/li>\n<li>The plugin injects matching links on the fly whenever a post is rendered.<\/li>\n<\/ol>\n\n<p>No content is permanently modified. Deactivating the plugin removes all links instantly.<\/p>\n\n<h4>Free version features<\/h4>\n\n<ul>\n<li><strong>Rule-based internal linking<\/strong> \u2014 phrase and token syntax with optional case-sensitivity matching.<\/li>\n<li><strong>Full attribute control<\/strong> \u2014 set <code>rel<\/code>, <code>title<\/code>, <code>aria-label<\/code>, and <code>class<\/code> on each link for SEO and accessibility.<\/li>\n<li><strong>Per-page link limits<\/strong> \u2014 cap how many times a phrase can be linked on a single page.<\/li>\n<li><strong>One-click index rebuild<\/strong> \u2014 manual rebuild with a live summary, or automatic rebuild triggered by post updates.<\/li>\n<li><strong>Import \/ export<\/strong> \u2014 move rule sets between sites or environments in seconds.<\/li>\n<li><strong>Clean admin UI<\/strong> \u2014 sortable rule tables, inline editing, and a metabox for per-post overrides.<\/li>\n<li><strong>Gutenberg and Classic Editor compatible<\/strong> \u2014 works with any content editor.<\/li>\n<li><strong>Zero HTTP requests<\/strong> \u2014 scanning and index building use internal WordPress APIs (WP_Query + options), not loopback HTTP calls.<\/li>\n<\/ul>\n\n<h4>Premium version features<\/h4>\n\n<ul>\n<li>Semantic keyword enhancement<\/li>\n<li>Custom external linking rules<\/li>\n<li>Extended rule logic and priorities<\/li>\n<li>Page-level priority settings<\/li>\n<li>Activity log with operation history<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/beeclear.pl\/en\/internal-external-link-manager\/\">Learn more about BeeClear Smart Link Manager \u2192<\/a><\/p>\n\n<!--section=installation-->\n<h4>Installation from within WordPress<\/h4>\n\n<ol>\n<li>Go to <strong>Plugins &gt; Add New<\/strong>.<\/li>\n<li>Search for <strong>BeeClear Smart Link Manager<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<\/ol>\n\n<h4>Manual installation<\/h4>\n\n<ol>\n<li>Download the plugin ZIP file.<\/li>\n<li>Go to <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong> and upload the ZIP, or unpack it and upload the <code>beeclear-smart-link-manager<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Go to <strong>Plugins<\/strong> and activate <strong>BeeClear Smart Link Manager<\/strong>.<\/li>\n<\/ol>\n\n<h4>After activation<\/h4>\n\n<ol>\n<li>Open <strong>BeeClear Smart Link Manager<\/strong> in the WordPress admin menu.<\/li>\n<li>Add your first internal linking rule in the <strong>Rules<\/strong> tab.<\/li>\n<li>Click <strong>Rebuild Index<\/strong> to apply rules to existing content.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20modify%20post%20content%20in%20the%20database%3F\"><h3>Does this plugin modify post content in the database?<\/h3><\/dt>\n<dd><p>No. Links are injected dynamically at render time via the <code>the_content<\/code> filter. Your database is never altered \u2014 deactivating the plugin removes all links immediately.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20latest%20wordpress%3F\"><h3>Does it work with the latest WordPress?<\/h3><\/dt>\n<dd><p>Yes. The plugin is tested up to WordPress 6.9.<\/p><\/dd>\n<dt id=\"can%20i%20limit%20the%20number%20of%20links%20per%20page%3F\"><h3>Can I limit the number of links per page?<\/h3><\/dt>\n<dd><p>Yes. Each rule supports a per-page link cap so the same phrase is not linked more than a set number of times on one page.<\/p><\/dd>\n<dt id=\"how%20do%20i%20apply%20rule%20changes%20to%20existing%20posts%3F\"><h3>How do I apply rule changes to existing posts?<\/h3><\/dt>\n<dd><p>Go to the plugin settings and click <strong>Rebuild Index<\/strong>. You can also enable automatic rebuilding, which triggers on every post save.<\/p><\/dd>\n<dt id=\"why%20are%20some%20phrases%20not%20being%20linked%3F\"><h3>Why are some phrases not being linked?<\/h3><\/dt>\n<dd><p>The most common causes: the phrase does not match due to case-sensitivity settings, the per-page link limit has been reached, or the post type is excluded in the plugin settings.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20individual%20posts%20or%20post%20types%20from%20auto-linking%3F\"><h3>Can I exclude individual posts or post types from auto-linking?<\/h3><\/dt>\n<dd><p>Yes. Use the plugin settings to exclude specific post types globally, or use the per-post metabox to disable linking for individual posts.<\/p><\/dd>\n<dt id=\"how%20do%20i%20migrate%20rules%20to%20another%20site%3F\"><h3>How do I migrate rules to another site?<\/h3><\/dt>\n<dd><p>Use the <strong>Export<\/strong> button to download your rules as a file, then use <strong>Import<\/strong> on the target site. No manual re-entry needed.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20page%20builders%20%28elementor%2C%20divi%2C%20beaver%20builder%29%3F\"><h3>Is it compatible with page builders (Elementor, Divi, Beaver Builder)?<\/h3><\/dt>\n<dd><p>The plugin hooks into <code>the_content<\/code> filter, which most page builders respect. Compatibility may vary for builders that bypass standard WordPress rendering.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Improved scanner behavior for page scanning and index regeneration.<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>Refactored index build process \u2014 uses WP_Query internally instead of loopback HTTP requests, eliminating WAF\/firewall conflicts.<\/li>\n<li>Background scanning via WP-Cron with batch processing for large sites.<\/li>\n<li>Lightweight AJAX status polling (one read-only request every ~3 seconds) replaces the previous high-frequency request model.<\/li>\n<li>Improved admin interface and sortable rule tables.<\/li>\n<\/ul>\n\n<h4>1.8<\/h4>\n\n<ul>\n<li>Fixed invalid HTML in admin column output.<\/li>\n<li>Removed duplicate <code>admin_enqueue_scripts<\/code> hook registration.<\/li>\n<li>Improved promo notice: button label updated to avoid misleading wording.<\/li>\n<li>Removed aggressive reset of per-user promo dismissal on plugin activation.<\/li>\n<li>Removed error suppression operator from <code>preg_match<\/code> call.<\/li>\n<\/ul>\n\n<h4>1.7.5<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<\/ul>","raw_excerpt":"Automatic internal linking for SEO: define keyword rules, set attributes and limits, rebuild the index in one click \u2014 no content changes.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/275145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=275145"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/beeclear"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=275145"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=275145"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=275145"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=275145"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=275145"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=275145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}