How do I make my prices readable by an AI agent?
We look for a Schema.org Offer block carrying both a price and a priceCurrency field on pages that show a price.
What it is
Schema.org defines an Offer as the thing that attaches a price to a product or service. Its two load-bearing fields are `price`, a bare number, and `priceCurrency`, a three-letter ISO code such as GBP or EUR.
An Offer is published as JSON-LD in a script tag in the head, usually nested inside a Product or Service block. It sits alongside the visible price on the page rather than replacing it.
This Check pairs with a second one: when we find price-like text on a page and no structured price field, we record that the price exists only as display text.
Why an agent needs it
A price rendered as `£1,200 / month` inside a styled heading is a string. An agent asked to compare three suppliers cannot sort strings it cannot parse, and it will not guess which of several numbers on the page is the price.
This is the Check that becomes commercially urgent as agentic checkout arrives, because an agent that cannot read your price cannot put your offer in a shortlist.
The Fix
Add a JSON-LD block to the head of each page that shows a price. Use a Product or Service with an `offers` object containing `@type: Offer`, `price` as a bare number with no currency symbol or thousands separator, and `priceCurrency` as the ISO code.
Keep the structured price identical to the visible one. A mismatch is worse than an absence, because it makes every other field you publish suspect.
If a price genuinely varies, publish an `AggregateOffer` with `lowPrice` and `highPrice` rather than omitting the block. Leave any field blank where you have no fact to put in it.
A Deep Scan writes this one for you. It arrives in the Fix Pack, generated from the pages we crawled on your site.