A warehouse aisle receding into the distance, racking stacked with unlabelled cartons
Use Case01
Answer Engine Optimization

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.

4.8×
Citation lift

Increase in AI answer citations after full attribute resolution.

+62%
Long-tail conversion

On queries carrying three or more constraints.

99.4%
Grounding confidence

Attributes traceable to a named source document.

<1s
Schema regeneration

From attribute change to republished JSON-LD.

01The shift

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.

What a query looks like nowConstraints per prompt

waterproof trail running shoe with a wide toe box that grips on wet rock, under $200

membranelast widthoutsole compoundterrainprice ceiling
5

quietest over-ear headphone I can use on a 14-hour flight and still pair to my laptop

ANC depthbattery lifemultipoint BTweightuse case
5

5HP VFD that survives a washdown line and talks Modbus TCP to my existing PLC

horsepowerenclosure ratingfieldbusvoltagecertification
5
Dense supermarket shelving filled with produce, arranged in a tight grid
The digital shelf

A shelf is a grid of comparable facts. A model reads your catalog the same way — and finds most of the cells empty.

02The diagnosis

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.

SKUTG-PRO-GTX-42
6
Populated fields

Of which two are unusable and one is a paragraph of copy.

product_name

TerraGrip Peak Pro GTX

usable
DESC2

All-new Peak Pro delivers unbeatable comfort and confidence on any terrain. Built to last.

Marketing prose. Zero extractable facts.

category

Footwear > Shoes

Two levels deep. No attribute schema attached.

size

42

EU or UK? No unit. No width. No conversion.

weight

0.285

Grams, kilos, or pounds? Per shoe or per pair?

price

179.00

usable
03The proof

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.

Shopper prompt

Find waterproof Gore-Tex trail running shoes with a wide toe box and Vibram Megagrip for muddy terrain

Keyword-indexed listingPosition 6 · organic

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.

Why it loses

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.

Generative answer · citedSource 1

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.

Grounded against 84 verified attributes$179.00 · in stock
04The mechanism

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.

01

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.

Output

Entity identity + confidence

02

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.

Output

Attributes + provenance

03

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.

Output

Canonical, comparable values

04

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.

Output

Live, validated JSON-LD

Emitted artifactApparel & Footwear · 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

05The numbers

What changes once the facts exist.

Measured across enterprise catalogs above 10,000 SKUs in the first two quarters after resolution.

4.8×
AI citation rate

Answers naming the catalog as a source.

+62%
Long-tail conversion

Three-or-more-constraint queries.

84
Attributes per SKU

Median, up from a baseline of nine.

−71%
Feed disapprovals

Google Merchant, first 90 days.

99.4%
Source-traced values

Every value tied to a document.

0
Unsourced attributes

Published to production catalogs.

3–14d
Time to re-index

From republish to visible change.

<1s
Regeneration

Attribute change to live schema.

06Objections

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.

A lone figure walking toward a tall, brightly lit doorway in a dark hall
Next

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