=== citelayer® – AI SEO & Visibility | llms.txt, Bot Analytics, Schema.org ===
Contributors: jyria
Tags: ai-seo, llms-txt, ai-bot-tracker, schema, ai-visibility
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.11.1
License: GPL-2.0+
License URI: http://www.gnu.org/licenses/gpl-2.0.txt

Get found by ChatGPT, Perplexity & AI search. AI Visibility, llms.txt, Schema.org — make your site the answer AI recommends.

== Description ==

**AI is changing how people find your website.** Tools like ChatGPT, Perplexity, Gemini, and AI Overviews are replacing traditional search for millions of users. If AI can't find your content, you're invisible to a growing audience.

citelayer® makes your WordPress site visible to AI — instantly. No coding, no configuration. Install, activate, done.

= 🤖 AI Bot Analytics — Know Who's Crawling Your Site =

Track automated AI crawler requests and human AI referral visits separately. See which AI platforms send actual users to your site, and watch the bot traffic that's discovering your content for those platforms.

* **67 AI/LLM Bots Tracked** — GPTBot, ClaudeBot, PerplexityBot, Google-Extended, DeepSeekBot, xAI-Bot, Meta-ExternalAgent, and 60 more
* **Real-Time Dashboard** — Stat cards (7d/30d/90d/all-time), 30-day SVG trend chart, top bots leaderboard
* **AI Blind Spots** — Discover pages invisible to AI bots with AI Discovery Score (0-100). Find and fix content gaps
* **Crawler Logs** — Full log with filtering by bot, URL path, and date range. Paginated for large datasets
* **CSV Export** — Download your bot data for offline analysis
* **Cache Plugin Detection** — Auto-detects WP Rocket, LiteSpeed, W3 Total Cache, WP Super Cache. Provides setup guides to exclude AI bots from caching
* **90-Day Auto-Cleanup** — Keeps your database lean. No bloat, no maintenance
* **100% Local** — All data stored in your WordPress database. No external accounts, no API calls

= 🔍 Get Found by AI Search Engines =

Your site gets an llms.txt file — a new standard that tells AI crawlers what your site is about, what content you publish, and what products you sell. Think of it as robots.txt, but for AI.

= 📊 Speak AI's Language with Schema.org =

Automatically generates structured data (JSON-LD) that AI agents actually understand — your organization info, articles, products, and more. Better structured data = better AI recommendations.

= 📄 Serve Clean Content to AI Agents =

When ChatGPT or Perplexity visit your page, citelayer® serves an optimized Markdown version instead of messy HTML. This uses 80% fewer tokens and gives AI a crystal-clear picture of your content.

= 🛡️ Stay in Control of Your Content =

Configure how AI systems may use your content — allow or deny training, search indexing, and RAG/context usage. Your content, your rules.

= 🛒 Works with WooCommerce =

If you run a shop, citelayer® makes your products visible to AI:

* Product data automatically included in llms.txt
* Product Schema.org markup generated
* Product pages served as structured Markdown tables
* AI agents can discover available shop capability status via UCP Discovery

= 📈 Why AI Visibility Matters Now =

* **58% of online searches** will involve AI by the end of 2026
* Generative Engine Optimization (GEO) and Answer Engine Optimization (AEO) are the next evolution of SEO
* Sites without AI-readable content are **invisible** to ChatGPT, Claude, Perplexity, and AI Overviews
* citelayer® is the easiest way to make your WordPress site AI-ready

= ✅ Free vs. Premium =

The free plugin covers everything you need to get started:

✅ llms.txt generation
✅ Schema.org markup (Organization, WebSite, Article, Product)
✅ Markdown for AI agents
✅ Content-Signal headers
✅ WooCommerce product visibility in llms.txt, Schema.org, and Markdown
✅ AI Bot Analytics (67 bots, dashboard, AI Blind Spots, CSV export)
✅ AI Referral Tracking (Visits from ChatGPT, Perplexity, Claude, Gemini, Copilot, DeepSeek, Mistral, Grok, and more)
✅ AI Readiness Scanner with Topic Coverage and Brand Demand signal guidance
✅ Cache plugin detection & setup guides

**Premium adds:**

🚀 WooCommerce add-on support for AI product discovery and controlled cart/checkout handoff
📈 AI Visibility Monitoring Dashboard
🔧 Advanced Schema.org (Reviews, FAQ, Shipping)
🛒 Product feed optimization

Full autonomous UCP shopping support is planned separately and is not claimed by the free plugin.

[Learn more about Premium →](https://citelayer.ai/premium/)

**Get your AI Audit**
citelayer® offers thorough AI Visibility Audits as a Service.
[We help you become visible](https://citelayer-ai.com/)


== Installation ==

1. Upload the plugin files to `/wp-content/plugins/citelayer/` or install via WordPress plugin installer
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Go to citelayer → Dashboard in your admin sidebar to explore all features
4. Visit `/llms.txt` on your site to verify output
5. Check citelayer → Bot Analytics to see AI crawler activity (data appears automatically)

== Frequently Asked Questions ==

= Do I need technical knowledge to use this? =

No. Install the plugin, activate it, and it works immediately. Bot tracking starts automatically in the background. There are optional settings if you want to fine-tune, but the defaults work great for most sites.

= Will this help my site rank better in Google? =

Yes! The Schema.org markup improves how search engines understand your content. Plus, as Google integrates more AI into search results (AI Overviews), having AI-readable content helps you appear in those new formats. citelayer® detects Yoast SEO and Rank Math to avoid duplicate Schema.

= What is llms.txt? =

llms.txt is a new standard (similar to robots.txt) that helps AI systems understand your site. It tells AI crawlers what your site is about, what content you have, and what services you offer. More AI tools are starting to look for this file.

= How does Bot Analytics work? =

citelayer® checks every incoming request against 62 known AI/LLM bot User-Agent strings. When a match is found, the visit is logged to a custom database table with timestamp, bot name, category, and URL path. This runs silently in the background — no configuration needed.

= What are AI Blind Spots? =

AI Blind Spots shows you pages on your site that have NOT been visited by any AI bot within a selected time period (7/30/90/365 days). Each page gets an AI Discovery Score (0-100) based on content length, title quality, excerpt, featured image, and age. Low scores indicate pages that need optimization.

= Which AI bots does citelayer® track? =

citelayer® tracks 67 AI/LLM bots from major providers:

* **OpenAI:** GPTBot, ChatGPT-User, OAI-SearchBot
* **Anthropic:** ClaudeBot, Claude-Web, Claude-SearchBot
* **Google:** Google-Extended, Gemini-Deep-Research, GoogleAgent-Mariner
* **Perplexity:** PerplexityBot, Perplexity-User
* **Meta:** Meta-ExternalAgent, Meta-ExternalFetcher, FacebookBot
* **xAI / DeepSeek / Mistral / Amazon / Cohere / HuggingFace** and many more

= Will this slow down my site? =

Not at all. Bot detection adds less than 0.01 seconds per request. Dashboard stats are cached (5-minute transients). Everything else is aggressively cached — llms.txt refreshes every 24 hours, Schema every 7 days. AI-specific features only activate when an AI agent visits, not for regular users.

= Does citelayer® track human visitors? =

Bot Analytics logs identified AI/LLM bot requests. The AI Referrals tab also stores a minimal local event when a browser arrives with a known AI referrer or `utm_source`; this is used only to show AI click-through visits in your WordPress database. No external telemetry, accounts, or profiling are used.

= What is GEO / AEO? =

GEO (Generative Engine Optimization) and AEO (Answer Engine Optimization) are the next evolution of SEO. Instead of optimizing for Google's blue links, you optimize for AI-generated answers. citelayer® handles the technical foundation so your content can appear in AI responses.

= Can I control how AI uses my content? =

Yes. citelayer® supports Content-Signal headers (contentsignals.org) that let you set rules:
* Allow or deny AI training on your content
* Allow or deny search indexing
* Allow or deny use in AI responses (RAG)

Default: Training denied, search and AI responses allowed.

= What is UCP? =

UCP (Universal Commerce Protocol) is an emerging commerce protocol for helping AI agents discover product and shop capabilities. The free plugin exposes discovery data; paid commerce add-ons can add product discovery and controlled cart/checkout handoff when enabled. Full autonomous UCP shopping support is planned separately and is not claimed by the free plugin.

= Does citelayer® work with caching plugins? =

Yes! Bot detection happens at the WordPress level before page caching. The Cache Config tab in Bot Analytics auto-detects WP Rocket, LiteSpeed Cache, W3 Total Cache, and WP Super Cache — and shows you exactly how to exclude AI bots from your cache for better tracking accuracy.

= What happens to old bot data? =

A daily cron job automatically deletes bot visit records older than 90 days to prevent database bloat. This is configurable via the `citelayer_bot_analytics_cleanup_days` filter.

== Screenshots ==

1. Bot Analytics Dashboard — stat cards, 30-day trend chart, top bots leaderboard
2. AI Blind Spots — pages invisible to AI with Discovery Score
3. Crawler Logs — filtered bot visit history with CSV export
4. Cache Config — auto-detected cache plugin with setup guide
5. Settings page with all configuration options
6. Example llms.txt output
7. Schema.org markup in page source
8. Markdown response for AI agents

== Changelog ==

= 1.11.1 =
* FIX: llms.txt diagnostics now recognize Rank Math Enhance-mode output that contains the Citelayer enhancement marker, so it is no longer misreported as a physical shadow file.
* FIX: Endpoint diagnostics now reserve "Physical file detected" for confirmed root llms.txt/llms-full.txt files and use neutral wording when another generator or server rule serves the public endpoint.

= 1.11.0 =
* NEW: Compatibility mode now detects Rank Math AI Visibility and explains how it complements Citelayer's AI-readable site infrastructure.
* NEW: WebMCP context now exposes safe Rank Math AI Visibility integration metadata when available, without copying Rank Math scores, brands, competitors, or query transcripts.
* IMPROVEMENT: Compatibility wording now distinguishes external AI brand monitoring from local bot/referral evidence, llms.txt, Markdown, Schema.org, WebMCP, and UCP delivery signals.

= 1.10.2 =
* FIX: Bot Analytics now exposes a local Claude, Perplexity, and Gemini self-check for bot User-Agent, referrer, and UTM matching.
* IMPROVEMENT: AI Referrals now keeps a privacy-minimal recent signal diagnostic log for accepted, rejected, and deduplicated endpoint attempts.
* IMPROVEMENT: AI Referrals and Crawler Logs now explain repeated AI-search behavior more explicitly, including cached/indexed answers and missing browser referrers.

= 1.10.1 =
* FIX: AI Referrals now resolves known AI sources server-side from referrer and UTM signals, with stricter host matching and expanded source coverage.
* IMPROVEMENT: Bot Analytics now explains crawler activity, external AI visibility/citations, and human AI referrals as separate signals.
* IMPROVEMENT: AI Referrals empty state now shows tracking diagnostics and practical checks for REST, frontend script, referrer/UTM, cache/consent/CSP blockers.

= 1.10.0 =
* NEW: Schema settings now explain what each Schema Types toggle controls, when to keep the recommended defaults, and how Enhance Mode treats existing SEO plugin graph data.
* NEW: Organization Schema type selection is now hierarchical, showing more specific Schema.org subtypes only when they apply and saving the final selected subtype for JSON-LD output.
* IMPROVEMENT: Local-business-specific Schema fields now appear dynamically for location-based Organization types.

= 1.9.0 =
* NEW: AI Readiness Scanner adds Brand Demand Signals guidance, checking local brand entity/profile readiness while clearly marking real brand search volume as an external audit signal.
* IMPROVEMENT: Scanner results can link administrators to the AI Visibility Audit for measured brand-search-demand analysis.

= 1.8.0 =
* NEW: AI Readiness Scanner adds a Topic Coverage check for distinct H2/H3 subtopics and internal topic-cluster links.
* NEW: Organization sameAs settings now provide dedicated YouTube and Reddit profile fields and prioritize them before additional profiles.
* IMPROVEMENT: Markdown settings now highlight deep content discovery so evergreen guides, documentation, and other useful pages stay available to AI agents.

= 1.7.2 =
* FIX: WebMCP now exposes UCP as discovery metadata only, so WooCommerce presence no longer implies product catalog, cart, checkout, or Full UCP support.
* FIX: UCP Discovery now publishes explicit capability status and documented filters for active, licensed commerce add-ons.
* IMPROVEMENT: llms.txt discovery links now describe UCP/WebMCP as capability-status metadata instead of shipped autonomous shopping support.

= 1.7.1 =
* FIX: Premium/UCP wording now distinguishes shipped discovery and controlled cart/checkout handoff from future Full UCP support.
* FIX: UCP discovery upgrade messaging no longer claims Full UCP support before the Woo add-on milestone is complete.

= 1.7.0 =
* NEW: Schema settings now support explicit site identity selection between Organization and Person, with valid Schema.org Organization subtypes and person role presets.
* NEW: Organization/Person identity fields, social profiles, contact details, address, local-business geo/opening-hours, expertise, and JSON-LD preview are editable directly in the Citelayer admin.
* IMPROVEMENT: Plain Yoast SEO and Yoast SEO Premium no longer disable Citelayer identity schema fields; overlapping local identity fields are delegated only when Yoast Local SEO is active.
* FIX: Rank Math, Yoast, and All in One SEO schema enhancement now merges the active site identity into existing Organization, LocalBusiness, or Person graph nodes without duplicate identities.
* FIX: Cached SEO plugin detection is validated against currently active plugins so a recently disabled Yoast Local SEO add-on cannot keep Citelayer in local-identity defer mode.

= 1.6.1 =
* FIX: Yoast llms.txt saves are now re-enhanced automatically in Compatibility Enhance mode, keeping Citelayer additions visible after Yoast regenerates its physical llms.txt file.
* FIX: llms.txt diagnostics no longer classify an intentionally enhanced Yoast static file as stale shadow output when it contains the Citelayer footer.

= 1.6.0 =
* NEW: llms.txt admin diagnostics now include a manual "Check again" action that clears stale endpoint status and re-runs live public/fallback checks.
* NEW: Admins can download a backup of physical root llms.txt/llms-full.txt shadow files and remove those exact files safely from the llms.txt screen.
* IMPROVEMENT: Endpoint diagnostics now expose machine-readable reason codes and show clearer copy for static-file shadowing, missing UTF-8 charset, and blocked public routes.

= 1.5.9 =
* FIX: llms.txt diagnostics now detect stale static or SEO-generated root files that shadow Citelayer output, compare public endpoints with the Citelayer fallback generator, and show Content-Type, charset, and Citelayer footer details.
* FIX: Replace-mode remediation now clears both root llms.txt and llms-full.txt shadow files, and /.well-known/llms.txt routes to the Citelayer generator instead of falling through to the homepage.

= 1.5.8 =
* FIX: Compatibility Mode notices can now be dismissed reliably on the WordPress Plugins screen. The notice CSS and JavaScript are loaded before notices render, and dismissals persist per admin user.

= 1.5.7 =
* FIX: AI Readiness Scanner now distinguishes a blocked public /llms.txt URL from a broken generator when the Citelayer fallback endpoint still returns valid content.
* IMPROVEMENT: llms.txt admin status now checks both /llms.txt and /llms-full.txt, shows canonical and fallback HTTP results, and points admins to server/CDN/WAF rules when public .txt paths are blocked before WordPress.
* CHORE: PHPUnit composer script now runs with the documented 512M memory limit so the committed WordPress and WooCommerce stubs load reliably.

= 1.5.6 =
* IMPROVEMENT: Tested and compatible with WordPress 7.0, with a full WordPress Plugin Check compliance pass (coding standards, input sanitization, database query safety).
* FIX: No longer outputs a duplicate Organization schema node when running alongside Rank Math, Yoast SEO, or All in One SEO — citelayer now merges its data into the active SEO plugin's schema graph instead of adding a second node.
* FIX: Markdown (.md) endpoint now resolves all public content — posts, custom post types, and products — not just pages.
* IMPROVEMENT: WooCommerce and Easy Digital Downloads functional pages (cart, checkout, account) are now excluded from llms.txt and Markdown output, reducing noise for AI crawlers.
* FIX: WebMCP context endpoint (/.well-known/mcp/context.json) now returns the correct application/json content type so strict AI/MCP clients accept the response.
* FIX: llms.txt discovery links (UCP, WebMCP) now point to the correct registered endpoints.
* FIX: Markdown output is now restricted to published content only (defense-in-depth hardening).

= 1.5.5 =
* FIX: WooCommerce product Markdown export no longer fails in background tasks or contexts where the product is referenced by ID rather than loaded as an object.

= 1.5.4 =
* IMPROVEMENT: Schema Types settings now show blur overlay with direct link to SEO plugin when in Enhancement Mode
* NEW: Product Feed now supports Easy Digital Downloads (simple + variable pricing)
* FIX: EDD addon Settings button on license page linked to non-existent page
* NEW: Content-Signal HTTP header now sent on all frontend pages (not just Markdown endpoint)

= 1.5.3 =
* FIX: WooCommerce hidden products (visibility=hidden) now excluded from llms.txt
* FIX: WooCommerce hidden products now excluded from product feed XML

= 1.5.2 =
* FIX: llms.txt cache not invalidated when settings are changed (exclude URLs, description, title, etc.)
* FIX: Wildcard URL exclude patterns (e.g. /shop/*) never matched due to preg_quote escape bug
* FIX: Plain path exclude patterns (e.g. /warenkorb) only checked inside http-URL branch due to missing brace

= 1.5.1 =
* IMPROVEMENT: AI Score expanded from 7 to 11 checks — 4 new content-quality checks
* NEW: Opening Summary check (first paragraph 30–80 words)
* NEW: Heading Structure check (≥2 H2 + ≥1 H3)
* NEW: Internal Linking check (≥2 internal links)
* NEW: FAQ Section detection (FAQ blocks, headings, and Q&A patterns)
* Rebalanced check weights for better signal distribution

= 1.5.0 =
* NEW: Per-Page AI Visibility Score — editor metabox shows 0–100 score with 7 AI readiness checks
* NEW: Content Freshness Signals — Last-Modified header + article:modified_time OG meta (SEO-plugin aware)
* IMPROVEMENT: Scanner now differentiates AI Training Bots (blocking = good) from AI Search Bots (blocking = bad)
* IMPROVEMENT: Bot list expanded to 86 bots (+PhindBot, img2dataset, KangarooBot, Sidetrade, webz.io, Bingbot-AI)
* IMPROVEMENT: Bot Analytics dashboard shows category badges (AI Training, AI Search, AI Agent, AI Enterprise)

= 1.4.3 =
* IMPROVEMENT: Keyword-optimized plugin display name for better wp.org discoverability
* Updated plugin name to "citelayer® – AI SEO & Visibility | llms.txt, Bot Analytics, Schema.org"

= 1.4.2 =
* FIX: Remaining PHPCS violations — file-level disables for template views and DB query files
* FIX: Function call indentation in Compatibility.php
* FIX: Inline phpcs:ignore for long translation strings

= 1.4.1 =
* FIX: Resolved all PHPCS WordPress Coding Standards violations
* FIX: Short ternary operators replaced with explicit ternaries (ProductFeed, ProductFeedCheck, LLMS_TXT)
* FIX: Yoda conditions, indentation, embedded PHP tag formatting
* FIX: Trailing whitespace and line length violations
* IMPROVEMENT: Added phpcs:disable/enable blocks for mixed PHP/HTML template methods

= 1.4.0 =
* NEW: AI Referral Tracking — track visitors arriving from ChatGPT, Perplexity, Claude, Gemini, Copilot, You.com, Phind, Kagi, and Andi
* NEW: "AI Referrals" dashboard tab with stat cards (Visits from AI, Top Source, Trend %), trend chart, top sources breakdown, and paginated referral log
* NEW: Lightweight frontend tracking via sendBeacon — zero impact on page load performance
* NEW: Rate-limited REST endpoint with origin validation and IP hashing (GDPR/DSGVO compliant)
* NEW: llms.txt now includes Markdown URLs for each page, helping LLMs discover optimized content versions
* NEW: 90-day auto-cleanup for referral data (same as bot analytics)
* IMPROVEMENT: SVG trend chart now supports custom colors (reusable across tabs)
* 100% local — all referral data stored in your WordPress database, no external services

= 1.3.5 =
* NEW: Bot Analytics — DB-backed AI bot visit tracking with real-time dashboard
* NEW: Expanded bot database from 17 to 62 AI/LLM bots (OpenAI, Anthropic, Google, Meta, xAI, DeepSeek, Mistral, Cohere, HuggingFace, and more)
* NEW: Bot categories (Confirmed AI, AI Assistant, AI Search, AI Enterprise, Possible AI)
* NEW: Admin dashboard with stat cards (7d/30d/90d), SVG trend chart, and top bots visualization
* NEW: AI Blind Spots — discover pages invisible to AI bots with AI Discovery Score (0-100)
* NEW: CSV export for bot visit logs with date/bot/path filtering
* NEW: Cache plugin detection (WP Rocket, LiteSpeed, W3TC, WP Super Cache) with setup guides
* NEW: 90-day auto-cleanup to prevent database bloat
* FIX: Settings link on plugins page now points to correct dashboard URL
* IMPROVEMENT: Clean uninstall — removes DB table, options, and transients on plugin deletion
* 100% local — no external accounts or API calls needed

= 1.3.4 =
* FIX: AI Crawler Detection now works in all compatibility modes (including Rank Math enhance mode)
* FIX: Per-post exclude meta box only shown when citelayer generates llms.txt
* PERF: Batch noindex queries (N per-post queries → 3-4 bulk queries)
* PERF: Capped posts at 500/type and products at 1000 (filterable)
* PERF: Reduced Scanner HTTP timeouts from 10-15s to 5s

= 1.3.3 =
* NEW: AI Crawler Detection — see which AI bots visit your llms.txt (GPTBot, ClaudeBot, PerplexityBot, and 14 more)
* NEW: <link rel="llms-sitemap"> in HTML head for AI discoverability
* NEW: Per-post exclude toggle — exclude individual pages from llms.txt via meta box
* NEW: Custom title and description overrides for llms.txt header
* NEW: Max words cap for llms-full.txt (default 500, configurable 50–10.000)
* NEW: Taxonomy inclusion in llms-full.txt (categories, tags, custom taxonomies)
* NEW: Meta inclusion in llms-full.txt (published/modified dates, URL, WooCommerce SKU + price)
* Privacy-first: All data stored locally, no external server calls

= 1.3.2 =
* NEW: llms-full.txt — full content export for deep AI understanding
* NEW: Configurable post types for llms.txt (pages, posts, products, CPTs)
* NEW: SEO noindex respect (Yoast, Rank Math, SEOPress, AIOSEO)
* NEW: URL exclude patterns with wildcard support
* Improved: Post type grouping with section headers
* Improved: Proper > description blockquote per llmstxt.org spec
* Improved: Admin page with post type selection and pattern examples

= 1.3.1 =
* NEW: XML Product Feed Generator — OpenAI Commerce Protocol compatible
* Serves product feed at /product-feed.xml
* Supports simple, variable, and external products with variations
* GTIN/EAN auto-detection from common meta fields
* WP-Cron scheduled regeneration (hourly/daily/weekly)
* Transient-based caching with configurable TTL
* New admin page: citelayer → Product Feed
* Scanner: added Product Feed validation check

= 1.3.0 =
* NEW: AI Readiness Scanner — comprehensive site audit for AI visibility
* 7 automated checks: Schema.org, robots.txt (8 AI bots + Cloudflare), llms.txt, Content-Signal headers
* WooCommerce checks: Product descriptions, images, stock status
* Visual readiness score dashboard (0-100)
* Async scanning via REST API
* New admin page: citelayer → AI Scanner

= 1.2.2 =
* Rewritten plugin description — user-centric, benefit-driven (AI Visibility, GEO, AEO)
* Updated FAQ in plain language
* Optimized tags for WordPress.org discoverability
* Updated plugin banner images

= 1.2.1 =
* Fixed WordPress.org deploy trigger (SVN deploy now runs in same workflow as auto-tag)
* Added manual deploy fallback with dry-run support

= 1.2.0 =
* Added automated WordPress.org SVN deploy workflow (deploy on GitHub Release)
* Added plugin directory assets (icons, banners)
* Added .distignore for clean SVN deployments
* Added readme/assets update workflow (update WordPress.org without new release)
* Streamlined auto-tag workflow (ZIP build now handled by deploy action)

= 1.1.9 =
* Re-included composer.json in distribution ZIP (required when vendor/ is present)

= 1.1.8 =
* Removed vendor CLI binaries (bin/html-to-markdown) from release ZIP
* Excluded composer.json from distribution
* Improved forbidden file detection in build workflow

= 1.1.7 =
* Lowered PHP requirement from 8.1 to 7.4 (code + vendor deps confirmed compatible)
* Fixed deploy workflow: .gitattributes and README.md now excluded from production
* Added PHP 7.4 to CI syntax check matrix

= 1.1.6 =
* Converted inline scripts to wp_add_inline_script() for WP Codex compliance
* Extracted inline styles to external CSS files with wp_enqueue_style()
* Updated contributor and Author URI metadata

= 1.1.5 =
* Fix fatal error: rebuild vendor with composer --no-dev for release ZIP

= 1.1.4 =
* Exclude dev dependencies from release ZIP (phpstan, phpcs, etc.)

= 1.1.3 =
* Plugin name fix

= 1.1.1 =
* Respecting WP / WordPress trade mark

= 1.1.0 =
* Code Quality: PHPCS + PHPStan Audit — alle Violations behoben (PHPCS 260→1, PHPStan 649→0)
* Tooling: phpcs.xml.dist, phpstan.neon, Composer Scripts (lint, fix, analyse)
* CI: Strikte PHPCS- und PHPStan-Jobs (kein continue-on-error mehr)
* Infrastructure: Pre-Commit-Hook für automatisches Code-Formatting
* Fix: Schema.php — post_author Type-Cast für get_the_author_meta()

= 1.0.0 =
* Production release
* Version synchronization (header, constant, readme.txt)
* Security: Admin email no longer exposed in llms.txt by default
* UCP Discovery: Dynamic platform detection (WordPress vs WooCommerce)
* WebMCP: Removed non-implemented endpoint references
* WebMCP: Fixed option check consistency
* Added PHPCS configuration (WordPress Coding Standards)
* Added PHPStan Level 6 configuration
* Comprehensive CI pipeline (syntax, PHPCS, PHPStan, integrity checks)
* Removed development artifacts from repository

= 0.3.1 =
* Compatibility V3.1: Multi-Family Safeguard — Conflict State detection
* Admin: Conflict State banner on all admin pages
* llms.txt: 503 response in Conflict State
* Schema: No output in Conflict State
* WebMCP context.json discovery endpoint

= 0.3.0 =
* Compatibility Layer V3: Enhance-Fix
* serve_llms_txt() uses should_register_own_route() to prevent double output
* Yoast Fallback: Citelayer takes over when Yoast has no physical file
* State-Reset on plugin deactivation
* Improved AIOSEO detection (defined + class_exists checks)

= 0.2.0 =
* Composer Support: league/html-to-markdown integration
* PSR-4 Autoloading with SPL fallback
* Feature-Detection on module level (Rank Math llms.txt, Yoast llms.txt)
* All classes refactored to Citelayer\Plugin namespace
* File structure: includes/ → src/

= 0.1.0 =
* Initial release
* llms.txt generation with WooCommerce awareness
* Schema.org JSON-LD (Organization, WebSite, Article, Product)
* UCP Discovery endpoint
* Markdown for Agents with Content Negotiation
* Content-Signal header configuration
* Settings page in WordPress admin

== Upgrade Notice ==

= 1.11.1 =
Fixes false "Physical file detected" llms.txt warnings on Rank Math Enhance-mode sites where no physical root file exists.

= 1.11.0 =
Adds safe Rank Math AI Visibility compatibility metadata and clearer positioning between external brand monitoring and Citelayer's AI-readable site infrastructure.

= 1.10.2 =
Adds local diagnostics for intermittent Claude/Gemini/Perplexity tracking so admins can distinguish crawler, referral, missing-signal, and deduplicated cases.

= 1.10.1 =
Clarifies AI Referrals vs. crawler logs and adds diagnostics plus expanded AI referral source matching.

= 1.10.0 =
Adds clearer Schema Types guidance and hierarchical Schema.org Organization subtype selection for more precise site identity markup.

= 1.9.0 =
Adds Brand Demand Signals guidance to the AI Readiness Scanner and links externally measured brand search volume to the AI Visibility Audit.

= 1.8.0 =
Adds Topic Coverage scoring for AI query fan-out, explicit YouTube/Reddit sameAs fields, and clearer deep-content discovery guidance.

= 1.7.2 =
Clarifies machine-readable UCP/WebMCP capability status so AI agents do not infer paid commerce or Full UCP support from the free plugin.

= 1.7.1 =
Clarifies Premium/UCP wording so the free plugin does not claim Full UCP support before the Woo add-on milestone is complete.

= 1.7.0 =
Adds identity-aware Schema.org settings and keeps Citelayer Organization/Person schema editable with plain Yoast SEO; Yoast Local SEO remains the owner only for overlapping local-business fields.

= 1.6.1 =
Keeps Citelayer llms.txt additions attached after Yoast regenerates its physical llms.txt file.

= 1.6.0 =
Adds llms.txt retry and safe shadow-file remediation in the admin screen, including backup download before removing physical root files.

= 1.5.9 =
Improves llms.txt diagnostics and remediation. Admins now see stale/static shadow files and missing UTF-8 charset issues precisely, and /.well-known/llms.txt is served by Citelayer.

= 1.5.8 =
Fixes the Compatibility Mode notice close button on the Plugins screen for SEO plugin setups such as Rank Math, Yoast SEO, and All in One SEO.

= 1.5.7 =
Improves llms.txt diagnostics. Admins now see whether the public .txt route or only the fallback generator works, making hosting/CDN/WAF blocks easier to identify.

= 1.5.6 =
Compatibility + quality release: tested with WordPress 7.0 and hardened for the WordPress Plugin Check. Fixes a duplicate Organization schema node when used alongside Rank Math, Yoast, or All in One SEO, and improves Markdown and llms.txt accuracy. Recommended update for all users.

= 1.5.5 =
Bug fix release. WooCommerce product Markdown export now works reliably in background tasks (cron) and other contexts where the product is referenced by ID rather than loaded as an object. Recommended update for all WooCommerce users.

= 1.5.4 =
UX improvement: Schema Types settings now show a blur overlay with a direct link to your active SEO plugin when in Enhancement Mode. EDD product feed gains support for simple + variable pricing.

= 1.3.5 =
Major feature update! AI Bot Analytics with real-time dashboard, 67 AI bot detection, AI Blind Spots analysis, CSV export, and cache plugin detection. Plus security and performance improvements.

= 1.1.0 =
Code Quality Audit. PHPCS + PHPStan Tooling.

= 1.0.0 =
First production release. Includes security improvements and CI pipeline.
