=== Citerank AI Visibility ===
Contributors: citerank
Tags: seo, ai, schema, llms.txt, ai overview, citation
Requires at least: 5.3
Tested up to: 6.7
Requires PHP: 7.4
Stable tag: 1.4.2
License: GPL-2.0-or-later

Connect your WordPress site to Citerank for AI search visibility auditing and one-click fix deployment.

== Description ==

Citerank AI Visibility connects your WordPress site to your Citerank account. Once connected, Citerank can:

* Audit every page and post for AI visibility issues
* Deploy JSON-LD schema directly to individual pages
* Write your llms.txt file to your site root
* Add AI crawler directives to robots.txt
* Deploy WebMCP toolcatalog and A2A agent discovery files
* Show before/after signal changes after each fix
* Notify Citerank automatically when you publish or update posts (post-update webhook)

No competitor does this. Most SEO tools tell you what's wrong and stop there. Citerank closes the loop.

== Installation ==

1. Download citerank-ai.zip from your Citerank dashboard
2. In WordPress Admin → Plugins → Add New → Upload Plugin
3. Upload the zip and activate
4. Go to Settings → Citerank AI
5. Copy your API key and paste it into Citerank

== Changelog ==

= 1.4.2 =
* Fix: cr_analyze now returns confidence_score (0-100 int) — dashboard no longer shows "0% confidence" for all pages
* Fix: cr_analyze now returns schema_data.faqs, schema_data.entities, schema_data.seo_meta — Page Intelligence panel fully populated
* Fix: cr_analyze now returns extracted.has_hours, extracted.has_author, extracted.has_image, extracted.word_count, extracted.headings_count, extracted.emails — all extraction badges now work
* Fix: cr_analyze now returns signals[] array and alternatives[] — signal chips and alternative type chips now visible
* Fix: cr_status now returns site_description — ai-agents.txt generator now pre-fills site description
* Fix: deployPotentialAction now uses entity_schema type (not schema + post_id:0 which always returned "post_id required")
* Added: email extraction via regex in cr_analyze

= 1.4.1 =
* Fix: cr_log now stores value_hash (md5) instead of truncated value — health checks no longer report false "modified" for schemas longer than 300 chars
* Fix: cr_health uses value_hash for comparison with fallback for legacy log entries
* Fix: llms_txt health "deployed" flag now reads deployment log, not robots option
* Fix: cr_batch_deploy validates @context/@type (same rigor as cr_deploy)
* Fix: MCP citerank_deploy_schema tool enum aligned to plugin type names (robots_txt, entity_schema)
* Fix: applyPageHealthDots reads item.issue (v1.4.0 shape) with item.status fallback

= 1.4.0 =
* cr_analyze rebuilt: real meta description from Yoast/RankMath/AIOSEO, extracted phone strings, address strings, price values, actual FAQ Q+A pairs, WooCommerce product data (price/SKU/stock/rating), slug+template signal detection, 12-type schema classification with confidence + reason
* cr_health rebuilt: separate post_checks + file_checks + option_checks; file existence + content hash comparison for llms.txt, a2a.json, toolcatalog.json; robots.txt line-by-line rule verification; entity schema + WebMCP option checks; structured overall score

= 1.3.0 =
* Added post-update webhook: fires to Citerank automatically when a post is published or updated
* Added /webhook-url REST endpoint (GET + POST) so dashboard can register/remove the webhook
* Webhook status shown in WP admin settings page
* Fixed Plugin URI to citerank.com
* Version constants unified

= 1.2.0 =
* Batch schema deploy: analyze and deploy schema for many pages at once
* WebMCP form attribute injection via footer JS snippet
* A2A agent discovery (/.well-known/a2a.json) deploy
* ai-agents.txt deploy
* potentialAction schema deploy to homepage
* Speakable markup support

= 1.1.0 =
* Schema revert: restore exact previous state for every deployment
* Deployment log with 200-entry cap and has_backup flag
* SEO plugin detection (Yoast, RankMath, AIOSEO, SEOPress)

= 1.0.0 =
* Initial release
