Description
Smart Internal Links helps you automatically find and insert relevant internal links in your posts. It analyzes your content and suggests opportunities to link to other posts on your site based on keyword matches, giving your SEO a significant boost.
Key Features:
- Bulk Analysis Dashboard: Analyze your entire website or a subset of posts (Latest 25, 50, 100) at once to find internal linking opportunities.
- Smart Link Detection: Automatically finds phrases in your content that match other post titles.
- One-Click Linking: Insert internal links directly from the dashboard with a single click.
- Post Editor Integration: Use the meta box in the Classic editor or the Gutenberg sidebar to analyze and link individually while writing.
- Two-Tab Management: Separate tabs for “Available Links” (suggestions) and “Added Links” (history).
- Intelligent Matching: Prioritizes strong 3-word matches over 2-word matches for better relevance.
- Non-Destructive Injection: Links are stored in the database and rendered at display time — your post content is never modified.
- Configurable Settings: Control maximum links per post, phrase sizes, post types to analyze, and more.
How It Works:
- Analyze: The plugin scans your posts to find phrases that match the titles of other published posts.
- Suggest: It presents the best linking opportunities, showing the keyword, source post, and target post.
- Link: You review the suggestion and click “Add Link” to approve it. The link is then injected into the rendered content automatically.
Screenshots

Dashboard showing stats, available link suggestions with Add Link / Dismiss actions, and bulk analyze controls. 
Gutenberg block editor — the Smart Internal Links panel appears in the Post sidebar. Click Analyze Content to find opportunities and add them with one click. 
Settings tab — configure max links, phrase sizes, and supported post types.
Installation
- Upload the
smart-internal-linksfolder to the/wp-content/plugins/directory. - Activate the plugin through the ‘Plugins’ menu in WordPress.
- Navigate to Internal Links in your admin dashboard (top-level menu item).
- Click Analyze Website to start finding internal links!
FAQ
-
Does it modify my post content?
-
No. Links are stored in the database and injected into the rendered output via the
the_contentfilter. Your actual post content is never touched. -
Does it link automatically?
-
No, the plugin suggests links, but you have full control. You must click “Add Link” to approve them. This ensures you only add relevant links.
-
Can I choose which posts to analyze?
-
Yes! You can choose to analyze the latest 25, 50, 100 posts, or your entire library at once from the dashboard.
-
Where can I find the settings?
-
Navigate to Internal Links in your admin sidebar, then click the Settings tab. You can also analyze individual posts from the meta box inside the post editor.
-
Does it slow down my site?
-
No. The textual analysis is performed on-demand via AJAX in the admin dashboard, so it does not affect your front-end site performance. Link injection is a lightweight in-memory string operation at render time.
-
Which post types are supported?
-
By default, Posts and Pages are supported. You can enable additional public post types from the Settings tab.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Smart Internal Links” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Smart Internal Links” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.0.0
- Rewritten core: migrated from Custom Post Type to a dedicated custom database table for better performance and scalability.
- Added: Gutenberg sidebar integration alongside Classic editor meta box.
- Added: Paginated dashboard tables with bulk add, dismiss, and remove actions.
- Added: Configurable settings (max links per post, phrase sizes, supported post types).
- Added: Non-destructive link injection via
the_contentfilter — post content is never modified. - Added: Automatic data migration from v1.x CPT entries on upgrade.
- Improved: Phrase matching now supports plural/singular word variations.
- Improved: Stopwords list is filterable via
smartinlinks_stopwordsfilter. - Added: Developer filters:
smartinlinks_should_inject_links,smartinlinks_max_links_per_post,smartinlinks_link_html,smartinlinks_analyze_settings,smartinlinks_suggestions.
1.2
- Fixed: WordPress Plugin Directory compliance issues.
- Improved: Input validation and sanitization with wp_unslash().
- Improved: SQL query security with proper prepared statements.
- Fixed: Contributors field to match WordPress.org username.
1.1
- Added “Limit Posts” feature to analyze latest 25, 50, or 100 posts.
- Enhanced dashboard UI with modern design and responsive layout.
- Added database table for better performance.
- Implemented bulk analysis with progress bar.
1.0
- Initial release.
