AI Internal Links is a revolutionary WordPress plugin that uses artificial intelligence to analyze your content and automatically generate relevant, SEO-optimized internal links.
With just one click, transform your articles into perfectly interlinked content that:

Before generating links, you need to configure your API key:

Note: Don’t have an OpenAI API key? Get one here
Let’s generate your first internal links:

Access settings via Settings → AI Internal Links
| Setting | Description | Recommended Value |
|---|---|---|
| AI Provider | Choose the AI provider to use. Free version: OpenAI only. Pro version: Claude, Gemini, Grok, DeepSeek, Mistral | OpenAI (free) Gemini 2.0 Flash (Pro) |
| Maximum Links | Maximum number of internal links to generate per article. Value between 1 and 20. | 5 links (optimal for SEO) |
| Enable for Post Types | Select content types where the AI Internal Links button will appear. Free version: Posts and Pages. Pro version: all custom post types (WooCommerce, etc.) | Posts + Pages minimum |
| Available Post Types for Linking | Defines which content types can be suggested as link targets. For example, if you check “Products”, the AI can create links to your product pages. | Same as “Enable for Post Types” |
| Setting | Description | Recommendation |
|---|---|---|
| API Key | Your OpenAI API key (starts with sk-). Get an API key | Required to function |
| Model | OpenAI model to use:
| GPT-4o for quality GPT-4o Mini for economy |

Pro Version: Access more powerful AI models like Gemini 2.0 Flash which offers better accuracy for contextual link prediction.
| Setting | Description | Availability |
|---|---|---|
| Additional System Prompt | Customize the instructions given to the AI. Examples: “Prefer links to articles over 1000 words” or “Avoid creating links in headings”. This text is appended to the default system prompt to fine-tune AI behavior according to your needs. | Pro Version Only |

If you purchased the Pro version, a license field appears at the top of settings:
License Status:

Beyond OpenAI, enjoy:
| Provider | Available Models | Advantages |
|---|---|---|
| Claude (Anthropic) | Claude 3.5 Sonnet, Claude 3 Opus | Excellence in contextual understanding |
| Gemini (Google) | Gemini 2.0 Flash, Gemini 1.5 Pro | Best value, very fast |
| Grok (xAI) | Grok Beta, Grok Vision | Advanced semantic analysis |
| DeepSeek | DeepSeek Chat | Excellent for technical content |
| Mistral AI | Mistral Large, Mistral Medium | Optimized for multiple languages |
The AI Internal Links button is integrated directly into the Gutenberg toolbar for a seamless experience.
Elementor and WPBakery Page Builder are fully supported. Generate links in pages created with these visual builders.

Process multiple posts at once!
Perfect for:

Generate links in:
Thanks to the Additional System Prompt field, you precisely control AI behavior:
Usage Examples:
# Prefer recent articles "Favor links to articles published in the last 6 months." # Avoid certain categories "Never insert links to the 'Drafts' category." # Specific link style "Use short anchor text (2-4 words maximum)." # Thematic focus "Prefer links to articles in the same category as the current article."
Automate your internal linking with our REST API.
Pro users benefit from dedicated email support with response within 24 business hours.
AI Internal Links is extensible via WordPress hooks. Here are the main ones:
| Hook | Description | Parameters |
|---|---|---|
aiil_core_init | Executed after plugin core initialization. Allows adding custom integrations. | None |
Usage Example:
add_action( 'aiil_core_init', function() {
// Your custom initialization code
// Ex: load a custom editor
My_Custom_Editor_Integration::init();
} );
| Filter | Description | Parameters |
|---|---|---|
aiil_sanitize_settings | Filter settings after sanitization | $sanitized (array), $input (array) |
aiil_available_providers | Modify the list of available AI providers | $providers (array) |
aiil_supported_post_types | Modify supported content types (where button appears) | $post_types (array) |
aiil_linking_post_types | Modify content types available as link targets | $post_types (array) |
aiil_available_links_args | Modify query arguments for retrieving available links | $args (array), $exclude_post_id (int) |
aiil_provider_settings | Filter settings sent to AI provider before generation | $settings (array), $provider_name (string) |
aiil_generated_suggestions | Modify suggestions generated by AI before return | $suggestions (array), $content (string), $post_id (int) |
aiil_content_with_links | Filter content after link insertion | $content (string), $suggestions (array), $post_id (int) |
1. Limit links to articles in same category:
add_filter( 'aiil_available_links_args', function( $args, $exclude_post_id ) {
// Get current post categories
$categories = wp_get_post_categories( $exclude_post_id );
if ( ! empty( $categories ) ) {
$args['category__in'] = $categories;
}
return $args;
}, 10, 2 );
2. Add custom post type to supported types:
add_filter( 'aiil_supported_post_types', function( $post_types ) {
$post_types[] = 'portfolio'; // Your CPT
return $post_types;
} );
3. Modify link count based on content type:
add_filter( 'aiil_provider_settings', function( $settings, $provider_name ) {
// More links for long articles
global $post;
if ( $post && str_word_count( strip_tags( $post->post_content ) ) > 1500 ) {
$settings['max_links'] = 10;
}
return $settings;
}, 10, 2 );
4. Exclude certain links from suggestions:
add_filter( 'aiil_generated_suggestions', function( $suggestions, $content, $post_id ) {
// Remove links to specific pages
$excluded_urls = [
get_permalink( 123 ),
get_permalink( 456 )
];
return array_filter( $suggestions, function( $suggestion ) use ( $excluded_urls ) {
return ! in_array( $suggestion['url'], $excluded_urls );
} );
}, 10, 3 );
5. Log all link generations:
add_filter( 'aiil_content_with_links', function( $content, $suggestions, $post_id ) {
// Log to custom file
error_log( sprintf(
'[AI Internal Links] %d links generated for post #%d',
count( $suggestions ),
$post_id
) );
return $content;
}, 10, 3 );
| Function | Description | Return |
|---|---|---|
AIIL_Core::get_setting( $key, $default ) | Retrieve a plugin setting | mixed |
AIIL_Core::update_setting( $key, $value ) | Update a setting | bool |
AIIL_Core::is_premium_active() | Check if Pro version is installed | bool |
AIIL_Core::is_licence_active() | Check if Pro license is active | bool |
AIIL_Core::get_available_providers() | List all available AI providers | array |
AIIL_Core::log( $message, $level ) | Log a message (if logging enabled) | void |
Usage Example:
// Check if Pro is active before using Pro feature
if ( AIIL_Core::is_licence_active() ) {
// Use Pro function
$custom_prompt = AIIL_Core::get_setting( 'additional_system_prompt' );
}
// Get configured max links
$max_links = AIIL_Core::get_setting( 'max_links', 5 );
The plugin is free, but you’ll need an API key from your chosen AI provider (OpenAI, Claude, etc.). Costs vary based on usage:
No! The plugin never overwrites existing links. It analyzes unlinked text and only adds new links in areas without links.
Currently, links are inserted automatically. However, you can always use Ctrl+Z (or Cmd+Z on Mac) to undo the operation immediately after.
Yes! The plugin works with all translation plugins (WPML, Polylang, etc.). The AI automatically adapts to the content language.
Between 5 and 15 seconds depending on:
Absolutely! The AI is trained to:
No. Generation only happens when you click the button, in the admin area. No impact on frontend performance.
The plugin requires a minimum of 2-3 published articles to start generating relevant links. The more content you have, the better the results.
aiil_available_links_args filter, you can exclude certain weak content.Documentation: ai-internal-links.com/docs
Free Support: WordPress Forum (48-72h response)
Pro Support: support@ai-internal-links.com (24h business hours response)
Official Website: ai-internal-links.com
€39 – Lifetime License • Free Updates
Pro Features:
Start with the free version and see results in minutes. Upgrade to Pro when you need bulk processing, multiple AI providers, and advanced features.
Lock your VIP price NOW before it’s gone forever!
Lifetime licence for AI Internal Links.
Code: LIFETIME20