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

Make WordPress discoverable by ChatGPT, Perplexity & Claude — llms.txt, MCP server, AI crawler invites, AI visibility score, plus full SEO engine.

== Description ==

AI assistants now recommend products and content to billions of queries every month — but they can only recommend sites they can read. **Shop2LLM** gives them a structured, machine-readable catalog of everything you publish, so your products and articles show up when a user asks ChatGPT, Perplexity, or Claude for a recommendation.

Works with any WordPress site — with WooCommerce for product AI visibility, or standalone for blog/article AI visibility. One-click setup, no API keys to configure.

= Why Shop2LLM? =

* **2 AI tools (Free)** — content search and detail lookup via the open MCP protocol; ChatGPT can call them like native tools
* **12 AI crawler invites** — GPTBot, ClaudeBot, PerplexityBot, and 9 more, via robots.txt directives
* **Real-time AI Visibility Score™** — proprietary 5-dimension, 25-item scoring system measures how discoverable your content is to AI
* **Hero Test Search** — type a question, see how AI would recommend your products/content right now. 5 free queries per day, no API key needed
* **Full SEO engine (Free)** — Meta tags, Open Graph, 19 JSON-LD Schema types, paginated XML Sitemap, Redirect Manager, Content Analysis, SEO Audit, GSC integration, title templates, broken link checker, image SEO
* **One-click migration** — import SEO data from Yoast SEO and Rank Math
* **Zero performance risk** — all AI features run on your server through the standard WordPress REST API; external calls are non-blocking with 1s timeouts

= How does Shop2LLM compare? =

Shop2LLM Free includes the SEO features Yoast SEO Premium ($99/year) and Rank Math Pro ($59/year) reserve for their paid tiers — plus AI tools no SEO plugin offers.

**SEO features included free** (typically paid in Yoast/Rank Math):

* 19 JSON-LD Schema types (Product, Article, FAQ, HowTo, Recipe, Event, Course, JobPosting, SoftwareApplication, Book, MusicRecording, VideoObject, Person, Dataset, Review, LocalBusiness, WebPage, BreadcrumbList)
* Redirect Manager (301/302/307/410/451 with regex + CSV import)
* SEO Audit (11-point site-wide audit with weekly email reports)
* Google Search Console integration (28-day clicks, impressions, CTR, position, top keywords)
* Broken Link Checker (HEAD-request scanner, 24h cache)
* Image SEO (bulk alt-text audit)
* Content Analysis (15+ real-time checks with CJK support)
* Title Templates (%%variables%% per content type)
* One-click migration from Yoast SEO and Rank Math

**AI features only in Shop2LLM** (no SEO plugin offers these):

* llms.txt — machine-readable content catalog at /llms.txt
* MCP protocol — ChatGPT connects to your site as a native tool
* 12 AI crawler invites (GPTBot, ClaudeBot, PerplexityBot, +9)
* AI Visibility Score™ — 5-dimension, 25-item scoring
* Hero Test Search — 5 free AI-powered queries per day
* AI Crawler Activity Monitor — real-time bot visit tracking

Yoast SEO and Rank Math are trademarks of their respective owners and are not affiliated with Shop2LLM. Comparison based on publicly documented feature lists as of July 2026.

= 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 =

* **Full SEO Engine** — Meta tags (homepage, posts, archives, 404), Open Graph, 19 JSON-LD Schema types, XML Sitemap (paginated), Redirect Manager, and Content Analysis — no paid upgrade needed
* **Google Search Console Integration** — see organic clicks, impressions, CTR, average position, and top keywords directly on your dashboard (28-day data, auto-refresh)
* **Title Template System** — customize SEO title format with %%variables%% (%%title%%, %%sitename%%, %%sep%%, %%category%%, %%tag%%, %%date%%, %%author%%) per content type
* **19 JSON-LD Schema Types** — Product, Article, BlogPosting, FAQ, HowTo, Recipe, Event, Course, JobPosting, SoftwareApplication, Book, MusicRecording, VideoObject, Person, Dataset, Review, LocalBusiness, WebPage, BreadcrumbList — auto-detected
* **SEO Content Analysis** — 15+ real-time checks (focus keyword, title/meta desc length, headings, images, internal links, keyword density with CJK support, Flesch readability) with color-coded score circle
* **XML Sitemap** — auto-generated paginated sitemap.xml (1000 URLs/page), image sitemap, per-type priorities/changefreq, Google ping
* **Redirect Manager** — 301/302/307/410/451 redirects with regex support, CSV bulk import, and 404 error logging
* **Open Graph & Twitter Cards** — auto OG tags for all page types with image upload and social preview
* **SEO Audit** — 11-point site-wide audit with weekly email reports
* **One-Click Migration** — import SEO data from Yoast SEO and Rank Math
* **Broken Link Checker** — HEAD-request scanner with 24h cache
* **Image SEO** — bulk alt-text audit across all posts
* **Quick Edit SEO** — edit focus keyword and meta description right from the post list
* **SEO Plugin De-duplication** — auto-detects Yoast/Rank Math/AIOSEO/SEOPress and disables conflicting modules
* **AI Crawler Activity Monitor** — see which AI bots (GPTBot, ClaudeBot, PerplexityBot, and 9 others) are crawling your site
* **2 AI tools** — content search and detail lookup via MCP protocol
* **AI Visibility Score™** — 5-dimension, 25-item scoring for AI discoverability
* **Auto-generated llms.txt** — machine-readable content catalog
* **Crawler-friendly robots.txt** — 12 AI bot allow directives
* **Hero Test Search** — AI-powered test search with 5 free queries per day

= 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 WordPress speed certification service. The benchmark report covers Home, Blog, and Product page contexts and rates overall plugin impact as "Low." Methodology: measured TTFB, memory delta, and DB query delta against a clean WordPress baseline on the same hosting stack. Full report is published at the link above. Safe to install on any hosting — external calls are non-blocking with 1s timeouts, so even if our cloud is unreachable your site remains fast.

= 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 feature is opt-in and disabled by default. Enable it in Settings → Shop2LLM → Product Sync. 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. When you enable Product Sync (opt-in, disabled by default), 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 when you enable Product Sync (opt-in) 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 enable, go to Settings → Shop2LLM → Product Sync and select "Enabled". You can also use the code-based filter: `add_filter('shop2llm_disable_product_sync', '__return_true');` to disable programmatically.

= 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.

= I activated the plugin but no AI crawler is visiting yet. What should I check? =

This is a common onboarding gap. Shop2LLM records each activation milestone locally (no PII, never leaves your server unless Analytics is on). Run the **Activation Doctor** diagnostic to see exactly where you are in the onboarding funnel:

1. Install **WP-CLI** on your server (most hosts provide it; if not, see https://make.wordpress.org/cli/handbook/)
2. Run: `wp eval-file wp-content/plugins/shop-to-llm/tools/activation-doctor.php`
3. The script prints a funnel report: `activated → welcome_shown → welcome_completed → url_copied → first_search → first_crawler_done`, with timestamps and elapsed time between steps
4. The longest gap between two consecutive steps is your bottleneck. Common findings:
   * **activated → welcome_shown gap > 5 min**: your admin redirects elsewhere on activation; check for conflicting redirect plugins
   * **welcome_completed → url_copied gap > 1 day**: the AI connection URL isn't obvious enough; re-open Shop2LLM → Dashboard and click "Copy"
   * **url_copied → first_search gap > 3 days**: you haven't pasted the URL into ChatGPT yet, or ChatGPT can't reach your site (check firewall, Cloudflare Bot Fight Mode, or HTTPS cert)
   * **first_search → first_crawler_done gap > 7 days**: GPTBot/ClaudeBot haven't crawled you yet. Verify `yoursite.com/robots.txt` shows `Allow: /` for `GPTBot` and `ClaudeBot`. If you're on Cloudflare, disable "AI Scrapers and Crawlers" block in Security → Bots
5. If you want us to take a look, enable **Settings → Shop2LLM → Analytics** (opt-in, anonymized, bucketed) and email the Site Hash shown at the top of the doctor report to support@shop2llm.com — we'll diagnose and reply within 1 business day

= Does this affect my site speed? =

No. Shop2LLM is independently tested and **A-rated by [MakeWPFast.com](https://makewpfast.com/plugins/shop2llm/)** — benchmarked across Home, Blog, and Product page contexts with overall "Low" impact. 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 (Yoast, Rank Math, AIOSEO, SEOPress) and automatically disables conflicting modules (meta tags, schema, sitemap, Open Graph). You keep the AI-specific features (MCP tools, llms.txt, crawler invites) plus any SEO modules the other plugin doesn't cover. You can also one-click migrate your SEO data from Yoast or Rank Math into Shop2LLM.

= 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.3.3 =
* Privacy: product sync is now opt-in via Settings (WP Guideline 7 compliance) — no data sent on activation without consent
* Added Restart Onboarding button in Settings and PHP/WP version check on activation
* Fix: `heroRemaining` JavaScript error on activation (props WP.org Plugin Tests)

= 1.3.2 =
* Value Comparison Card — new Dashboard card showing the SEO and AI features included free, with a factual comparison to Yoast SEO Premium and Rank Math Pro paid tiers
* Activation Doctor — self-serve WP-CLI diagnostic (`wp eval-file tools/activation-doctor.php`) for onboarding funnel, connectivity checks, and Site Hash for fast support
* Directory Listing Refresh — AI visibility tags, sharper description, third-party performance benchmark disclosure (MakeWPFast.com A-rated)

= 1.3.1 =
* Multi-Keyword Optimization — unlimited focus keywords with independent per-keyword scoring and AI-powered keyword suggestions
* AI-Powered Schema Detection — cloud AI suggests best schema type with local fallback, 4-layer rate limit protection
* WooCommerce Deep Integration — GTIN/MPN/Brand/Condition identifiers, enhanced Product Schema, 6 product-specific checks

= 1.3.0 =
* Full SEO Engine — Meta Tags, Open Graph, XML Sitemap, Schema, Content Analysis, Redirect Manager, SEO Audit, all built-in and free
* Google Search Console Integration — clicks, impressions, CTR, position, top keywords dashboard
* 19 JSON-LD Schema Types with Title Template System and One-Click Migration from Yoast/RankMath

= 1.1.2 =
* Plugin Check zero ERROR compliance — text domain unified to 'shop-to-llm', enabling community translations
* AI-powered "See how AI sees your store" — test how AI recommends your products, 5 free test searches per day
* DeepSeek API integration — natural-language product recommendations with transparent provider disclosure

= 1.1.1 =
* Hero Test Search — AI-powered Aha moment at Dashboard top, type a question and see how AI recommends your products
* FinCore cloud LLM proxy — test searches use DeepSeek via FinCore cloud, no API key required
* Rich product cards — image thumbnail, currency-aware price, stock badge, star rating

= 1.1.0 =
* Product AI Index — syncs catalog metadata to Shop2LLM cloud so your products appear in AI searches across all connected stores
* Daily product sync via heartbeat with opt-out filter and layered privacy disclosure

= 1.0.9 =
* Welcome Modal simplified to single card with opt-in

= 1.0.8 =
* AI Visibility Score Breakdown — 7-factor card with per-item Fix buttons
* Inline Test Search and Content AI Score for non-WooCommerce sites
* Plugin Check zero ERROR compliance, Tested up to WP 7.0

= 1.0.7 =
* Shop2LLM Visibility Score™ — 5-dimension 25-item scoring system
* AI Crawler Activity Monitor with 7-day sparkline trends
* Editor meta box with score ring gauge and fix guidance

= 1.0.6 =
* Dashboard load time 80x faster (5s → 62ms)
* Works without WooCommerce — supports any WordPress site
* PHP 7.4+ compatibility (lowered from 8.1)

= 1.0.5 =
* AI Growth Progress card with milestone tracker and Achievement Badges

= 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.3.0 =
Major feature release — full SEO engine with Meta/OG/Schema/Sitemap/Redirect/Content Analysis, 18 JSON-LD types, SEO audit, one-click migration from Yoast/Rank Math. Auto-detects existing SEO plugins and disables conflicting modules. No breaking changes. Safe to update.

= 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.

* **Product Sync (Settings → Shop2LLM → Product Sync)** — when enabled, lightweight product metadata (title, price, category, image URL) is synced to the Shop2LLM cloud search index so your products appear in AI searches across all connected stores. This is disabled by default and requires explicit opt-in.

* `api.shop2llm.com/fincore/v1/free/ping` — called when analytics is enabled, to register hashed site metadata. Also called during the daily heartbeat if analytics is active.
* `api.shop2llm.com/fincore/v1/store/feed/sync` — called when Product Sync is enabled, to sync product metadata to the cloud search index. Synced once daily.
* `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/
