I'm following Google's official examples to make JSON-LD markup for reviews and test in Google's structured data testing tool.
When making list of reviews for the same organization (all reviews are about the same organization), the testing tool shows duplicates.
For example, two reviews of the same Thing
(a book) pass the test OK:
<script type="application/ld+json">
[{
"@context": "http://schema.org/",
"@type": "Review",
"itemReviewed": {
"@type": "Thing",
"name": "Super Book"
},
"author": {
"@type": "Person",
"name": "Joe"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "8",
"bestRating": "10"
},
"publisher": {
"@type": "Organization",
"name": "Washington Times"
}
},
{
"@context": "http://schema.org/",
"@type": "Review",
"itemReviewed": {
"@type": "Thing",
"name": "Super Book"
},
"author": {
"@type": "Person",
"name": "Jane"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "7",
"bestRating": "10"
},
"publisher": {
"@type": "Organization",
"name": "Washington Times"
}
}]
</script>
Results: Google correctly detects two reviews of a Book with single reference to the Books name in each review.
Now I just change Thing
to Organization
, and what I get is a mess.
<script type="application/ld+json">
[{
"@context": "http://schema.org/",
"@type": "Review",
"itemReviewed": {
"@type": "LocalBusiness",
"@id": "www.some-url.com",
"name": "Company Name"
},
"author": {
"@type": "Person",
"name": "Jack"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"publisher": {
"@type": "Organization",
"@id": "www.some-url.com",
"name": "Company Name"
}
},
{
"@context": "http://schema.org/",
"@type": "Review",
"itemReviewed": {
"@type": "LocalBusiness",
"@id": "www.some-url.com",
"name": "Company Name"
},
"author": {
"@type": "Person",
"name": "Jane"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "4",
"bestRating": "5"
},
"publisher": {
"@type": "Organization",
"@id": "www.some-url.com",
"name": "Company Name"
}
}
]
</script>
The output in the testing tool shows multiple references to the organization name:
Four times for two reviews. When I add a hundred of reviews, each will contain hundreds of references to the organization.
Why is it such a mess? if this affects the code, how fix it?