=== Link Weaver ===
Contributors: yodsira
Tags: internal links, linking, seo, orphan content, link suggestions
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Smart internal linking: relevant link suggestions in the editor, HTML-safe one-click insertion and an orphan-content report. Manual mode - nothing is auto-replaced.

== Description ==

Internal linking is the cheapest SEO win nobody has time for. Link Weaver keeps it manual and transparent, like the whole Yodsira line:

* **Suggestions, not surprises.** A metabox in the post editor lists up to 10 relevant posts, scored by shared title words. You see exactly what will be linked and where.
* **HTML-safe insertion.** One click wraps the first safe occurrence of the matching phrase. Links are never created inside existing links, and never inside tags - the HTML structure is walked token by token.
* **Orphan report.** Every published post with zero incoming internal links, in one list. Real content only - navigation menus and attachments are ignored.
* **Manual by default.** The free version never replaces anything automatically. You approve every link.

The Pro version adds keyword autolink pairs (phrase -> URL, applied on save), per-post link limits and minimum distance between links, exclusion zones (headings, quotes, code), a lightweight click report for internal links and bulk application of suggestions to all old posts in batches of 20.

== Installation ==

1. Upload the `link-weaver` folder to `/wp-content/plugins/` or install the ZIP via Plugins - Add New.
2. Activate, then edit any post: the "Suggest internal links" metabox loads asynchronously.
3. Open Tools - Link Weaver for the orphan-content report.

== Frequently Asked Questions ==

= Does it change my content automatically? =

No. The free version only inserts links you explicitly click. Autolink pairs are a Pro feature and respect the limits you configure.

= I inserted a link but the editor still shows old content? =

Insertion writes to the database immediately. If the post is open in the editor, refresh before saving, otherwise your editor copy would overwrite the inserted link.

= How are suggestions picked? =

Words from published posts' titles (longer than 4 characters, stopwords removed) are matched against your post's text; posts with at least two hits are ranked by score.

== Changelog ==

= 1.0.0 =
* Initial release: suggestion metabox, HTML-safe insertion, orphan report.
