Search code examples
schema.orgstructured-data

How Do Some Sites Use the Reviewedby Property Individually?


I am trying to create a piece of structured data for my articles, and I am confused about the use of the reviewedBy property.

By definition, the reviewedBy property can only be nested inside the WebPage type. However, I've seen sites using the reviewedBy property individually (without being nested) and Google doesn't recognize this as an issue, on the other hand, the Schema Markup Validator does.

How is that possible?

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Best Bread Recipe in 2025",
  "author": {
    "@type": "Person",
    "name": "John Smith",
    "URL": "https://example.com/bread-recipe"
  },
  "reviewedBy": {
  "@type": "Person",
  "name": "Sara Smith"
  }
}

Here's also an image of the code in the official Rich Results Test validator and Schema.org validator:

https://ibb.co/8zGzXVS

Thanks!


Solution

  • The correct validation is given by schema.org's validator.

    It would seem that Google doesn't complain about it, because it probably doesn't even look at that property, i.e. it validates only those properties, required by their documentation, you could add any property, and it would not complain, and here's a part that could serve as explanation:

    Most Search structured data uses schema.org vocabulary, but you should rely on the Google Search Central documentation as definitive for Google Search behavior, rather than the schema.org documentation

    https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data

    So, it depends what you're trying to achieve. If you want for Google to find it, then you don't need it. If you want to implement schema.org vocabulary, then you'll need to use the correct properties.

    Another option that structured data offers, is to mark your content/type as both as a 'WebPage' and 'Article', by making @type property an array, which contains both types, so you can mix properties from both types at once:

    "@type": ["Article", "WebPage"]
    

    full code:

    {
      "@context": "https://schema.org",
      "@type": ["Article", "WebPage"],
      "headline": "Best Bread Recipe in 2025",
      "author": {
        "@type": "Person",
        "name": "John Smith",
        "URL": "https://example.com/bread-recipe"
      },
      "reviewedBy": {
      "@type": "Person",
      "name": "Sara Smith"
      }
    }
    

    Note how semantics of this example is a bit interwoven, so it's hard to grasp what does reviewedBy relate to, is it WebPage, or Article, so I'd avoid that approach.

    Furthermore, if you want to add markup about person reviewing Article, you might use review property and add Review, and author property, and also look at Google's Review snippet, which doesn't seem to support Article, but some other types might suite you.