Website Internal Link Optimiser Security & Risk Analysis

wordpress.org/plugins/internal-link-finder

Website Internal Link Finder is a powerful tool that helps you improve internal linking across your site in a professional, efficient, and fully manua …

100 active installs v5.2.7 PHP 7.0+ WP 5.0.0+ Updated Jan 7, 2026
content-managementinternal-linkingseo
98
A · Safe
CVEs total2
Unpatched0
Last CVEApr 16, 2025
Download
Safety Verdict

Is Website Internal Link Optimiser Safe to Use in 2026?

Generally Safe

Score 98/100

Website Internal Link Optimiser has a strong security track record. Known vulnerabilities have been patched promptly.

2 known CVEsLast CVE: Apr 16, 2025Updated 2mo ago
Risk Assessment

The 'internal-link-finder' plugin version 5.2.7 presents a mixed security posture. On the positive side, the plugin demonstrates good practices by exclusively using prepared statements for its SQL queries and generally incorporating nonce and capability checks. The absence of critical or high severity taint flows and dangerous functions is also a strong positive indicator. However, significant concerns arise from the analysis of its entry points and output escaping. A notable portion of its AJAX handlers and, more critically, all of its REST API routes lack permission callbacks, creating a substantial attack surface exposed to unauthenticated users. Furthermore, only 14% of output is properly escaped, leaving it susceptible to cross-site scripting (XSS) vulnerabilities, especially in conjunction with the unprotected entry points.

The vulnerability history, while showing no currently unpatched CVEs, reveals a pattern of past medium severity issues related to Cross-Site Request Forgery (CSRF) and Missing Authorization. The recurrence of 'Missing Authorization' in past vulnerabilities directly aligns with the current static analysis findings of unprotected REST API routes and AJAX handlers, suggesting a persistent vulnerability in access control. The last vulnerability being recent (2025-04-16) is also a point of concern, indicating ongoing security challenges. In conclusion, while the plugin shows strengths in SQL handling and general code hygiene, the significant number of unprotected entry points and poor output escaping, coupled with a history of authorization issues, indicate a moderate to high-risk profile that requires immediate attention.

Key Concerns

  • REST API routes without permission callbacks
  • AJAX handlers without auth checks
  • Low percentage of properly escaped output
  • Past medium severity vulnerabilities (2 total)
Vulnerabilities
2

Website Internal Link Optimiser Security Vulnerabilities

CVEs by Year

2 CVEs in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
2

2 total CVEs

CVE-2025-39547medium · 6.1Cross-Site Request Forgery (CSRF)

Internal Link Optimiser <= 5.1.3 - Cross-Site Request Forgery to Stored Cross-Site Scripting

Apr 16, 2025 Patched in 5.1.4 (6d)
CVE-2025-32243medium · 5.3Missing Authorization

Internal Link Optimiser <= 5.1.2 - Missing Authorization to Unauthenticated Settings Update

Apr 7, 2025 Patched in 5.1.3 (9d)
Code Analysis
Analyzed Mar 16, 2026

Website Internal Link Optimiser Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
1 prepared
Unescaped Output
61
10 escaped
Nonce Checks
4
Capability Checks
11
File Operations
7
External Requests
2
Bundled Libraries
0

SQL Query Safety

100% prepared1 total queries

Output Escaping

14% escaped71 total outputs
Data Flows
All sanitized

Data Flow Analysis

3 flows
wilo_ajax_endpoint (functions\wilo_ajax_endpoint.php:11)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
4 unprotected

Website Internal Link Optimiser Attack Surface

Entry Points9
Unprotected4

AJAX Handlers 5

authwp_ajax_wilo_ajax_endpointfunctions\wilo_ajax_endpoint.php:26
noprivwp_ajax_wilo_ajax_endpointfunctions\wilo_ajax_endpoint.php:27
authwp_ajax_wilo_get_opportunitiesfunctions\wilo_get_opportunities.php:57
noprivwp_ajax_wilo_get_opportunitiesfunctions\wilo_get_opportunities.php:58
authwp_ajax_wilo_remove_keywordsfunctions\wilo_remove_keywords.php:11

REST API Routes 4

POST/wp-json/wilo_dashdetermine_connectionapi\endpoint_determine_connection.php:3
POST/wp-json/wilo_dashget_secret_keyapi\endpoint_get_secret_key.php:3
POST/wp-json/wilo_dashupdate_project_pageapi\endpoint_update_project_page.php:3
POST/wp-json/wilo_dashwilo_pagesapi\endpoint_wilo_pages.php:3
WordPress Hooks 13
actionrest_api_initapi\endpoint_determine_connection.php:2
actionrest_api_initapi\endpoint_get_secret_key.php:2
actionrest_api_initapi\endpoint_update_project_page.php:2
actionrest_api_initapi\endpoint_wilo_pages.php:2
actionwp_enqueue_scriptsenqueue.php:33
actionadmin_enqueue_scriptsenqueue.php:46
actionadmin_menufunctions\wilo_add_backend.php:13
actionadmin_footerfunctions\wilo_add_exit_survey.php:27
actionwp_enqueue_scriptsfunctions\wilo_localise_scripts.php:41
actiontemplate_redirectfunctions\wilo_redirects.php:9
actionadmin_initfunctions\wilo_setup.php:37
actionwp_footertemplates\dashboard.php:41
actionplugins_loadedwilo.php:92
Maintenance & Trust

Website Internal Link Optimiser Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedJan 7, 2026
PHP min version7.0
Downloads11K

Community Trust

Rating82/100
Number of ratings8
Active installs100
Developer Profile

Website Internal Link Optimiser Developer Profile

Toast Plugins

5 plugins · 5K total installs

87
trust score
Avg Security Score
99/100
Avg Patch Time
41 days
View full developer profile
Detection Fingerprints

How We Detect Website Internal Link Optimiser

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/internal-link-finder/assets/css/frontend.css/wp-content/plugins/internal-link-finder/assets/css/tooltip.css/wp-content/plugins/internal-link-finder/assets/css/line-number-textarea.css/wp-content/plugins/internal-link-finder/assets/js/line-number-textarea.js/wp-content/plugins/internal-link-finder/assets/js/dep/mark.min.js/wp-content/plugins/internal-link-finder/assets/js/marker.js/wp-content/plugins/internal-link-finder/assets/js/dep/chart.min.js/wp-content/plugins/internal-link-finder/assets/js/explorer.js+6 more
Script Paths
/wp-content/plugins/internal-link-finder/assets/js/line-number-textarea.js/wp-content/plugins/internal-link-finder/assets/js/dep/mark.min.js/wp-content/plugins/internal-link-finder/assets/js/marker.js/wp-content/plugins/internal-link-finder/assets/js/dep/chart.min.js/wp-content/plugins/internal-link-finder/assets/js/explorer.js/wp-content/plugins/internal-link-finder/assets/js/frontend.js+3 more
Version Parameters
internal-link-finder/assets/css/frontend.css?ver=internal-link-finder/assets/css/tooltip.css?ver=internal-link-finder/assets/css/line-number-textarea.css?ver=internal-link-finder/assets/js/line-number-textarea.js?ver=internal-link-finder/assets/js/dep/mark.min.js?ver=internal-link-finder/assets/js/marker.js?ver=internal-link-finder/assets/js/dep/chart.min.js?ver=internal-link-finder/assets/js/explorer.js?ver=internal-link-finder/assets/js/frontend.js?ver=internal-link-finder/assets/js/tooltip.js?ver=internal-link-finder/assets/css/backend.css?ver=internal-link-finder/assets/js/backend.js?ver=internal-link-finder/assets/js/exit-survey.js?ver=internal-link-finder/assets/css/exit-survey.css?ver=

HTML / DOM Fingerprints

CSS Classes
wilo-dashboardwilo-search-formwilo-search-results-headingwilo-keyword-search-inputwilo-post-search-inputwilo-paginationwilo-active-pagewilo-search-results+32 more
HTML Comments
<!-- WILO Dashboard --><!-- WILO Search --><!-- WILO Opportunities --><!-- WILO No Results -->+3 more
Data Attributes
data-wilo-tooltip-textdata-wilo-id
JS Globals
wiloExplorerwiloFrontendwilo_explorer_translationswilo_translations
REST Endpoints
/wp-json/wilo/v1/pages/wp-json/wilo/v1/update-page/wp-json/wilo/v1/determine-connection/wp-json/wilo/v1/get-secret-key/wp-json/wilo/v1/remove-project-secret-key
FAQ

Frequently Asked Questions about Website Internal Link Optimiser