=== Webkoding Product Schema and Crawl Audit for WooCommerce ===
Contributors: webkoding
Tags: woocommerce, schema, structured data, seo, ai
Requires at least: 6.2
Requires PHP: 8.1
Tested up to: 7.1
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Stock WooCommerce publishes no Product structured data on product pages. This plugin puts it back, so AI assistants and Google can see what you sell.

== Description ==

Open one of your WooCommerce product pages and view the source. Search it for `"@type":"Product"`.

On a clean WooCommerce install — the current release, WooCommerce's own Storefront theme, no other plugins — you will not find it. The page publishes a `BreadcrumbList` and nothing else. **No Product. No price. No availability. No identifier.**

To ChatGPT, Claude, Gemini, Perplexity and Google's shopping results, that page is not a product. It is text.

= This is not an opinion. It is reproducible in two minutes =

WooCommerce *generates* the data correctly — calling its generator by hand returns a complete Product node. But that generator is attached to the `woocommerce_single_product_summary` hook, and WooCommerce now renders product pages from its own block template, which never fires that hook. The data is built for an event that no longer happens, so nothing is ever queued for output.

The breadcrumb survives because it is generated somewhere else.

Nobody opted into this, and nothing in the admin tells you. It was verified on two independent clean installs, on two different WooCommerce versions, before a line of this plugin was written. Please verify it on your own store rather than taking our word for it — the instructions are in the first paragraph.

= What this plugin does =

* **Restores the missing Product structured data** on every product page: name, price, currency, availability, SKU, image, brand and GTIN.
* **Audits your store** and scores it, with a plain list of what agents cannot see and why.
* **Unblocks the AI crawlers** in robots.txt — GPTBot, ClaudeBot, PerplexityBot, Google-Extended and others.
* **Publishes /llms.txt**, the brief an assistant reads before deciding whether your store is worth crawling.

It does not blindly inject a second Product node. It first checks whether Product schema already reaches the page — including from an SEO plugin — and stays silent if it does. Two conflicting Product nodes are worse for you than one missing.

= No account, no subscription, no third party =

Everything runs inside your own WordPress. This plugin contacts no external service and sends your catalogue nowhere.

It makes exactly one network request, and it is to your own site: it fetches one of your own product pages over HTTP to see what a crawler would actually find there. Asking WooCommerce whether it *would* generate the data is a different question from whether the data reaches the page, and only the second one matters.

= The paid add-on =

A separate, paid add-on adds bulk barcode and brand editing, CSV import, an agent-readable product feed, and reporting on which AI crawlers really visited your store.

It is not required, and this plugin is not a trial. Everything described above works permanently and for free. Your score is calculated only from the checks you actually have, so a store running just this plugin can reach 100 — you are never marked down for declining to buy anything.

== Installation ==

1. Install and activate the plugin. WooCommerce must be active.
2. Go to **Schema Audit** in the admin menu.
3. Read the audit. The fixes are one click each.

== Frequently Asked Questions ==

= Is my store really missing this? =

Check before you trust us. Open a product page, view source, and search for `"@type":"Product"`. If it is not there, no AI assistant and no Google rich result can see your product's price, stock or identifier.

= I already use Yoast or Rank Math. Do I need this? =

Possibly not, and the plugin will tell you so honestly. If Product schema already reaches your product pages from any source, the plugin leaves it alone and reports that in the audit instead of adding a second, conflicting copy.

= Will this slow down my store? =

No. The schema is built from data WooCommerce already holds in memory for the page it is rendering. The audit runs only when you open the audit screen — never on the front end.

= Does it send my products anywhere? =

No. There is no external service and no account. See the Description.

= Can it invent my barcodes? =

No, and it would be dangerous if it tried: a wrong GTIN identifies somebody else's product. It can only tell you which products are missing one.

== Screenshots ==

1. The audit — your AI Visibility Score and exactly what agents cannot see.
2. A product page before and after: no Product schema, then Product schema.
3. Settings. There are not many, on purpose.

== Changelog ==

= 1.0.0 =
* Initial release.
* Restores the Product structured data missing from stock WooCommerce product pages.
* Store audit with an AI Visibility Score.
* robots.txt rules for the AI crawlers.
* /llms.txt.
* Registers a read-only ability (WordPress 6.9+ Abilities API) so an AI agent can ask the store how visible it is. It cannot change anything.
