{"id":300156,"date":"2026-04-23T11:27:10","date_gmt":"2026-04-23T11:27:10","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/basix-auto-links\/"},"modified":"2026-04-23T11:26:53","modified_gmt":"2026-04-23T11:26:53","slug":"basix-auto-links","status":"publish","type":"plugin","link":"https:\/\/so.wordpress.org\/plugins\/basix-auto-links\/","author":23480089,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"BASIX Auto Links","header_author":"CHIROBASIX","header_description":"Automatically inserts internal links into your content based on keyword rules, post titles, and taxonomy terms. Optionally uses AI (Claude or OpenAI) to discover linking opportunities.","assets_banners_color":"2a5de5","last_updated":"2026-04-23 11:26:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/basix-auto-links\/","header_author_uri":"https:\/\/chirobasix.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":72,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"chirobasix","date":"2026-04-23 11:26:53"}},"upgrade_notice":{"1.0.0":"<p>Initial release of BASIX Auto Links.<\/p>"},"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3513746,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3513746,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3513746,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3513746,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3513746,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Main settings page \u2014 configure which content types are linked and manage custom keyword rules.","2":"AI-powered link suggestion scanner \u2014 optionally use Claude or OpenAI to discover new internal linking opportunities."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[165576,63763,19933,6681,186],"plugin_category":[55],"plugin_contributors":[260924],"plugin_business_model":[],"class_list":["post-300156","plugin","type-plugin","status-publish","hentry","plugin_tags-auto-links","plugin_tags-automatic-linking","plugin_tags-internal-linking","plugin_tags-internal-links","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-chirobasix","plugin_committers-chirobasix"],"banners":{"banner":"https:\/\/ps.w.org\/basix-auto-links\/assets\/banner-772x250.png?rev=3513746","banner_2x":"https:\/\/ps.w.org\/basix-auto-links\/assets\/banner-1544x500.png?rev=3513746","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/basix-auto-links\/assets\/icon.svg?rev=3513746","icon":"https:\/\/ps.w.org\/basix-auto-links\/assets\/icon.svg?rev=3513746","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/basix-auto-links\/assets\/screenshot-1.png?rev=3513746","caption":"Main settings page \u2014 configure which content types are linked and manage custom keyword rules."},{"src":"https:\/\/ps.w.org\/basix-auto-links\/assets\/screenshot-2.png?rev=3513746","caption":"AI-powered link suggestion scanner \u2014 optionally use Claude or OpenAI to discover new internal linking opportunities."}],"raw_content":"<!--section=description-->\n<p><strong>BASIX Auto Links<\/strong> automatically inserts internal links into your WordPress content. Define keyword-to-URL rules, and the plugin scans every post and page \u2014 replacing matching keywords with links to the pages you specify. It also links post titles and taxonomy terms automatically.<\/p>\n\n<p>Internal linking is one of the most effective (and most overlooked) SEO strategies. This plugin handles it for you, so you can focus on creating content instead of manually linking every page.<\/p>\n\n<h4>How It Works<\/h4>\n\n<p>The plugin works in three layers, processed in order:<\/p>\n\n<ol>\n<li><strong>Custom Keyword Rules<\/strong> \u2014 You define rules like <code>web design, website design, \/services\/web-design<\/code>. Whenever those keywords appear in your content, the plugin automatically links them to the URL you specified.<\/li>\n<li><strong>Post Title Matching<\/strong> \u2014 The plugin scans your content for mentions of other post\/page titles on your site and links them automatically.<\/li>\n<li><strong>Taxonomy Term Matching<\/strong> \u2014 Category and tag names found in your content are linked to their archive pages.<\/li>\n<\/ol>\n\n<p>Links are inserted at display time \u2014 your actual post content in the database is never modified.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Custom keyword-to-URL rules<\/strong> \u2014 Map any keyword or phrase to any internal URL<\/li>\n<li><strong>Post title auto-linking<\/strong> \u2014 Automatically link mentions of your other posts and pages<\/li>\n<li><strong>Taxonomy auto-linking<\/strong> \u2014 Link category and tag mentions to their archive pages<\/li>\n<li><strong>AI-powered suggestions (optional)<\/strong> \u2014 Use Claude (Anthropic) or OpenAI to scan your site and automatically discover linking opportunities<\/li>\n<li><strong>Smart duplicate prevention<\/strong> \u2014 Prevents the same keyword from being linked multiple times on one page<\/li>\n<li><strong>Configurable link limits<\/strong> \u2014 Set max links per page and per keyword<\/li>\n<li><strong>Heading protection<\/strong> \u2014 Never inserts links inside h1-h6 headings<\/li>\n<li><strong>Image caption protection<\/strong> \u2014 Skips links inside figcaption elements<\/li>\n<li><strong>Self-link prevention<\/strong> \u2014 Never links a page to itself<\/li>\n<li><strong>Dead link prevention<\/strong> \u2014 Automatically skips rules pointing to URLs that do not exist on your site<\/li>\n<li><strong>WooCommerce compatible<\/strong> \u2014 Automatically skips cart, checkout, and account pages<\/li>\n<li><strong>Noindex exclusion<\/strong> \u2014 Optionally exclude noindex posts from being linked to (Yoast and SmartCrawl supported)<\/li>\n<li><strong>Custom post type support<\/strong> \u2014 Works with any public post type<\/li>\n<li><strong>Per-post exclusion<\/strong> \u2014 Disable auto-linking on individual posts via post meta<\/li>\n<li><strong>Case-sensitive or insensitive matching<\/strong><\/li>\n<li><strong>Wildcard URL exclusions<\/strong> \u2014 Exclude entire URL patterns from processing<\/li>\n<li><strong>RSS feed support<\/strong> \u2014 Optionally process RSS feeds<\/li>\n<li><strong>Open in new tab and nofollow options<\/strong><\/li>\n<li><strong>Divi theme compatible<\/strong><\/li>\n<li><strong>Object cache friendly<\/strong> \u2014 Results are cached for performance<\/li>\n<li><strong>Import \/ Export settings<\/strong> \u2014 Move your configuration between sites with a single JSON file<\/li>\n<\/ul>\n\n<h4>AI-Powered Link Discovery (Optional)<\/h4>\n\n<p>The AI feature is completely optional and requires your own API key. You can choose between:<\/p>\n\n<ul>\n<li><strong>Claude (Anthropic)<\/strong> \u2014 Using Claude Sonnet 4 or Claude Haiku 4.5<\/li>\n<li><strong>OpenAI<\/strong> \u2014 Using GPT-4o, GPT-4o Mini, or GPT-4.1<\/li>\n<\/ul>\n\n<p>The AI analyzes your site content inventory and suggests keyword-to-URL rules that you can review and approve before they are applied.<\/p>\n\n<h4>About the Author<\/h4>\n\n<p>BASIX Auto Links is built and maintained by <a href=\"https:\/\/chirobasix.com\/\">CHIROBASIX<\/a>, a chiropractic marketing agency focused on helping practices grow through better websites, SEO, and patient-generation systems. We built this plugin to automate the internal linking work our team does for client sites \u2014 and released it free so any WordPress site can benefit.<\/p>\n\n<p>Learn more about CHIROBASIX at <a href=\"https:\/\/chirobasix.com\/\">https:\/\/chirobasix.com\/<\/a>.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin does NOT connect to any external service by default. All core functionality (keyword rules, post title linking, taxonomy linking) runs entirely on your own WordPress site with no outbound requests.<\/p>\n\n<p>The plugin only connects to an external AI service if you <strong>opt in<\/strong> by entering an API key in the settings and manually clicking the \"Scan Site for Link Suggestions\" button. You can choose one of two providers:<\/p>\n\n<h4>Anthropic Claude API<\/h4>\n\n<p><strong>What the service is and what it is used for:<\/strong> Anthropic's Claude API is a hosted large language model used to analyze your site's published content and suggest keyword-to-URL linking rules.<\/p>\n\n<p><strong>When data is sent:<\/strong> Only when you have entered a Claude API key, selected \"Claude (Anthropic)\" as the AI Provider, and clicked the \"Scan Site for Link Suggestions\" button on the plugin's settings page. No data is ever sent automatically or on a schedule.<\/p>\n\n<p><strong>What data is sent:<\/strong> A one-time request containing your site's home URL, the titles, relative URLs, post types, and short excerpts (approximately 80 words) of your published posts, pages, and custom post types (up to 500 items), plus the names and relative URLs of your public taxonomy terms (up to 100 items). No private content, no user data, no passwords, and no administrative information is sent.<\/p>\n\n<p><strong>Provider links:<\/strong>\n* Anthropic Terms of Service: https:\/\/www.anthropic.com\/legal\/commercial-terms\n* Anthropic Privacy Policy: https:\/\/www.anthropic.com\/legal\/privacy<\/p>\n\n<h4>OpenAI API<\/h4>\n\n<p><strong>What the service is and what it is used for:<\/strong> OpenAI's API is a hosted large language model service used to analyze your site's published content and suggest keyword-to-URL linking rules.<\/p>\n\n<p><strong>When data is sent:<\/strong> Only when you have entered an OpenAI API key, selected \"OpenAI\" as the AI Provider, and clicked the \"Scan Site for Link Suggestions\" button on the plugin's settings page. No data is ever sent automatically or on a schedule.<\/p>\n\n<p><strong>What data is sent:<\/strong> A one-time request containing your site's home URL, the titles, relative URLs, post types, and short excerpts (approximately 80 words) of your published posts, pages, and custom post types (up to 500 items), plus the names and relative URLs of your public taxonomy terms (up to 100 items). No private content, no user data, no passwords, and no administrative information is sent.<\/p>\n\n<p><strong>Provider links:<\/strong>\n* OpenAI Terms of Use: https:\/\/openai.com\/policies\/terms-of-use\n* OpenAI Privacy Policy: https:\/\/openai.com\/policies\/privacy-policy<\/p>\n\n<h3>Step-by-Step Setup Guide<\/h3>\n\n<p>After activating the plugin, follow these steps to get the most out of it:<\/p>\n\n<h4>Step 1: Enable Auto-Linking<\/h4>\n\n<p>Go to <strong>Settings &gt; Auto Links<\/strong>. The \"Enable Automatic Linking\" toggle should already be on. If not, enable it and click <strong>Save Settings<\/strong>.<\/p>\n\n<h4>Step 2: Choose Which Content Types to Process<\/h4>\n\n<p>Under <strong>Content Types to Process<\/strong>, check the boxes for the content types where you want links automatically inserted. Most sites should check <strong>Posts<\/strong> and <strong>Pages<\/strong> at minimum.<\/p>\n\n<h4>Step 3: Choose What to Link To<\/h4>\n\n<p>Under <strong>Link To<\/strong>, select which content types and taxonomies should be used as link targets:<\/p>\n\n<ul>\n<li><strong>Post Types<\/strong> \u2014 Check \"Posts\" and \"Pages\" so that post titles found in your content will be auto-linked. If you have custom post types (like Services or Products), check those too.<\/li>\n<li><strong>Taxonomies<\/strong> \u2014 Check \"Categories\" and \"Tags\" to auto-link category and tag names to their archive pages.<\/li>\n<\/ul>\n\n<h4>Step 4: Add Custom Keyword Rules<\/h4>\n\n<p>This is where the plugin really shines. Under <strong>Custom Keyword Links<\/strong>, add one rule per line in this format:<\/p>\n\n<pre><code>keyword1, keyword2, \/target-url\n<\/code><\/pre>\n\n<p><strong>Examples:<\/strong><\/p>\n\n<pre><code>web design, website design, website development, \/services\/web-design\nSEO, search engine optimization, SEO services, \/services\/seo\ncontact us, get in touch, \/contact\n<\/code><\/pre>\n\n<p><strong>Tips:<\/strong>\n* The last item on each line is always the URL \u2014 everything before it is a keyword.\n* Use relative URLs (starting with \/) so your rules survive domain changes.\n* You can list multiple keyword variations on one line, separated by commas.\n* The plugin automatically skips rules where the target URL does not exist, so you can safely add rules in advance.<\/p>\n\n<h4>Step 5: Configure Link Limits<\/h4>\n\n<p>Under <strong>Link Limits<\/strong>, set:<\/p>\n\n<ul>\n<li><strong>Max links per page<\/strong> \u2014 How many auto-links should appear on a single page (recommended: 10-15).<\/li>\n<li><strong>Max links per keyword<\/strong> \u2014 How many times a single keyword can be linked on one page (recommended: 1-2).<\/li>\n<\/ul>\n\n<h4>Step 6: Review Behavior Settings<\/h4>\n\n<p>The defaults work well for most sites. Key settings to review:<\/p>\n\n<ul>\n<li><strong>Only link on single posts\/pages<\/strong> \u2014 Recommended ON. Prevents links from appearing on archive pages.<\/li>\n<li><strong>Prevent duplicate links<\/strong> \u2014 Recommended ON. Ensures each keyword is only linked once per page.<\/li>\n<li><strong>Do not link inside headings<\/strong> \u2014 Recommended ON. Keeps your headings clean.<\/li>\n<li><strong>Exclude noindex posts<\/strong> \u2014 Recommended ON if you use Yoast or SmartCrawl.<\/li>\n<\/ul>\n\n<h4>Step 7: Set Up Exclusions (Optional)<\/h4>\n\n<p>If there are keywords you never want linked, or specific posts\/pages where auto-linking should be disabled:<\/p>\n\n<ul>\n<li><strong>Ignored keywords<\/strong> \u2014 Enter comma-separated keywords to skip (e.g., <code>home, about<\/code>).<\/li>\n<li><strong>Ignored posts\/pages<\/strong> \u2014 Enter post IDs or relative URLs. Supports wildcards (e.g., <code>\/blog\/*<\/code> to exclude all blog posts).<\/li>\n<\/ul>\n\n<h4>Step 8: Use AI Suggestions (Optional)<\/h4>\n\n<p>If you have a Claude or OpenAI API key:<\/p>\n\n<ol>\n<li>Select your preferred <strong>AI Provider<\/strong> (Claude or OpenAI).<\/li>\n<li>Enter your <strong>API Key<\/strong>.<\/li>\n<li>Choose a <strong>Model<\/strong> (the recommended option balances cost and quality).<\/li>\n<li>Click <strong>Save Settings<\/strong> first, then click <strong>Scan Site for Link Suggestions<\/strong>.<\/li>\n<li>Wait for the AI to analyze your content (this usually takes 30-60 seconds).<\/li>\n<li>Review the suggestions in the table that appears.<\/li>\n<li>Uncheck any suggestions you do not want.<\/li>\n<li>Click <strong>Apply Selected<\/strong> to add the approved rules to your Custom Keywords.<\/li>\n<\/ol>\n\n<h4>Step 9: Save and Verify<\/h4>\n\n<p>Click <strong>Save Settings<\/strong> to save your configuration. Visit your site's frontend and check that links are appearing correctly in your content.<\/p>\n\n<!--section=installation-->\n<h4>Automatic Installation<\/h4>\n\n<ol>\n<li>Go to <strong>Plugins &gt; Add New<\/strong> in your WordPress admin.<\/li>\n<li>Search for <strong>BASIX Auto Links<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>Settings &gt; Auto Links<\/strong> to configure.<\/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> in your WordPress admin.<\/li>\n<li>Upload the ZIP file and click <strong>Install Now<\/strong>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>Settings &gt; Auto Links<\/strong> to configure.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20modify%20my%20post%20content%20in%20the%20database%3F\"><h3>Does this plugin modify my post content in the database?<\/h3><\/dt>\n<dd><p>No. Links are inserted at display time using WordPress content filters. Your actual post content is never changed.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>The plugin uses WordPress object caching to minimize database queries. On most sites, the performance impact is negligible. If you use a persistent object cache plugin (like Redis or Memcached), results are cached even more efficiently.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20auto-linking%20on%20a%20specific%20post%3F\"><h3>Can I disable auto-linking on a specific post?<\/h3><\/dt>\n<dd><p>Yes. Add a custom field with the key <code>_basix_al_exclude<\/code> and any truthy value (like <code>1<\/code>) to any post where you want to disable auto-linking.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20custom%20post%20types%3F\"><h3>Does it work with custom post types?<\/h3><\/dt>\n<dd><p>Yes. Any public custom post type registered on your site will appear in the settings and can be used both as a content source (where links are inserted) and as a link target.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20ai%20api%20key%20to%20use%20this%20plugin%3F\"><h3>Do I need an AI API key to use this plugin?<\/h3><\/dt>\n<dd><p>No. The AI feature is completely optional. The plugin works perfectly with manual keyword rules, post title matching, and taxonomy linking \u2014 no API key required.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20delete%20a%20page%20that%20keyword%20rules%20point%20to%3F\"><h3>What happens if I delete a page that keyword rules point to?<\/h3><\/dt>\n<dd><p>The plugin automatically validates that target URLs exist before inserting links. If a target page is deleted or unpublished, the corresponding rules are silently skipped. No broken links will be created.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20woocommerce%3F\"><h3>Is it compatible with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. The plugin automatically skips WooCommerce cart, checkout, and account pages to avoid interfering with the shopping experience.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20divi%3F\"><h3>Is it compatible with Divi?<\/h3><\/dt>\n<dd><p>Yes. The plugin includes specific compatibility handling for the Divi theme builder.<\/p><\/dd>\n<dt id=\"can%20i%20use%20relative%20urls%20in%20my%20keyword%20rules%3F\"><h3>Can I use relative URLs in my keyword rules?<\/h3><\/dt>\n<dd><p>Yes, and it is recommended. Using relative URLs (like <code>\/services\/web-design<\/code> instead of <code>https:\/\/example.com\/services\/web-design<\/code>) ensures your rules continue to work if you change domains.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Custom keyword-to-URL linking rules.<\/li>\n<li>Automatic post title and taxonomy term linking.<\/li>\n<li>AI-powered link discovery with Claude and OpenAI support.<\/li>\n<li>Import and export settings as JSON for multi-site setups.<\/li>\n<li>Configurable link limits, heading protection, and duplicate prevention.<\/li>\n<li>WooCommerce and Divi compatibility.<\/li>\n<li>Per-post exclusion support.<\/li>\n<li>Dead link prevention with URL validation.<\/li>\n<\/ul>","raw_excerpt":"Automatically insert internal links into your content based on keyword rules, post titles, and taxonomy terms. Boost your SEO with zero manual effort.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/300156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=300156"}],"author":[{"embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/chirobasix"}],"wp:attachment":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=300156"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=300156"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=300156"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=300156"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=300156"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=300156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}