Rankealo

Product · JSON-LD

Product Schema Generator

Product schema describes an item you sell: its price, availability, and rating. Of the common schema types, this is the one with the clearest surviving payoff in search results.

Open the schema generator

Still earns rich results

Still fully supported. Product markup can produce product snippets showing price, availability, and review stars, and it feeds Google's merchant and shopping surfaces. This is the schema type most worth getting exactly right on an ecommerce site.

Why it is still worth adding

Beyond the visible snippet, product markup is how shopping and AI assistants read your catalogue. When someone asks an assistant for a product like yours in a price range, structured price and availability data is what makes your item comparable rather than invisible.

A valid Product example

Drop this in a <script type="application/ld+json"> tag in the page head or body, with your own values.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Ceramic Pour-Over Dripper",
  "image": ["https://example.com/dripper.jpg"],
  "description": "A single-cup ceramic pour-over dripper with a spiral rib design.",
  "sku": "PD-001",
  "brand": {
    "@type": "Brand",
    "name": "Rankealo Coffee"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/pour-over-dripper",
    "priceCurrency": "EUR",
    "price": "24.00",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "reviewCount": "87"
  }
}

Required and recommended properties

PropertyRequiredNotes
nameRequiredThe product name as shown to customers.
imageRequiredOne or more image URLs. Multiple aspect ratios are recommended.
offersRequiredAn Offer with price, priceCurrency, and availability. Required for a product snippet.
offers.priceRequiredA number without currency symbols. "24.00", not "€24".
offers.availabilityRequiredA schema.org URL such as InStock or OutOfStock, not free text.
aggregateRatingOptionalOnly when genuine ratings exist and are visible on the page.
sku / gtin / mpnOptionalIdentifiers that help match your item to a known product.

Common Product schema mistakes

Prices in the markup that differ from the page

A stale price in JSON-LD is the most common product-markup error and it is the one Google treats most seriously, because it misleads shoppers. Generate the markup from the same data as the rendered price.

Ratings that are not visible on the page

aggregateRating must reflect reviews a visitor can actually see. Inventing a rating, or carrying one over from another site, is exactly what the review-snippet restrictions were designed to catch.

Currency symbols or ranges inside price

The price property takes a plain number. Ranges belong in separate offers or an AggregateOffer with lowPrice and highPrice.

Generating it is the easy half

The harder part is keeping markup correct across a site as pages change. Rankealo's SEO agent audits structured data across your pages and ships the JSON-LD fixes as pull requests you review and merge, rather than handing you a list of errors to implement yourself.

See how the SEO agent ships fixes

Product schema questions

Does product schema still earn rich results?

Yes. Product markup remains fully supported and can produce snippets showing price, availability, and star ratings, as well as feeding shopping surfaces. It is one of the few schema types whose original promise is still intact, which makes it the highest-value type to implement correctly.

Can I add product schema to a category page?

Not as a single Product. A category or listing page describes many items, so it should use ItemList referencing the individual product pages. Marking a category page up as one Product is invalid and is a frequent cause of Search Console errors.

What happens if my price changes?

The markup must change with it. Serving a price in JSON-LD that no longer matches the page can cost you the rich result and, in shopping surfaces, get the item disapproved. Always generate price and availability from live data rather than hard-coding them.

Other schema types

Or go back to the schema markup generator to build markup interactively.

Reading is step one. Measuring your AI visibility is step two.

Rankealo tracks how often your brand is mentioned and cited across the major AI engines, then helps you publish the pages that close the gaps.