The shopping assistant in ChatGPT does not browse your store the way a customer does - it reads data, and when the data is missing or contradicts itself, it recommends someone else. A customer sees a nice photo, a sale price and a green “in stock” label. A model sees page code, markup and text. When a store owner searches for “optimising a woocommerce store for ai”, they mostly land on articles about using AI to write descriptions or adding a chatbot. That is a different topic. This post goes the other way: what to change in the store itself so that AI understands your products and has something to recommend them from.
I covered how visibility in ChatGPT and Google’s AI Overviews works in general in my post on SEO for AI. This one is narrower and more technical: it is about a WooCommerce store, the product page and the data the store exposes to the outside world. Honest up front: nobody can guarantee that ChatGPT will recommend your product. What you can do is remove the reasons it skips you today.
Why AI skips the products in your store
When someone asks an assistant for “a 40-litre hiking backpack with a separate sleeping bag compartment”, the model has to find products that meet those conditions and be confident that they do. It gets that confidence from data. If the capacity on your product page only appears in a dimensions image, and the description is three lines of marketing copied from the manufacturer, the model has nothing to hold on to. It will pick a store where the same thing is written out plainly.
In the stores I look at, the same causes keep coming back:
- Specifications only in images or PDFs. A person can read a table in a picture, a bot usually cannot. An attribute that is not in the text or in the data does not exist for AI.
- Wholesaler descriptions, identical across dozens of stores. The model has no reason to quote you in particular when it sees the same text everywhere.
- Contradicting information. The page shows one price, the markup in the code shows another, the comparison-site feed a third. Faced with a contradiction, the safest move for a model is to recommend none of the three.
- Variants that cannot be told apart. Sizes and colours hidden in a dropdown, with no separate availability and price data for each variant.
- Closed doors for bots. A security plugin, a server rule or a CDN setting cuts off AI crawlers, often without the owner knowing.
None of these is an AI problem. They are long-standing gaps that were already getting in the way of ordinary Google. Shopping assistants just expose them without mercy.
What it costs - scope of work and market ranges
I am not going to quote a price list here, because the cost depends almost entirely on what I find in the store. A shop with a few dozen products on a decent theme is a different job from a catalogue running into thousands of items, with variants, a wholesaler import and three SEO plugins each adding its own markup to the page.
To give a sense of scale: on the Polish market a simple technical review of a store is usually a few hundred zloty, while full work with changes implemented in the code and in product data runs into the thousands. These are market ranges, not my offer, and they vary widely with scope. What moves the price most:
- Number of products and variants - a fix to the product page template applies to every product at once, but filling in missing attributes is work on the data, product by product or by import.
- The state of your source data - whether you have EAN codes, brand and specifications in a structured form, or everything has to be pulled out of descriptions.
- How many places expose data - the theme, the SEO plugin, the feed plugin, the wholesaler integration. Each one has to be reconciled with the others.
- Whether the store has a test environment - I make product template changes on a copy first, never on the live store.
The cheapest order is diagnosis first, decision second. Before spending money on implementation, it is worth knowing whether AI knows your store at all and what it says about it. I described how to measure that yourself, step by step, in the post on the AI visibility audit.
What to change: optimising WooCommerce for AI in data, schema, feed and descriptions
Below is the list I work through in a store. The order is deliberate: I start with the things that block everything else.
Access for bots
First question: can crawlers reach the product page at all. I check robots.txt, the rules in security plugins and the CDN settings, because a block is often set in one of those three places while the other two look fine. I also check whether the key information - name, price, availability, specifications - is in the page code from the start, rather than loaded by a script only after someone clicks a tab. A bot that does not run scripts sees an empty product page.
Product structured data
WooCommerce adds basic product structured data to the product page on its own: name, price, availability. The trouble starts when the theme and the SEO plugin add their own versions, and a single page ends up with two or three descriptions of the same product, sometimes with different prices. I consolidate that into one source and fill in what is usually missing: brand, EAN code, product condition, variant data and reviews, if the store has them. One rule applies: the markup says exactly what the customer sees. I explained what structured data is and how to test it in plain language in the post on schema.org structured data. Does structured data help with AI search? My answer is a careful one: it is not a ticket in, but it removes the guesswork. The model does not have to work out which number on the page is the price.
Attributes instead of specs in images
I move the specifications customers ask about into WooCommerce attributes: dimensions, material, capacity, compatibility, composition. An attribute shows up in the table on the product page, in the structured data and in the feed at the same time, so one fix works in three places. As a bonus, filtering in the store gets better, because filters run on attributes too.
The product feed
If the store sends a feed to Google Merchant Center or comparison sites, I check that it says the same thing as the page. The most common mismatch is a sale price that has already ended on the page but is still in the feed, or a product sold out on the page and available in the file. The feed and the product page should take their data from the same place, not from two separate plugins configured at different times.
Descriptions written around questions
I rewrite product descriptions so they answer the questions customers really ask: what it is for, who it is for, how it differs from the cheaper model next to it, what it will not do. A short paragraph with a concrete fact is easier to quote than a wall of adjectives. This is where the phrases people use with assistants belong, not the category name repeated five times. If descriptions come from a wholesaler, you do not have to rewrite everything at once - I start with the best-selling products.
A guide to the store for AI
Finally, the llms.txt file: a short map of the store for language models, with categories and delivery and returns rules. It is an add-on, not a foundation, and without order in the product pages it changes little. What to put in it and what to expect from it is in the post on whether llms.txt is worth it.
What I do differently - fixes in the store code, not an “AI SEO” plugin
There are plenty of plugins promising one-click store optimisation for AI. Some of them do something useful, such as generating an llms.txt file. But no plugin knows that your specifications live in images, that the feed takes prices from a different place than the page, or that the theme duplicates structured data. Another plugin in a store that already has three sources of markup usually adds a fourth.
That is why I work on the store’s code and data, not on another layer of plugins:
- One product page template that outputs structured data from a single source, consistent with what the customer sees.
- Attributes and data in the database, filled in by import or script, not by hand in each product description.
- A feed built from the same data as the page, so price and availability do not drift apart after a sale.
- A check after rollout - I test the markup with Google’s Rich Results Test and ask assistants about the products by hand, to see what they actually read from it.
This kind of work is less flashy than a green indicator in a plugin, but it stays in the store for good and helps with ordinary Google too. Visibility in AI search engines and classic store SEO stand on the same foundation, which is why I do both together as part of my SEO and AI visibility service.
Where to start in your own store
Not with everything at once. Take your three best-selling products and check four things on them: are the specifications text rather than images, does the price in the page code match the price on screen, does the feed say the same, and is robots.txt keeping crawlers out. If something does not match in one place, it almost certainly does not match across the whole catalogue, because every product page uses the same template. Then you know where to start.
Frequently asked questions
How does the ChatGPT shopping assistant choose products? Nobody outside the companies building these systems knows the exact recipe, and I would not trust anyone who claims otherwise. What is known is that the model builds its answer from content it can access and prefers sources where specifications, price and availability are stated unambiguously. That part you can influence.
Do I have to change every product description? No. Start with the products that bring in the most sales, and with attributes, because fixing attributes works in structured data, in the feed and in filters at the same time. Rewrite descriptions gradually.
Is a WooCommerce SEO plugin enough? An SEO plugin does a good job with titles, the sitemap and basic markup. It will not fill in missing product data for you, and it will not reconcile several sources of markup already in the store. That has to be checked and fixed in the code.
After these changes, will my store definitely appear in ChatGPT? There is no such guarantee and I do not give one. You remove the obstacles that currently leave AI no way to recommend you. Whether and when it starts also depends on competitors, demand and the system itself, which you have no control over.
Want your company to show up in Google and in ChatGPT answers? I work on technical SEO and AI visibility from the code side, not the reporting side. See how I work on it: SEO and AI visibility.