Optimization starts before the feed
A feed, an API or an MCP server can change the shape of product data. It cannot repair the meaning of that data. If the brand exists only inside the title, a variant is described but not purchasable, or two records disagree about price, a cleaner transport merely delivers the ambiguity faster.
This is why optimizing a WooCommerce catalog for ChatGPT and AI shopping agents is primarily a source-data exercise. The objective is not to make a product sound more “AI friendly.” The objective is to make every commercial claim explicit enough that a system can select the product without guessing and verify it before showing it to a buyer.
The WooCommerce catalog optimization checklist
| Area | What good data looks like | Why an agent needs it |
|---|---|---|
| Identity | Stable product or variant ID, useful SKU and canonical URL | To distinguish, revisit and verify the same offer |
| Brand | A real structured brand value maintained by the merchant | For matching, filtering and disambiguation |
| Content | Specific title and factual description | To understand what the product is and when it fits |
| Classification | Consistent categories and decision-useful attributes | To compare like with like |
| Images | Reachable primary image plus useful additional views | For visual presentation and channel eligibility |
| Variants | One purchasable combination per real variation | To avoid recommending an option that cannot be bought |
| Offer | Current price, currency, sale scope and stock status | To make a commercially valid recommendation |
| Freshness | Recent data with a merchant-controlled verification path | To know when a claim can still be trusted |
| Policies | Explicit shipping, returns and geographic constraints | To test the buyer’s actual requirements |
1. Give every product a stable identity
An agent needs to know that the record it found during search is the same offer it verifies later. Use a stable product or variation ID as the durable key. Keep SKUs unique when your operation relies on them, but do not make a mutable SKU the only identity in an external catalog.
Every record should also resolve to the canonical product page controlled by the merchant. Avoid publishing multiple URLs for tracking parameters, translated fragments, filtered category paths or old product copies. Duplicate identities dilute evidence and make availability harder to reconcile.
2. Store brand, category and attributes as facts
A title containing “Nike” is not equivalent to a populated brand field. Agents can extract words from titles, but extraction is not merchant authority. Assign brands through the WooCommerce brand taxonomy or another deliberate structured source. For a genuine own-label store, using the store brand can be valid; for a multi-brand retailer, applying the seller name to every product would create false data.
Categories should describe product families, not become a dumping ground for brands, promotions and navigation experiments. Attributes should capture facts buyers actually use to decide: material, dimensions, fit, capacity, compatibility, colour, age range or other category-specific constraints.
Use one vocabulary consistently. “Blue”, “navy” and “midnight” may all be legitimate presentation terms, but the catalog should expose enough structure to let a system understand whether they belong to the same colour family or represent distinct options.
3. Write titles for identification, descriptions for decisions
A useful product title normally identifies the brand, product type, model or differentiating feature without becoming a paragraph. Remove promotional filler that does not help distinguish the item. Do not repeat every category and attribute merely to manufacture keywords.
The description should answer the questions an agent will otherwise have to infer:
- What is the product, and who is it for?
- What are the decisive materials, dimensions or compatibility constraints?
- What is included, and what is not?
- Which claims are factual, and which are marketing language?
Keep structured facts in structured fields even when they also appear in prose. A good description improves understanding; it should not be the only database for size, colour, brand or availability.
4. Treat images as catalog data
Give each sellable product a primary image on a stable HTTPS URL. It should show the item being offered, not a placeholder, brand collage or category banner. Add alternative views when they reduce uncertainty, and keep image associations correct at variant level when colour or finish materially changes.
Missing images are not cosmetic in a shopping feed. In our real OpenAI feed generations, the primary image was one of the main reasons otherwise valid rows were excluded. Test the published URLs from outside the WordPress session: an image that works only for logged-in administrators is not usable by an external channel.
5. Model variants as purchasable records
Do not derive available sizes from a parent description or from the complete attribute vocabulary. A fashion product may mention sizes S–XL while only M and L are currently purchasable. The agent needs the actual variation combinations, their identity, price and availability.
For each variation, verify:
- a stable variation ID and, where applicable, a unique SKU;
- the exact option values that define it;
- its current price and stock state;
- whether the customer must still choose an option before checkout;
- the correct product and image relationship.
Google’s official product variant documentation uses the same underlying principle: variants need defined relationships and distinct identities. ChatGPT feeds also expand purchasable variants into separate rows rather than asking the receiving system to reconstruct them from prose.
6. Make price, sale and availability unambiguous
Expose the current price with its currency and distinguish regular price from an active sale price. For a variable product, make clear whether a displayed range covers all variants and whether a discount applies to every variation or only some of them. Coupon savings should not be presented as if they were the catalog price.
Stock needs equally explicit semantics. “Available”, “backorder”, “out of stock” and “unknown” are different commercial states. If stock is managed at variation level, a parent product cannot safely stand in for every option.
Price and availability are volatile. A discovery index or cached answer can nominate a candidate, but the final recommendation should be verified against the merchant-controlled source before the buyer commits.
7. Publish the constraints around the product
A product can match perfectly and still be wrong for the buyer because it cannot be shipped to their country, arrives too late, or falls outside the required return policy. Publish the countries you serve, shipping rules, return information and material purchase constraints in a form an agent can reach and interpret.
Do not fabricate a destination-specific total before WooCommerce checkout has the address, taxes and chosen shipping method. The catalog should explain what is known; checkout remains authoritative for the final order conditions.
8. Remove contradictions before adding more channels
Search for duplicated products, stale copies, conflicting prices, obsolete variants and taxonomy drift. These problems often remain invisible to customers because the storefront renders one plausible page. An agent sees the catalog as data and may find several competing versions of the same offer.
Our blind catalog audit found exactly this pattern: a functioning storefront hiding conflicting prices, missing brands and variants trapped in prose. Software can report those conflicts. It should not decide which price or brand the merchant intended.
9. Validate in three layers
- Source validation: inspect WooCommerce products and variations for missing, invalid or contradictory fields.
- Catalog validation: check that an external machine can discover, search and retrieve the normalized records efficiently. Our blind-agent experiment shows why discovery itself must be tested.
- Channel validation: generate the destination format and validate every row against its rules. For ChatGPT, follow OpenAI’s current shopping and direct-feed guidance and the merchant onboarding process.
A passing file proves conformance to that file format. It does not guarantee approval, inclusion, visibility or ranking. Those decisions belong to the receiving platform.
10. Measure readiness without inventing a magic score
Track evidence the merchant can act on:
- products and variations missing required identity, brand or image fields;
- records excluded from a chosen feed, grouped by exact reason;
- duplicate or conflicting commercial records;
- age of price and stock data;
- agent discovery success, response size and verification success;
- catalog coverage: how many records were inspected and how many were returned.
A single percentage can be useful as a summary, but only when every deduction links back to the affected products and fields. Readiness is evidence, not decoration.
A practical order of work
- Fix stable identity, duplicates and canonical URLs.
- Assign real brands and normalize category-specific attributes.
- Add primary images and repair inaccessible media URLs.
- Verify every purchasable variation and its stock.
- Reconcile price, sale and currency semantics.
- Improve titles and descriptions after the underlying facts are correct.
- Publish shipping, returns and geographic constraints.
- Generate and validate the target feed or agent-readable catalog.
- Retest discovery and final-product verification from outside WordPress.
What KaliCart Bridge does — and does not do
KaliCart Bridge audits AI readiness, reports which records can be used and explains why others are excluded. It then exposes compact, read-only catalog surfaces for compatible agents and can generate and validate a ChatGPT product feed from the corrected WooCommerce source.
It does not invent a brand, repair contradictory merchant facts by guessing, promise acceptance by an external platform or replace WooCommerce checkout. That boundary is part of catalog quality: the merchant remains authoritative for the offer.