
Nobody is browsing your category page anymore.
They are asking a model instead. And the model has never opened your PDF spec sheet, never parsed your variant table, and cannot tell whether your shoe is waterproof. So it recommends someone else.
This page is about the gap between the catalog you have and the catalog a language model can actually answer questions from — and what it takes to close it.
Increase in AI answer citations after full attribute resolution.
On queries carrying three or more constraints.
Attributes traceable to a named source document.
From attribute change to republished JSON-LD.
Search stopped being a list of links.
For twenty-five years commerce search was a ranking problem. Ten blue links, a keyword index, and a fight over position three. You wrote titles, bought backlinks, and watched a rank tracker on Monday morning.
That game is closing. Shoppers now open ChatGPT, Perplexity, Gemini or Google’s AI Overview and type a full sentence — one that carries four or five constraints at once and expects a single, decided answer at the end of it.
A keyword index cannot answer that. It can only find documents containing those words. To resolve it, a model needs to know that one specific SKU has a Gore-Tex membrane, an EE-width last, a Megagrip outsole and a $179 price — as discrete, comparable, machine-readable facts.
If those facts live in a marketing paragraph, a PDF, or a supplier column labelled DESC2, the model cannot use them. It will cite whoever structured theirs. You have not been outranked. You were never a candidate.
“waterproof trail running shoe with a wide toe box that grips on wet rock, under $200”
“quietest over-ear headphone I can use on a 14-hour flight and still pair to my laptop”
“5HP VFD that survives a washdown line and talks Modbus TCP to my existing PLC”

A shelf is a grid of comparable facts. A model reads your catalog the same way — and finds most of the cells empty.
This is what the machine sees.
Below is a real product record as it arrives from a supplier feed. Six populated fields. One of them is prose. Two carry numbers with no unit attached. Toggle it to see the same SKU after resolution.
Of which two are unusable and one is a paragraph of copy.
TerraGrip Peak Pro GTX
All-new Peak Pro delivers unbeatable comfort and confidence on any terrain. Built to last.
Marketing prose. Zero extractable facts.
Footwear > Shoes
Two levels deep. No attribute schema attached.
42
EU or UK? No unit. No width. No conversion.
0.285
Grams, kilos, or pounds? Per shoe or per pair?
179.00
Same query. Two catalogs.
On the left, a well-optimised page with everything traditional SEO asks for. On the right, the same product after resolution. The difference is not the copy — it is whether the facts exist as facts.
“Find waterproof Gore-Tex trail running shoes with a wide toe box and Vibram Megagrip for muddy terrain”
store.example.com/shoes/terragrip-peak-pro-gtx
TerraGrip Peak Pro GTX Trail Shoes — Wide Fit All-Weather
Official TerraGrip Peak Pro GTX trail shoes featuring waterproof breathable Gore-Tex membrane, Vibram Megagrip 5mm lugs, and anatomical wide toe box.
Every constraint in the prompt has to be verified by the shopper, by hand, after the click.
No attribute is addressable, so the engine cannot compare it against an alternative.
The page can rank and still never be cited. Ranking and answering are different jobs.
The TerraGrip Peak Pro GTX satisfies every constraint in this query — membrane, width, compound and terrain.
Gore-Tex Invisible Fit
Seam-sealed waterproof barrier with no pressure hotspots.
Vibram® Megagrip
5 mm directional lugs, compound rated for wet rock and mud.
EE last width
Anatomical toe box; accommodates splay on steep descent.
285 g per shoe
Includes the forefoot ballistic rock plate.
How a SKU becomes a citable entity.
Four stages run continuously against every row in every feed. No stage is allowed to write a value it cannot source.
Resolve
Every inbound row is matched against the context graph — brand entities, GTIN registries, manufacturer spec sheets, and your own historical catalog. A supplier's 'TerraGrip' string becomes a resolved brand node, not a piece of text.
Entity identity + confidence
Extract
Agents read what humans read: PDF spec sheets, technical drawings, compliance certificates, review corpora and return-reason logs. Facts are pulled with a citation back to the source — page, table, row.
Attributes + provenance
Normalise
Units are converted to GS1 codes. 0.285 becomes 285 GRM. Size 42 becomes EU 42 / UK 8 / US M9. Free-text values collapse onto a controlled vocabulary so two SKUs from two suppliers become genuinely comparable.
Canonical, comparable values
Emit
Schema.org JSON-LD is generated per SKU and republished the moment price, stock or specification changes. Nothing that fails validation reaches your storefront — the record stays absent rather than becoming wrong.
Live, validated JSON-LD
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "TerraGrip Peak Pro GTX Trail Shoes",
"sku": "TG-PRO-GTX",
"gtin13": "5901234123457",
"brand": { "@type": "Brand", "name": "TerraGrip" },
"offers": {
"@type": "Offer",
"price": "179.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
},
"additionalProperty": [
{ "@type": "PropertyValue", "name": "Membrane", "value": "Gore-Tex Invisible Fit" },
{ "@type": "PropertyValue", "name": "Outsole", "value": "Vibram Megagrip 5mm" },
{ "@type": "PropertyValue", "name": "Last Width", "value": "EE (Wide)" },
{ "@type": "PropertyValue", "name": "Mass", "value": "285", "unitCode": "GRM" }
]
}Unit codes are UN/CEFACT · GRM grams · HUR hours · KWT kilowatts · 2N decibels
What changes once the facts exist.
Measured across enterprise catalogs above 10,000 SKUs in the first two quarters after resolution.
Answers naming the catalog as a source.
Three-or-more-constraint queries.
Median, up from a baseline of nine.
Google Merchant, first 90 days.
Every value tied to a document.
Published to production catalogs.
From republish to visible change.
Attribute change to live schema.
The questions you’re about to ask.
Isn't this just structured data markup? We already have a Schema.org plugin.
A plugin emits whatever is already in your product table. If that table holds six fields and a paragraph of prose, the plugin faithfully emits six fields and a paragraph of prose — valid markup, no answerable facts. The work is not the markup. The work is producing the eighty-four attributes that belong inside it, with a source for each one. Aonex does the second part; the markup falls out of it.
How do you stop the model from inventing specifications?
Extraction is grounded, not generative. An attribute is only written if it can be traced to a source document, and the trace is stored alongside the value — page 14, table 2 of the supplier PDF. Values that fail schema validation or unit resolution are rejected rather than guessed. Where confidence sits below your threshold, the attribute is routed to a human review queue instead of being published. The failure mode is a missing attribute, never a fabricated one.
We sell 40,000 SKUs. How long does this actually take?
Ingestion and first-pass resolution run in hours, not quarters. The practical constraint is usually your own approval policy, not throughput — most teams start fully autonomous on low-risk attribute classes (materials, dimensions, care instructions) and keep human sign-off on regulated ones (compliance claims, allergens, safety ratings) until they trust the confidence scores.
How soon does any of this show up in an AI answer?
Structured updates are typically re-crawled and indexed within three to fourteen days. Retrieval-based engines that fetch live pages reflect changes faster than that. The honest answer is that you are not buying a switch you flip — you are removing the reason your products currently cannot be cited, and the citations follow the crawl.
What happens to our existing SEO?
It improves, because the same work drives both. Attribute-complete pages rank for the long-tail queries you never had copy for, Google Merchant feed disapprovals drop when GTINs and units resolve cleanly, and rich results become eligible where they previously failed validation. AEO is not a replacement for SEO. It is what SEO becomes when the reader is a model.

Be the answer. Not the tenth link.
Send us a feed — a CSV, an API endpoint, a folder of supplier PDFs, whatever you actually have. We will resolve a thousand SKUs against the context graph and show you, attribute by attribute, what a model can and cannot currently learn about your products.
No connector required · 1,000 SKUs · Report in five working days