=== Enesozer Internal Link Suggestions ===
Contributors: enesozer
Tags: internal linking, seo, automated linking, content optimization, keywords
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 1.0.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Analyze post keywords, score related content by transparent keyword overlap, and surface internal link suggestions directly inside wp-admin.

== Description ==

Find related published posts and pages from inside WordPress admin with transparent keyword-overlap suggestions.

**Enesozer Internal Link Suggestions** scans post titles and content, compares keyword overlap with all published posts and pages, and shows matched words plus a score in the editor meta box. The selected link is added as a Related link at the end of the current post content.

= Key Features =
* **Keyword matching:** Shows shared keyword matches and a deterministic score using title, slug and body overlap.
* **Complete candidate search:** Considers all published posts and pages rather than only recent content.
* **Safe link insertion:** Adds a Related link at the end of the current post after a verified POST request.
* **Lightweight & Fast:** Uses native WordPress queries without bloated external database tables or third-party tracking.
* **REST API Endpoints:** Integrated REST API for headless setups and custom editorial workflows.

= Live Interactive Demo =
No public demo is provided with this plugin.

== Installation ==

1. Upload the `enesozer-internal-link-suggestions` folder to the `/wp-content/plugins/` directory, or upload the ZIP file directly via **Plugins > Add New > Upload Plugin**.
2. Activate the plugin through the **Plugins** menu in WordPress.
3. Navigate to **Settings > Enesozer Internal Link Suggestions** to adjust suggestion limits and keyword sensitivities.
4. Open any post or page to view recommended internal links in the sidebar meta box.

== Frequently Asked Questions ==

= Does this plugin slow down my site? =
No. The scoring logic only executes inside the WordPress administration area when editing posts. No queries or assets are loaded on the frontend storefront or public pages.

= Does it automatically alter my published content without my permission? =
No. Suggestions are strictly advisory. Links are only inserted when you explicitly click the "Insert Link" button on a suggested item.

= Does it use AI, detect broken links, or find orphan pages? =

No. It uses keyword overlap only. It does not use an LLM, semantic analysis, broken-link detection or orphan-page detection.

= Is it compatible with PHP 8.x and WordPress 7.1? =
The plugin requires PHP 8.0+ and WordPress 6.4+. It was exercised on WordPress 7.1.1 and PHP 8.3.33.

== Changelog ==

= 1.0.3 =
* Corrected product scope to keyword overlap and removed unsupported semantic/contextual claims.
* Search all published posts and pages; restrict the health endpoint to administrators.
* Updated compatibility test statement.

= 1.0.0 =
* Complete refactor for official WordPress.org Directory compliance.
* Added secure POST-based nonce action for link insertions.
* Upgraded settings permission check to `manage_options`.
* Updated REST API namespace to `enesozer-internal-link-suggestions/v1`.
* Tested and confirmed compatibility with WordPress 6.7.

== Upgrade Notice ==

= 1.0.1 =
Security and query-performance hardening for the WordPress.org review.

= 1.0.0 =
Initial production release for the WordPress.org Plugin Directory.
