A real WooCommerce store: 77 → 96
We ran our free plugin on mishbio.us, a live WooCommerce store selling skincare in the US, fixed what it found, and ran it again. Disclosure: mishbio.us belongs to the owner of LeyMish Labs, and our agents run it as a partner store. That's why we could make the changes, and it's why we're telling you.
What the audit found
The store looked fine to a shopper. The problems were all invisible from the front end:
- An invisible character before every page. A theme file had been saved as "UTF-8 with BOM", so three bytes went out before every response, including the Store API's JSON. Browsers ignore them; strict JSON parsers, which AI agents and feed tools use, reject the response. The Store API check scored 0/5. (It also exposed a bug in our own plugin, which said "Fail: HTTP 200" and blamed a security plugin. Version 1.0.1 now names the BOM and says how to find the file.)
- No product identifiers and no brand on any product. 24 of 24 products had no GTIN or MPN and no brand. Product data scored 28.3/40; AI shopping agents and Google's product listings skip products they can't identify.
- Structured data without SKU or MPN. The theme's Product JSON-LD was otherwise good (price, stock, return policy, shipping). JSON-LD scored 9/12.
- GPTBot got HTTP 429 from the host's CDN while browsers and the other AI crawlers got through (10.5/12).
What we changed
- Re-saved the theme file without the BOM (Store API 0 → 5).
- Gave every product a SKU and an MPN (a brand-assigned part number) and the brand "Mish Bioscience". We didn't invent GTINs: a barcode has to come from the manufacturer or GS1, and a made-up one gets products rejected.
- While we were there, we took one product off sale because its wording made it a US over-the-counter drug claim, unpublished two template pages with untrue filler text, and toned two phrases to cosmetic wording. None of that changes the score; it's what an honest audit should also catch.
Before and after, check by check
| Check | Before | After |
|---|---|---|
| Product data completeness | 28.3 / 40 | 39.8/40 (23 products, 99% complete; 1 product without attributes) |
| Store is live to the public | 5 / 5 | 5/5 |
| robots.txt allows AI shopping crawlers | 12 / 12 | 12/12 |
| AI bots not blocked by a firewall or CDN | 10.5 / 12 | 10.5/12 (GPTBot HTTP 429 from Hostinger CDN) |
| Product structured data (JSON-LD) | 9 / 12 | 12/12 (identifier and brand present) |
| Name and price readable without JavaScript | 5 / 5 | 5/5 |
| WooCommerce Store API reachable | 0 / 5 | 5/5 (BOM removed) |
| llms.txt present | 4 / 4 | 4/4 |
| Guest checkout enabled | 3 / 3 | 3/3 |
| UCP profile at /.well-known/ucp | 0 / 2 | 0/2 |
| Total | 77 | 96 |
Before: 2026-09-27T04:22:00Z. After: 2026-09-27T07:32:00Z, read from the plugin's own audit screen.
What's still not fixed, and why
- GPTBot still gets HTTP 429 from the CDN. It's a hosting-level setting, and our test comes from the store's own server, so a CDN that checks real crawler IP addresses may treat the real GPTBot differently. OpenAI's shopping and search crawlers (OAI-SearchBot, ChatGPT-User) get through.
- No UCP profile. The Universal Commerce Protocol needs a checkout integration that implements it; nothing in WooCommerce core provides one yet. Worth watching, not urgent.
What it took
About an hour of work, most of it adding identifiers to 23 products (Pro's bulk editor does that in one table). The audit itself takes under a minute and runs entirely on the store: nothing is sent anywhere.

The screenshot is from the demo store in our test suite, so you can see what the screen looks like; the mishbio.us numbers above come from its own audit screen.
Run it on your store: download the free plugin · what Pro adds