2

We currently have some pages on our website that lists local businesses and on those pages we have testimonials.

I'm trying to make the json+ld for these pages and I read that for testimonials, you are meant to use the Review schema but for the itemReviewed, you should put organization.

With this in mind, I have come up with the following json:

{
  "reviews": [{
    "author": {
      "name": "Joe Blogs",
      "@type": "Person"
    },
    "itemReviewed": {
      "name": "Test Company",
      "@type": "Organization"
    },
    "reviewBody": "This is a testimonial 1",
    "@type": "Review"
  }, {
    "author": {
      "name": "John Smith",
      "@type": "Person"
    },
    "itemReviewed": {
      "name": "Test Company",
      "@type": "Organization"
    },
    "reviewBody": "Testimonial text 2",
    "@type": "Review"
  }, {
    "author": {
      "name": "Jane Doe",
      "@type": "Person"
    },
    "itemReviewed": {
      "name": "Test Company",
      "@type": "Organization"
    },
    "reviewBody": "Testimonial content 3",
    "@type": "Review"
  }],
  "url": "http://www.example.co.uk",
  "@context": "https://schema.org/",
  "name": "Test Company",
  "@type": "LocalBusiness",
  "image": "https://www.fillmurray.com/200/300"
}

But when I test the snippet at https://search.google.com/structured-data/testing-tool, the reviews are failing with

Multiple reviews should be accompanied by an aggregate rating.

How should I be adding testimonials as they don't have a rating (or is there a way to not need the aggregate rating for multiple reviews)?

2
  1. Your statement for the itemReviewed, you should put organization is wrong. Where do you have it from? Google lists a bunch of types, which can be reviewed: https://developers.google.com/search/docs/data-types/review-snippet?hl=en

  2. That is true: without rating values you will not get the errorfree validiation through SDTT. This is currently by design.

You can use reviews. And you can use multiple reviews. But to get the snippet validated by SDTT it is required to use rating/aggregateRating to give Google something numeric. You can use multiple reviews without ratings - it is valid syntax:

{
  "@context": "https://schema.org/",
  "review":
[{ "@type": "Review",
  "itemReviewed": {
    "@type": "Restaurant"
  },
  "name": "A good seafood place.",
  "author": {
    "@type": "Person",
    "name": "Bob Smith"
  },
  "reviewBody": "The seafood is great.",
  "publisher": {
    "@type": "Organization",
    "name": "Washington Times"
  }},
 { "@type": "Review",
  "itemReviewed": {
    "@type": "Restaurant"
  },
  "name": "A good seafood place.",
  "author": {
    "@type": "Person",
    "name": "Bob Smith"
  },
  "reviewBody": "The seafood is great.",
  "publisher": {
    "@type": "Organization",
    "name": "Washington Times"
  }}]
}

Test it here: https://json-ld.org/playground/, and you'll see.

  • local businesses is a type of organization? schema.org/LocalBusiness. So how should I do testimonials if I cannot use reviews? – Pete Aug 9 at 14:36
  • Your snippet fails with several errors plus the main one being the same as mine: Multiple reviews should be accompanied by an aggregate rating - try using googles tester: search.google.com/structured-data/testing-tool/u/0 surely the point is that it validates properly otherwise google won't use the structured data? – Pete Aug 12 at 7:55
  • As i said: the syntax by itself is valid. Whether SDTT counts it as valid, is another question and should be discussed with the tool developers. Please file an issue in according github. – Evgeniy Aug 12 at 8:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.