I was trying out a bunch of things on Google's Rich Results Test, and ran into this issue.
<html>
<head>
<title>Test SEO</title>
<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"Service",
"name":"ABC",
"aggregateRating":{
"@type":"AggregateRating",
"ratingValue":5,
"reviewCount":2
},
"review":[
{
"@type":"Review",
"name": "ABC",
"author": {
"@type": "Person",
"name": "David A"
},
"reviewBody":"Awesome",
"reviewRating":{
"@type":"Rating",
"ratingValue":5
}
},
{
"@type":"Review",
"name": "ABC",
"author": {
"@type": "Person",
"name": "David B"
},
"reviewBody":"Great",
"reviewRating":{
"@type":"Rating",
"ratingValue":5
}
}
]
}
</script>
</head>
<body>
</body>
</html>
When I ran the test, it returned 3 errors, 2 of them saying
Item does not support reviews
and 1 of them saying
Invalid object type for field 'itemReviewed'
For the first error, I'm not sure why I'm getting the error as I provided all the required fields for a review
(https://developers.google.com/search/docs/advanced/structured-data/review-snippet#review-properties).
As for the second error, again I think I provided all the needed fields according to https://developers.google.com/search/docs/advanced/structured-data/review-snippet#aggregated-rating-type-definition, but still getting back that error.
I didn't provide itemReviewed
to either objects, since the document indicated if it's nested, it can be omitted.
So the best answer I found was this: https://support.google.com/webmasters/thread/38450143/doubts-about-service-schema?hl=en
It seems like even though Schema.org supports Service
, it's not part of the schema type that is supported by Google by the looks of it (https://developers.google.com/search/blog/2019/09/making-review-rich-results-more-helpful).
As a reference, this is an example from their docs, and if you change the @type
from Product
to Service
, you will see similar errors pop up.
I guess the solution here is to update from Service
to Product
, but it's just a bit weird considering how GSC(Google Search Console) didn't spit out warnings until now...