{"id":336553,"date":"2026-07-12T11:04:47","date_gmt":"2026-07-12T11:04:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bba-internal-link-machine\/"},"modified":"2026-07-12T11:04:35","modified_gmt":"2026-07-12T11:04:35","slug":"bba-internal-link-machine","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/bba-internal-link-machine\/","author":14097479,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"7.0.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"BBA Internal Link Machine","header_author":"BigBad Agency","header_description":"Automates internal linking in WordPress with pillar pages and keyword rules.","assets_banners_color":"3f2b2f","last_updated":"2026-07-12 11:04:35","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/bigbad.agency\/plugins\/internal-link-machine\/","header_author_uri":"https:\/\/bigbad.agency\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":29,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"sofrustrate","date":"2026-07-12 11:04:35"}},"upgrade_notice":{"1.0.0":"<p>Initial release of BBA Internal Link Machine.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3604741,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon-512x512.png":{"filename":"icon-512x512.png","revision":3604741,"resolution":"512x512","location":"assets","locale":"","width":512,"height":512}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3604741,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3604741,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The rules screen \u2014 map keywords to pillar pages.","2":"Pillar pages \u2014 your link targets.","3":"The visual link map."}},"plugin_section":[],"plugin_tags":[25078,19933,6681,264443,186],"plugin_category":[55],"plugin_contributors":[254594],"plugin_business_model":[],"class_list":["post-336553","plugin","type-plugin","status-publish","hentry","plugin_tags-anchor-text","plugin_tags-internal-linking","plugin_tags-internal-links","plugin_tags-pillar-pages","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-sofrustrate","plugin_committers-sofrustrate"],"banners":{"banner":"https:\/\/ps.w.org\/bba-internal-link-machine\/assets\/banner-772x250.png?rev=3604741","banner_2x":"https:\/\/ps.w.org\/bba-internal-link-machine\/assets\/banner-1544x500.png?rev=3604741","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/bba-internal-link-machine\/assets\/icon-256x256.png?rev=3604741","icon_2x":"https:\/\/ps.w.org\/bba-internal-link-machine\/assets\/icon-256x256.png?rev=3604741","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>BBA Internal Link Machine makes internal linking simple and consistent. Define keyword link rules, choose the pages they point to (your \"pillar\" pages), and the plugin inserts the links into your content \u2014 no manual hunting through posts.<\/p>\n\n<p><strong>Free features<\/strong><\/p>\n\n<ul>\n<li><strong>Up to 5 keyword link rules<\/strong> \u2014 map a keyword to a target page.<\/li>\n<li><strong>Pillar pages<\/strong> \u2014 designate the important pages your rules link to.<\/li>\n<li><strong>Manual, per-post linking<\/strong> \u2014 links are applied as you publish or update a post, so you stay in control of what changes.<\/li>\n<li><strong>Basic visual link map<\/strong> \u2014 see which rules are linking where.<\/li>\n<li><strong>URL exclusions<\/strong> \u2014 keep specific URLs out of automatic linking.<\/li>\n<li><strong>Block &amp; Classic editor support<\/strong> \u2014 works with the standard WordPress editors.<\/li>\n<\/ul>\n\n<p>The free version runs entirely on your own site and makes <strong>no external\/third-party API calls<\/strong>.<\/p>\n\n<p><strong>Upgrade to Pro<\/strong><\/p>\n\n<p>Internal Link Machine Pro unlocks unlimited rules, bulk processing across all existing posts, pillar-page link weighting, priority + anchor-text control per rule, expanded keyword-variation matching, CSV export, Elementor support, and an AI-assisted keyword scanner. Learn more at https:\/\/bigbad.agency\/.<\/p>\n\n<h3>Source Code<\/h3>\n\n<p>All JavaScript and CSS shipped in this plugin (in <code>admin\/js\/<\/code> and <code>admin\/css\/<\/code>) is the original, uncompiled, human-readable source. No build tools (webpack, Rollup, npm, Composer, minifiers, transpilers) are used to generate the distributed files \u2014 what you install is exactly the source, so it can be read, studied, and modified directly.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>internal-link-machine<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install it from the Plugins screen in WordPress.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen.<\/li>\n<li>Open <strong>Internal Link Machine<\/strong> in the admin menu.<\/li>\n<li>Create a pillar page (a link target), then add a keyword rule pointing to it.<\/li>\n<li>Publish or update a post \u2014 matching keywords are linked automatically.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20many%20link%20rules%20can%20i%20create%20in%20the%20free%20version%3F\"><h3>How many link rules can I create in the free version?<\/h3><\/dt>\n<dd><p>Up to 5. Internal Link Machine Pro removes the limit.<\/p><\/dd>\n<dt id=\"does%20the%20free%20version%20send%20my%20content%20anywhere%3F\"><h3>Does the free version send my content anywhere?<\/h3><\/dt>\n<dd><p>No. The free version makes no external API calls \u2014 all linking happens on your own site.<\/p><\/dd>\n<dt id=\"will%20it%20link%20my%20existing%20posts%20automatically%3F\"><h3>Will it link my existing posts automatically?<\/h3><\/dt>\n<dd><p>In the free version, links are applied per post as you publish or update it. Bulk processing across all existing posts at once is a Pro feature.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20elementor%3F\"><h3>Does it work with Elementor?<\/h3><\/dt>\n<dd><p>Elementor support is a Pro feature. The free version supports the Block and Classic editors.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Renamed the shared admin-notice class to a plugin-unique prefix to avoid conflicts.<\/li>\n<li>Hardened settings import to only touch this plugin's own options.<\/li>\n<li>Documented that all shipped JS\/CSS is uncompiled human-readable source.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>WordPress.org compliance: plugin is now fully functional with no feature gating; text domain matches the slug; assets are enqueued; uninstall\/cleanup is scoped to the plugin's own option prefix.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Automate internal linking in WordPress with keyword rules and pillar pages. Set a keyword, point it at a page, and links are added as you publish.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/336553","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=336553"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sofrustrate"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=336553"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=336553"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=336553"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=336553"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=336553"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=336553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}