Skip to content

Either "offers", "review", or "aggregateRating" should be specified

Google found Product markup with no price, no review, and no rating, so that product can't get a rich result. Give the markup an offer, or remove the stray Product block that shouldn't be there.

In Search Console
  • Either "offers", "review", or "aggregateRating" should be specified

    Shopping > Product snippets

    Critical

Critical: the item can't show as a rich result until it's fixed.

By Bruno Amorim · ·

This is a critical issue. Search Console's email lists it under Top critical issues, and the report puts it under Why items are invalid. Google needs a name plus at least one of offers, review, or aggregateRating before Product markup counts.

Find the incomplete Product block

  1. Paste the page address into the Rich Results Test. Open Product snippets and click the invalid item. It shows the fields Google found.
  2. Open the page source and search for "Product" inside application/ld+json blocks. Also search for schema.org/Product, which finds older microdata in the HTML.
  3. Count the Product items. A page with one complete block and one bare block has a second source of markup.

Then match what you found

A second Product block from an app, widget, or old snippet

Review apps, quick-view widgets, and leftover theme snippets can print their own Product markup with only a name. On Shopify's forum, one store traced it to a quick-view feature it didn't even use on product pages. Turn off that app's markup or delete the snippet, so one complete block remains.

A page that isn't one product

Collection pages, category pages, and blog posts sometimes carry Product markup. Google's review guidelines ask for markup about one specific item, not a category or list. Remove Product markup from those templates.

A real product with no price in the markup

Add the offer. On a real product page, that is the fix.

Before: no offer, review, or rating
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Canvas Weekender Bag",
  "image": "https://example.com/photos/weekender-bag.jpg",
  "description": "Waxed canvas travel bag with leather handles."
}
</script>
After: an offer with the price
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Canvas Weekender Bag",
  "image": "https://example.com/photos/weekender-bag.jpg",
  "description": "Waxed canvas travel bag with leather handles.",
  "offers": {
    "@type": "Offer",
    "price": 89,
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}
</script>

You need only one of the three. Google's docs warn that the Rich Results Test may still show a warning when a product has offers but no review or aggregateRating. That's the non-critical Missing field "review", and you can leave it.

What the review and rating warnings mean: Product snippets missing field.

On your platform

Shopify

Dawn and Horizon write one Product block with an offer. If this error shows, search the theme's code and your apps for a second block. Check review apps first.

WooCommerce

WooCommerce's own markup skips a product that has no price, no reviews, and no rating, so WooCommerce itself doesn't cause this error. Look at your theme and other plugins. If you want ratings in the markup, Yoast's help says to turn on reviews and star ratings in WooCommerce > Settings > Products.

Questions

What does "Top critical issues" mean in the Search Console email?

Critical issues stop the item from showing as a rich result, such as a price or stars under your listing. The page itself stays indexed and can still show as a plain result.

Do I need offers, review, and aggregateRating all together?

No. One is enough. Most stores use offers, because every product has a price.

Can I add a rating to clear the error?

Only real ratings that people can see on the page. Google's review guidelines require the rating to be visible, and they ban fake reviews. Adding offers is the safer fix.

Sources

Checked on October 8, 2026. Vendors change their tools and docs, so check the source if something looks different.

See which of your pages Google left out

Prices, stars, and breadcrumbs only show for pages in Google's index. CrawlCoach shows which of your pages Google left out, and the fix for each.

Get my free report

Free for up to 500 pages. No card needed. Sign in with the Google account you use for Search Console.

More structured data fixes

Related guides