=== Shop2LLM — AI Visibility ===
Contributors: athenalion
Tags: woocommerce, ai, chatgpt, seo, llms-txt
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.1.2
License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Your site is invisible to ChatGPT and AI search. Fix that in 2 clicks — auto-invites 12 AI crawlers and gives you a real-time AI visibility score.

== Description ==

**Shop2LLM** is the simplest way to make your website content discoverable by AI assistants like ChatGPT. Works with any WordPress site — with WooCommerce for product AI visibility, or standalone for blog/article AI visibility.

Without Shop2LLM, your site is invisible to the fastest-growing search channel on the web. AI assistants can't read your content — they recommend whoever they *can* read. One-click setup — no complex configuration.

The free version makes your content searchable by ChatGPT with 2 AI tools (content search + detail lookup), invites 12 AI crawlers, and includes a real-time AI visibility score — no limits on AI calls.

= Third-Party Verified Performance =

**A-rated on [MakeWPFast.com](https://makewpfast.com/plugins/shop2llm/)** — independent speed testing: **+0 MB memory, +0 database queries, +5ms TTFB**. "Negligible impact. Safe to install on any hosting."

= Shop2LLM Visibility Score™ =

Our proprietary 5-dimension, 25-item scoring system measures your content's AI discoverability across Discoverability, Relevance, Content Quality, Entity Authority, and Activity — directly in your post editor.

= Supported AI Platforms (Free) =

* 🧠 **ChatGPT Desktop** — your content appears in ChatGPT's tool palette

= How It Works =

1. **Activate** the plugin (WooCommerce optional)
2. **Copy** the AI connection URL from the settings page
3. **Paste** into ChatGPT
4. **Done** — AI agents can now search your content

= Features =

* **AI Crawler Activity Monitor** — see which AI bots (GPTBot, ClaudeBot, PerplexityBot, and 9 others) are crawling your site, right on your WP dashboard with a 7-day trend chart
* **2 AI tools** — content search and detail lookup
* **AI agent standard** — the protocol used by ChatGPT, Claude, and other AI assistants
* **Content search** — AI agents search by keyword
* **Content details** — full content info including description, images, metadata
* **No usage limits** — unrestricted AI calls
* **Auto-generated API key** — secure Bearer token authentication
* **ChatGPT support** — one-click setup
* **Auto Schema** — JSON-LD Product schema (with WooCommerce) or BlogPosting schema (standalone)
* **AI directory page** — auto-generated llms.txt
* **Crawler-friendly robots.txt** — invite 12 AI bots to index your site
* **WooCommerce enhanced** — product search by category, price, stock, ratings when WC is active

= What AI Agents Can Do (Free) =

* "Search for wireless headphones under $100" (with WooCommerce)
* "Show me the top-rated summer dresses in stock" (with WooCommerce)
* "Find blog posts about sustainability"
* "What's the content of article #42?"

== Installation ==

1. Upload the `shop-to-llm` folder to `/wp-content/plugins/`
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Go to Settings → Shop2LLM
4. Copy your AI connection URL
5. Paste into ChatGPT

= Requirements =

* WordPress 6.0+
* PHP 7.4+
* WooCommerce 8.0+ (optional — for product features)

== Frequently Asked Questions ==

= What happens without this plugin? =

Your competitors get recommended by AI instead. ChatGPT, Perplexity, and other AI assistants can't read your content — they recommend whoever they *can* read. Shop2LLM gives them a structured, machine-readable catalog of everything you publish. Without it, your site is invisible to the fastest-growing search channel on the web.

= Why trust Shop2LLM's performance claims? =

Shop2LLM is independently tested and **A-rated on [MakeWPFast.com](https://makewpfast.com/plugins/shop2llm/)** — a third-party speed certification authority. Test results: **+0 MB memory, +0 database queries, +5ms TTFB**. All three benchmark contexts (Home, Blog, Product) scored A with "Low" overall impact. Safe to install on any hosting — zero performance risk.

= What does Shop2LLM actually output? =

On activation, Shop2LLM immediately generates:

* **llms.txt** — a machine-readable catalog at `yoursite.com/llms.txt` listing your content with titles, slugs, descriptions, and last-modified dates
* **LLM-friendly permalink** — a clean URL AI agents use: `yoursite.com/ai/v1`  
* **JSON-LD Schema** — Product schema (with WooCommerce) or BlogPosting schema (standalone)
* **robots.txt rules** — 12 AI crawler allow directives
* **REST API endpoint** — MCP-compatible endpoint at `yoursite.com/wp-json/shop2llm/v1/chat/completions`

You can verify all of this immediately after activation — no configuration required.

= Does this require WooCommerce? =

No. Shop2LLM works with any WordPress site. WooCommerce is optional — when active, you get product-specific features like price search, stock tracking, and product schema. Without WooCommerce, content search, BlogPosting schema, and all AI crawler features still work.

= Does this require a FinCore cloud account? =

No. Core AI features run entirely on your WordPress server. Product indexing (making your products searchable by AI assistants across all Shop2LLM-connected stores) sends lightweight product metadata to our cloud search index — this is a core feature, not analytics, and is enabled by default. See the data section below for exactly what is sent.

= Is my content data sent to external servers? =

Content data (full product descriptions, customer data, orders) stays on your server. AI agents connect directly to your WordPress REST API for detailed product information. The following lightweight product metadata is sent to the Shop2LLM cloud search index to enable AI discovery across all connected stores:

* `product_id` — internal product ID
* `title` — product name
* `price` — current price
* `description` — short description or excerpt
* `image_url` — main product image URL
* `product_url` — product page URL (public)
* `category` — product categories
* `brand` — your site name
* `availability` — in stock or out of stock

This data is sent once on plugin activation, and then refreshed daily. All of it is already publicly visible on your website. It is used solely to make your products discoverable by ChatGPT, Claude, and other AI assistants. No customer data, no order data, no admin credentials, no PII is ever sent.

To opt out, add this to your theme's functions.php: `add_filter('shop2llm_disable_product_sync', '__return_true');`

= What data does the plugin collect and how is it used? =

Shop2LLM uses a layered privacy model that complies with WordPress.org plugin guidelines:

**Layer 1 — Local behavior summary (no opt-in required, never leaves your server).** To improve onboarding and detect friction, the plugin records a small set of activation milestones in the `shop2llm_behavior_summary` WordPress option. This includes: activation timestamp, whether the Welcome Modal was shown/completed/skipped (and at which step), whether the AI connection URL was copied, whether the first inline test search was performed (and whether it returned results), whether the first AI crawler visit was detected, days since activation, and a bucketed count of dashboard visits. This data stays entirely in your database and is never transmitted anywhere. It is automatically removed on uninstall.

**Layer 2 — Anonymous usage statistics (opt-in, disabled by default).** When you enable Analytics in Settings (or accept the opt-in prompt shown after completing the Welcome Modal), an anonymous, bucketed behavior summary is sent to our cloud service at api.shop2llm.com alongside the existing daily heartbeat. The summary contains only these fields:

* `has_content` — boolean (true if your site has at least one published post or product)
* `content_count` — bucketed value: `0`, `1-4`, `5-20`, `21-100`, or `100+` (never the exact count)
* `welcome_shown`, `welcome_completed`, `url_copied`, `first_search_done`, `first_search_ok`, `first_crawler_done` — booleans only
* `welcome_skipped_step` — integer 1-3, or null
* `days_since_activation` — integer
* `dashboard_visits` — bucketed value: `1`, `2-5`, or `6+` (never the exact count)

All fields are coarsely bucketed or boolean to prevent fingerprinting. **No personal data is collected** — no IP addresses, no email addresses, no usernames, no customer/order/content data, no URLs of individual pages, and no exact counts that could identify a site. The site is identified only by a SHA-256 hash of its hostname.

**Layer 3 — AI crawler visit reports (opt-in, included with Analytics).** When Analytics is enabled, AI crawler visits are reported with the crawler type, page URL, user agent, and the anonymized site identifier.

You can enable or disable Analytics at any time in Settings → Shop2LLM → Analytics. Disabling it stops all external transmission immediately; local behavior summary continues to be stored for your own dashboard insights. See our privacy policy at https://shop2llm.com/ for details.

= What's the difference between Free and Pro? =

Free supports ChatGPT with 2 AI tools (content search + detail). Pro adds 6 AI platforms, always-on cloud connection, and analytics dashboard. Upgrade at https://shop2llm.com/

= Is this secure? =

Yes. All AI connections require Bearer token authentication. The API key is auto-generated and can be rotated anytime.

= How do I check if AI crawlers are visiting my site? =

Go to Shop2LLM → Dashboard and look at the "AI Search Activity" card. It shows crawler visits and search terms in real time. You don't need to check server logs.

= Does this affect my site speed? =

No. Shop2LLM is independently tested and **A-rated by MakeWPFast.com** — 0 MB memory overhead, 0 extra database queries, +5ms TTFB on activation. All AI features run on your server through the standard WordPress REST API. External calls (like analytics reporting) are non-blocking with 1s timeouts — they will never slow down your site.

= Can I use this alongside Yoast SEO or RankMath? =

Yes. Shop2LLM auto-detects SEO plugins and skips duplicate schema output to avoid conflicts. It complements SEO plugins by adding AI-specific features (MCP tools, llms.txt, crawler invites) that SEO plugins don't provide.

= How do I upgrade from Free to Pro? =

Click any "Upgrade to Pro" link in the dashboard, or visit https://shop2llm.com/ — Pro unlocks 6 AI platforms, always-on cloud connection, and full analytics.

= What happens if I deactivate the plugin? =

Your site returns to normal. llms.txt, robots.txt AI rules, and schema markup are removed. All settings are preserved if you reactivate later. No data is lost.

= Which AI platforms does the free version support? =

ChatGPT (via MCP connection). Pro adds Claude, Gemini, Copilot, Meta AI, and Amazon Bedrock — with always-on cloud connection so consumers can discover your products without you connecting each AI manually.

== Screenshots ==

1. AI Visibility Dashboard — visibility score, 7-day trends, AI value estimation
2. AI Search Activity & Crawler Visits — see what AI searches for and which platforms visit
3. AI Platforms — supported platforms with Free/Pro badges + upgrade CTA

== Changelog ==

= 1.1.2 =
* Plugin Check zero ERROR compliance — text domain unified to 'shop-to-llm', enabling translate.wordpress.org community translations
* AI-powered "See how AI sees your store" — test how AI recommends your products to consumers, with 5 free test searches per day
* DeepSeek API integration — natural-language product recommendations with transparent provider disclosure and anti-hallucination safeguards
* All 170 Plugin Check WARNINGs resolved — clean pass for WordPress.org directory standards

= 1.1.1 =
* Hero Test Search — AI-powered Aha moment at the top of the Dashboard. Type a question, see how AI would recommend your products/content, with a natural-language reply and rich product cards (image, price, stock, rating)
* FinCore cloud LLM proxy — test searches call `api.shop2llm.com/fincore/v1/free/ai-test` to generate a natural-language AI reply using DeepSeek. No API key required from the user
* 5 free tests per day per site — server-side quota enforcement (site_hash based); local counter is UI hint only
* Rich product cards — image thumbnail, currency-aware price, stock badge, star rating, short description, "View →" link
* Quota indicator — "N tests left today" badge updates in real time; turns red when exhausted
* Graceful degradation — if FinCore cloud is unavailable, falls back to plain product list with no AI reply
* Score-card "Test Search" button now scrolls to the Hero search box at the top (replaces hidden inline panel)
* "Fix All" button's `test_mcp` action now triggers `window.shop2llmFocusHeroSearch()` to focus the Hero input

= 1.1.0 =
* Product AI Index — syncs catalog metadata to Shop2LLM cloud so your products appear in AI searches across all connected stores
* Server-side tier enforcement — license tier recognized automatically, no plugin-level workaround
* Daily product sync via heartbeat, independent of analytics opt-in
* Opt-out available: `shop2llm_disable_product_sync` filter
* Readme updated with full layered privacy disclosure

= 1.0.9 =
* Cloud heartbeat weekly → daily
* Welcome Modal simplified to single card with opt-in
* Welcome Modal now shows plugin icon

= 1.0.8 =
* AI Visibility Score Breakdown — 7-factor card with per-item Fix buttons
* Inline Test Search — search your own products/content from Dashboard
* Content AI Score for non-WooCommerce sites with post dropdown
* First-Run Welcome Modal with inline test search (Aha moment)
* Plugin Check zero ERROR compliance, Tested up to WP 7.0
* Analytics telemetry: Welcome Modal opt-in immediately sends data to cloud
* Anchoring-effect removed: self-benchmarking scores, no hardcoded comparisons
* Security: MCP search restricts post_type, excludes password-protected content

= 1.0.7 =
* Shop2LLM Visibility Score™ — 5-dimension 25-item scoring system
* Tabbed settings page (Dashboard/Analytics/Settings)
* Editor meta box with score ring gauge and fix guidance
* AI Crawler Activity Monitor with 7-day sparkline trends
* AI Referral Tracker for ChatGPT, Perplexity, Copilot and 5 more platforms
* robots.txt AI fix, AI Discovery Badge, Focus Query input

= 1.0.6 =
* Dashboard load time 80x faster (5s → 62ms)
* Works without WooCommerce — supports any WordPress site
* MCP rate limit: 60 req/min
* PHP 7.4+ compatibility (lowered from 8.1)

= 1.0.5 =
* AI Growth Progress card with milestone tracker
* Achievement Badges and Smart Dynamic CTA
* Community social proof bar

= 1.0.4 =
* Anonymous activation ping with SHA256-hashed site identifier

= 1.0.3 =
* Improved search keywords and short description

= 1.0.2 =
* HPOS compatibility, WooCommerce Marketplace support

= 1.0.1 =
* Security fixes: permission_callback, input sanitization, output escaping

= 1.0.0 =
* Initial release — MCP JSON-RPC, ChatGPT integration, llms.txt, AI crawler support

== Upgrade Notice ==

= 1.1.2 =
Plugin Check compliance release — text domain unified, AI test search powered by DeepSeek, all WARNINGs resolved. No breaking changes.

= 1.1.1 =
Adds a ChatGPT-style Hero Test Search box at the top of the Dashboard. Get an instant AI-generated answer about your own products/content — 5 free tests per day, no API key needed. Existing Inline Test Search and score-card "Test Search" button now redirect to this new Hero box.

= 1.1.0 =
Adds lightweight product metadata sync to cloud AI search index. Opt-out available. Readme updated with full data disclosure.

= 1.0.9 =
Daily heartbeat, simplified Welcome Modal, behavior metrics fix. No breaking changes. Safe to update.

= 1.0.8 =
AI Visibility Score Breakdown, Inline Test Search, Welcome Modal, Analytics telemetry fix. No breaking changes. Safe to update.

= 1.0.7 =
Shop2LLM Visibility Score™ with 5-dimension scoring, tabbed settings page, editor meta box. No breaking changes. Safe to update.

= 1.0.6 =
Dashboard loads 80x faster. Works without WooCommerce. No breaking changes. Safe to update.

= 1.0.5 =
New Dashboard cards: AI Growth Progress, Achievement Badges. Safe to update.

= 1.0.4 =
Privacy enhancement — anonymous activation ping with SHA256 hash. No breaking changes.

= 1.0.1 =
Security fixes and input sanitization. No breaking changes.

= 1.0.0 =
Initial release — Shop2LLM for WooCommerce!

== Privacy ==

This plugin can optionally connect to external services provided by FinCore. All external data transmission is **opt-in** and disabled by default:

* **Analytics (Settings → Shop2LLM → Analytics)** — when enabled, anonymized site metadata (hashed site identifier, platform, version numbers) and AI crawler visits (crawler type, page URL, user agent) are sent to our cloud service. This can be disabled at any time.

* **api.shop2llm.com/fincore/v1/free/ping** — called when analytics is first enabled, to register hashed site metadata.
* **api.shop2llm.com/fincore/v1/crawler/log** — called when AI crawlers visit your store, if analytics is enabled.
* **api.deepseek.com** — when you use the "Ask AI" Hero Test Search, your search query and lightweight product metadata (name, price, currency, stock, rating) are sent to DeepSeek's API to generate the AI reply. DeepSeek's servers may be located outside your jurisdiction. No personal customer data, order information, or full product descriptions are transmitted.

No personal customer data, order information, or product data is transmitted. All external calls use HTTPS and are non-blocking (will not affect site performance if the service is unavailable).

Shop2LLM optionally checks Wikidata and Wikipedia public APIs to determine if your brand or focus query appears in their databases. This feature is disabled by default and must be explicitly enabled in settings. When enabled, only your focus query text is sent to these public APIs — no personal data, user data, or site credentials are ever transmitted. API results are cached locally for 7 days to minimize requests.

Privacy Policy: https://shop2llm.com/
Terms of Service: https://shop2llm.com/
