=== LLMBOO — AI Visibility ===
Contributors: wpllmboo
Tags: ai, llms.txt, structured-data, woocommerce, seo
Requires at least: 5.6
Tested up to: 7.1
Requires PHP: 7.2
Stable tag: 1.3.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Measure whether ChatGPT, Claude, Gemini and Perplexity recommend your store, then publish the product data and signed usage rights they read.

== Description ==

Shoppers increasingly ask ChatGPT, Claude, Gemini, and Perplexity for buying advice — "what's the best specialty coffee subscription?" **LLMBOO — AI Visibility** publishes the machine-readable signals those assistants read, so your store shows up in their answers.

= What makes it different =

Most llms.txt plugins write one file and stop. This plugin is built around three things they do not do:

* **It measures the outcome.** A dashboard widget shows your AI-visibility score: how often ChatGPT, Claude, Gemini and Perplexity name your brand for real buying questions in your category, and which rivals they name instead. "Scan now" re-asks the engines on demand.
* **It publishes your catalogue for shopping agents, not just a summary.** With WooCommerce active: an AI product feed (`/ai-feed.json` and `/ai-feed.xml`) with real price, currency and stock; schema.org Product/Offer data on every product page; a Markdown version of every page, post and product (`/any-page.md`, `?format=md`, or `Accept: text/markdown`); and the whole catalogue as `/llms-full.txt`.
* **It states your usage terms in a form an agent can verify.** It publishes a signed rights manifest under ARPP 0.1, an open protocol: an Ed25519 signature over your terms (retrieval allowed, attribution required) bound to the exact bytes of your llms.txt. The signing key is generated on your server and never leaves it. robots.txt cannot express "you may quote this but not train on it"; this can.

It also serves `/llms.txt` and Organization/FAQ JSON-LD, refreshed daily and whenever you save settings. Every output can be switched off individually under **Settings → LLMBOO**.

The heavy lifting happens on the LLMBOO API. The plugin only stores your key, caches the returned assets, and serves them — no personal data leaves your site beyond your public brand, category, and product names/links.

= Works with or without WooCommerce =

On a plain WordPress site it publishes your brand/category signals. With WooCommerce active it also sends your published products. It's compatible with WooCommerce High-Performance Order Storage (HPOS).

= Privacy =

The plugin talks only to the LLMBOO API (https://llmboo.com). It sends your site URL, brand name, category, and — if enabled — published product names and links. Your API key is sent solely in the `X-API-Key` request header and is never printed on the front end. See https://llmboo.com/privacy for the service's policy.

== Installation ==

1. In WordPress, go to **Plugins → Add New → Upload Plugin** and upload `llmboo-ai-visibility.zip`, or copy the `llmboo-ai-visibility` folder to `wp-content/plugins/`.
2. Click **Activate**.
3. Go to **Settings → LLMBOO**.
4. Paste your **LLMBOO API key** (get one at https://llmboo.com). Click **Test connection** to confirm.
5. Confirm your **brand name** and **category**, choose what to publish, and click **Save changes**.
6. Click **Sync assets now** (or wait for the automatic sync). Visit `https://your-site.com/llms.txt` to see it live.
7. Open your **Dashboard** and use the **LLMBOO — AI Visibility** widget's **Scan now** button to check your score.

If `/llms.txt` returns a 404 after activation, go to **Settings → Permalinks** and click **Save** once to flush rewrite rules.

== Frequently Asked Questions ==

= Where do I get an API key? =

Sign up at https://llmboo.com and copy the key from your dashboard. Paste it into **Settings → LLMBOO**.

= Does it work without WooCommerce? =

Yes. WooCommerce is optional. When it's active, the plugin additionally sends your published product names and links.

= What is llms.txt? =

`llms.txt` is a simple, machine-readable file (like `robots.txt`, but for large language models) that summarizes your site for AI assistants. This plugin generates and serves one for you at your site root.

= Will this slow down my site? =

No. Assets are cached in the options table and served directly. API calls happen only on save and on a daily background cron — never during a visitor's page load. The JSON-LD is a small, pre-rendered block.

= Is my data safe? =

Your API key is stored in your database and sent only in a request header, never exposed on the front end. Only public information (brand, category, product names/links) is sent to the API. See the Privacy section above.

= The score widget says "Not scanned yet". =

Click **Scan now** in the dashboard widget. A scan runs asynchronously and typically finishes within a minute.

== Screenshots ==

1. Settings → LLMBOO: connection, brand/category, and what to publish.
2. The published-assets status card with a one-click "Sync assets now".
3. The dashboard widget showing your AI-visibility score and top rivals.

== Changelog ==

= 1.3.2 =
* PARP is now ARPP (Agent Rights & Provenance Protocol). The signed manifest is served at /arpp with the ARPP link relation; /parp keeps working as an alias.

= 1.3.1 =
* Translations load through WordPress.org language packs; the plugin no longer calls load_plugin_textdomain().
* The ARPP signing key is stored as hex.
* Readme: contributor and description updates.

= 1.3.0 =
* ARPP 0.1 (Agent Rights & Provenance Protocol): publishes an Ed25519-signed rights manifest for your llms.txt at /parp, your public key at /.well-known/piruz-agent-key.json, and advertises it with a Link header. The key is generated on your server and never leaves it. Rights stated: retrieval allowed, attribution required, training and commercial use unspecified. Toggle under Settings > LLMBOO.

= 1.2.3 =
* Deactivating the plugin now removes the /llms.txt rewrite rule immediately, so the URL returns 404 instead of redirecting.
* Uninstall clears the feed caches, and the feed says when WooCommerce is missing.
* Accepts priceCurrency alongside currency for per-product pricing.

= 1.2.1 =
* Product structured data: the per-product schema.org Product/Offer from the API is now injected on the matching product page (price, availability, SKU, GTIN).
* Fixed /llms.txt returning a redirect on subdirectory installs using plain permalinks.

= 1.2.0 =
* Markdown for LLMs: every product/page/post now has a Markdown twin — append `.md` to its URL, add `?format=md`, or request it with `Accept: text/markdown`. Pages advertise it via `<link rel="alternate" type="text/markdown">` + a `Link` header.
* `/llms-full.txt`: the whole catalogue as Markdown (best sellers first, up to 1000 products) plus your top-level pages.
* AI-shopping product feeds: `/ai-feed.json` (ChatGPT / OpenAI product-feed field names) and `/ai-feed.xml` (Google Merchant RSS 2.0) — submit to the ChatGPT merchant program and Google Merchant Center.
* The fixes payload now sends rich product data (description, availability, SKU, GTIN, image, category) so llms.txt and Product schema quote real facts.
* Two new toggles under Settings → LLMBOO: "Markdown for LLMs" and "AI shopping feed" (both on by default).

= 1.0.0 =
* Initial release: llms.txt serving, JSON-LD injection, WooCommerce product pull, daily cron refresh, dashboard score widget with async "Scan now", and clean uninstall.

== Upgrade Notice ==

= 1.2.0 =
Adds Markdown-for-LLMs page versions, llms-full.txt and AI product feeds. Re-save Settings → LLMBOO once so the new rewrite rules are flushed.

= 1.0.0 =
First public release.
