# Pages with broken Product schema

A per-URL report: one row per page that matches, over the pages a crawl reached.

## What this report returns

Product/Offer JSON-LD is the structured listing agents read to quote, compare, or buy a product.

A row appears here when any of these is wrong, worst first:

-   **Missing Price**An Offer has no price, so agents can't quote or compare the product.**Fix** Add `"price"` to the offer, e.g. `"price": "49.99"`.
-   **Non-Numeric Price**The price isn't numeric (e.g. `"$19.99"` with the symbol embedded), so agents can't parse it.**Fix** Keep price purely numeric (`"19.99"`) and put the currency in `priceCurrency`.
-   **Missing Currency**The Offer has no `priceCurrency`, so the price is ambiguous across markets.**Fix** Add the ISO 4217 code, e.g. `"priceCurrency": "USD"`.
-   **Invalid Currency**PriceCurrency isn't a 3-letter ISO 4217 code (e.g. `"$"` or "US Dollars"), so agents can't reliably identify the currency.**Fix** Use the code, e.g. `"USD"`, `"GBP"`, `"EUR"`. (Format is checked, not membership.)
-   **Missing Availability**An individual Offer has no availability, so agents can't tell whether it's buyable right now (an AggregateOffer price range is exempt). Google lists this one as recommended rather than required, so it's a readiness gap, not a spec violation.**Fix** Add `"availability": "https://schema.org/InStock"` (or the accurate value).
-   **Invalid Availability Enum**Availability isn't a schema.org ItemAvailability value, so it's ignored.**Fix** Use one of the enum URLs, e.g. `https://schema.org/InStock`, OutOfStock, PreOrder.

They are still what a buying agent needs, so the rows are worth fixing.

## The columns it shows

Every defect this technology can carry is a column in the grid, worst first, so nothing is hidden behind a filter you have to know to apply.

-   Product Schema Valid`productSchemaValid`
-   Product Schema Findings`productSchemaFindings`
-   Product Schema Offer Count`productSchemaOfferCount`
-   Product Schema Price Samples`productSchemaPriceSamples`
-   Product Schema Currency Samples`productSchemaCurrencySamples`
-   Product Schema Availability Samples`productSchemaAvailabilitySamples`
-   Product Schema Missing Price`productSchemaMissingPrice`
-   Product Schema Non-Numeric Price`productSchemaNonNumericPrice`
-   Product Schema Missing Currency`productSchemaMissingCurrency`
-   Product Schema Invalid Currency`productSchemaInvalidCurrency`
-   Product Schema Missing Availability`productSchemaMissingAvailability`
-   Product Schema Invalid Availability Enum`productSchemaInvalidAvailabilityEnum`

## About Product / Offer schema

Price, availability and identifiers an agent can quote.

[Read how Product / Offer schema is checked](https://agentic-readiness.lumar.io/docs/commerce/product-schema), including the specification it is validated against and a worked correct and broken example.

## Running it

This report comes with Agentic Readiness in Lumar and appears on every crawl of any project that has it turned on. [See the whole set](https://agentic-readiness.lumar.io/scan-at-scale), or check a single URL with the [scanner on this site](https://agentic-readiness.lumar.io/), which runs the same code with no account.

[Get Lumar pricing →](https://www.lumar.io/pricing/)
