1

I have an issue in Google Search Console that says that my schema is not valid for rich snippets cause of the upcoming issue (but schema is valid across validators):

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

To give some more context the schema consists of an Organization which offers products but these ones doesn't have any price, neither reviews or aggregateRating. For doing this, I used the makesOffer as described:

{
    "@context": "https://schema.org",
    "@type": "Organization",
    "name": "Org Name",
    "makesOffer": [
        {
            "@type": "Offer",
            "itemOffered": {
                "@type": "Product"
                "name": "Product Name"
                "brand": "Product Brand"
                "image": "https://images.com/demo.png"
            }
        }
    ]
}

This shorted example summarizes what I'm trying to achieve, but I'm not sure if I'm using the correct attributes or entities for that. Will appreciate any help or suggestion on that.

I've been checking the schema.org documentation but I can't find how to simply attach products to an organization which doesn't have these required fields.

1
  • This message from Search Console does not mean that your markup is invalid (as confirmed by other validators), it means that it is not eligible to display rich snippets in Google's search result pages. According to Google's documentation on Product rich snippets, it is indeed required to provide either offer, review or aggregateRating structured data for Google to display any sort of rich snippet, e.g. a "star rating" for an aggregateRating or a price for an offer. No data, no rich snippet! Commented Feb 7 at 9:52

1 Answer 1

1

Well, if you want to pass Google's validator, you need to implement it as they require.

It is required to have offers property on Product snippet, so you could rearrange your data and switch Product and Organization: make Product top level, and then express that it's offered by Organization with offeredBy, inversed of makesOffer (also, you need to have price, and as it's free, you just use 0).

Try this:

{
    "@context": "https://schema.org",
    "@type": "Product",
    "name": "Product Name",
    "brand": "Product Brand",
    "image": "https://images.com/demo.png",
    "offers": {
        "@type": "Offer",
        "price": 0,
        "priceCurrency": "USD",
        "offeredBy": {

            "@context": "https://schema.org",
            "@type": "Organization",
            "name": "Org Name"
        }

    }
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.