=== DMValdez Link Builder ===
Contributors: donaldmvaldez
Tags: internal links, seo, link building, auto linking, broken links
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.3.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Complete internal link management for WordPress. Auto-inject links, fix orphan pages, monitor 404s, and manage rules, all from the admin.

== Description ==

DMValdez Link Builder is a complete internal link management suite for WordPress. It automatically finds linking opportunities in your content, helps you fix orphan pages, monitors broken links, and lets you manage auto-linking rules, all from the WordPress admin.

**Features:**

* Smart keyword matching with whole-word and case-sensitive options
* Auto-inject links into Classic Editor and Gutenberg posts
* Batch broken-link (404) checker for external URLs
* Orphan page detection and suggested linking opportunities
* Per-post override settings (disable auto-links on specific posts)
* Import rules from Link Whisper, WP Internal Links, or CSV
* Full settings panel: link limits, rel attributes, post type filters, exclusions

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/dmvaldez-link-builder` directory, or install via the WordPress plugin screen.
2. Activate the plugin through the **Plugins** screen in WordPress.
3. Navigate to **DMValdez Link Builder** in the admin menu to configure settings and add your first rules.

== Frequently Asked Questions ==

= Does this work with Gutenberg? =

Yes. The meta box in the post editor works with both Gutenberg (Block Editor) and the Classic Editor.

= Will it slow down my site? =

Auto-link injection happens in the post content filter and is cached. The scanning features run only in the admin and on demand.

== Changelog ==

= 1.3.4 =
* WP.org compliance: fixed phpcs:ignore placement for multi-line SQL strings; switched to phpcs:disable/enable blocks for IN() clause patterns; added esc_sql() to check_broken_batch table variable; added NoCaching ignore to update/delete methods

= 1.3.3 =
* WP.org compliance: replaced raw script tags with wp_add_inline_script(); corrected Contributors username

= 1.3.2 =
* WP.org compliance: esc_sql() on all table-name variables, sanitize_text_field() on nonce input, wp_kses_post() on post content input
* Fix i18n: corrected translators comment placement for PHPCS compliance
* Added phpcs:ignore annotations for DirectDatabaseQuery and dynamic IN() clause patterns (standard accepted practice for custom-table plugins)

= 1.3.1 =
* Renamed plugin to DMValdez Link Builder
* Fixed Classic Editor "Scan Draft for Links" content detection bug
* WP.org compliance: corrected text domain, added GPL license declaration, improved input sanitization
* UI polish across all 6 admin pages: contextual guides, stat insights, pro banners, improved button labels

= 1.3.0 =
* Added Settings page (link limits, rel attributes, post type filters, exclusions)
* Added 404 Error Monitor with batch broken-link checking
* Redesigned Import Rules modal with CSV upload support
* Batch site scanning with AJAX progress bar

= 1.0.0 =
* Initial release

== Upgrade Notice ==

= 1.3.4 =
Recommended update. Fixes remaining PHPCS annotations for WP.org automated scan compliance.

= 1.3.3 =
Recommended update. Fixes script enqueueing for WP.org compliance.

= 1.3.2 =
Recommended update. Improves input sanitization and SQL escaping for WP.org security compliance.

= 1.3.1 =
Recommended update. Fixes a bug in the Classic Editor meta box, improves WP.org compliance, and polishes the admin UI.
