=== Schema Conflict Auditor ===
Contributors: kitmobley
Tags: schema, json-ld, seo, structured data, rich results
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Diagnose duplicate and conflicting JSON-LD schema on your WordPress site without ripping out Yoast, Rank Math, or your theme.

== Description ==

Most WordPress sites have at least two sources of schema markup competing with each other. Yoast emits Organization schema. Your theme emits another. WooCommerce adds Product schema. A schema plugin bolts on a third layer. Google Search Console flags rich-result errors and you have no idea which plugin is fighting which.

**Schema Conflict Auditor** scans the rendered HTML of your site, extracts every JSON-LD block, and reports conflicts with source attribution so you know exactly what to disable or reconfigure.

= What it detects =

* Duplicate root entities (multiple `Organization`, `LocalBusiness`, `WebSite` blocks)
* Competing article types (`Article` + `NewsArticle` + `BlogPosting` on the same page)
* Duplicate `BreadcrumbList`, `FAQPage`, `Product`, and `WebPage` blocks
* Missing `@id` references between related entities
* Malformed JSON-LD that Google will silently drop

= What it identifies =

Each conflict is tagged with its likely source:

* Yoast SEO
* Rank Math
* All in One SEO
* SEOPress
* WooCommerce
* Schema Pro / Schema & Structured Data for WP
* Theme-emitted (generic)

= Who this is for =

Agencies, SEO consultants, and site owners who need to diagnose why Google Search Console shows rich-result errors without running a full audit or replacing their SEO plugin.

= Free version =

* Manual scan of your homepage, sample posts, sample pages, sample products
* Full conflict report with source identification
* Severity classification (error / warning / info)
* Per-URL detail view

= Pro (activate with a license from kitmobley.com) =

* **Auto-merger** — dedupes competing entities into one canonical `@graph` per URL, reconciles cross-entity `@id` references, collapses article-family types to the most specific
* Copy-paste or download the merged JSON-LD as a `.json` file
* Automatic plugin updates from kitmobley.com
* Priority support (reply-by-Kit inbox)

= Coming in later Pro versions =

* Per-post schema overrides
* Weekly cron audits with email alerts
* Google Rich Results validation integration
* Agency dashboard: audit 25+ sites from one panel

Solo Pro is $79/yr for 1 site. Agency Pro is $299/yr for 25 sites. Buy at https://kitmobley.com/plugins/schema-conflict-auditor/

== Installation ==

1. Upload the plugin ZIP through **Plugins > Add New > Upload Plugin**, or extract to `/wp-content/plugins/schema-conflict-auditor/`
2. Activate through the **Plugins** menu
3. Go to **Tools > Schema Conflict Auditor** and click **Run Audit**

== Frequently Asked Questions ==

= Do I need to disable Yoast or Rank Math? =

No. This plugin is a diagnostic layer. It reads what other plugins emit and tells you where they conflict. You keep your existing setup.

= Does this modify my schema? =

The free version is read-only. It scans, reports, and never touches your database or output. The Pro version (coming soon) offers optional auto-merging.

= How does it identify sources? =

By pattern-matching HTML comments (`<!-- Yoast SEO -->`), `@id` conventions, and known structural fingerprints of major SEO plugins and themes.

= Will it slow down my site? =

No. The audit runs on-demand from your admin dashboard against your own URLs. It does not run on frontend requests.

== Screenshots ==

1. Audit report showing conflicts per URL
2. Conflict detail view with source attribution
3. Settings panel

== Changelog ==

= 1.1.0 =
* Pro tier: one-click auto-merger — dedupes competing entities into a single canonical @graph
* Pro tier: merged output can be copied or downloaded as .json
* License activation UI with weekly re-validation cron
* Automatic update polling of kitmobley.com update server
* Admin UI now tabs: Audit / License / Settings
* Merger reconciles broken @id references between related entities
* Merger collapses article-family (Article/NewsArticle/BlogPosting) to the most specific type
* Free tier unchanged — audit remains 100% free forever

= 1.0.0 =
* Initial release
* JSON-LD extraction and normalization
* Duplicate entity detection
* Source identification for Yoast, Rank Math, AIOSEO, SEOPress, WooCommerce, Schema Pro
* Admin scan runner + report table

== Upgrade Notice ==

= 1.1.0 =
Adds a Pro tier with a one-click auto-merger. Free tier still free forever.

= 1.0.0 =
First release. Install and run **Tools > Schema Conflict Auditor > Run Audit**.
