Multiple (same type) schema objects on the page - any way to set one property for all of them without repeating it for each object?

by A Biron   Last Updated May 24, 2019 19:04 PM - source

I'm setting up the Structured Data for a new site that publishes buyer's guides for products. These guides will be in the form of articles with roughly 10 items each, and I'm implementing Review schema for each product in the guide using ItemList. Since it is an article, I am also implementing Article schema on each guide to leverage the Google rich search features for articles (like Top Stories).

I am using the "author" property in my Article schema, but the Review schema best practices also recommend using an "author" property. Is there any way I can refer to or link the "author" Person in the Article schema from the Review schema? Otherwise, I would have to repeat the same "author" info in each Review schema, which seems redundant.

I have tried nesting my itemListElements array inside the Article schema but that format is not recognized by Google. I also tried to add the author property to my ItemList schema, but again it says that property is not recognized by Google for that schema type. I know there is the identifier property @id, but I'm not sure how to use it properly or if it's applicable to my issue. I added it to the "author" Person in my Article schema, but how do I refer to it in my Review schema, and would that even solve my problem?

Here is my code. Currently, I am using the full author info in Article schema, then only using the name (String) in my Review schema elements. As I said before, a couple things I tried generated warnings on Google's Structured Data testing tool. Below is the cleanest version I have in terms of validating on the tool.

  <script type="application/ld+json">
  {
    "@context": "https://schema.org/",
    "@type": "Article",

    "mainEntityOfPage": {
                  "@type": "WebPage",
                  "@id": "https://example.com/best-large-camping-tents"
                },
    "headline": "10 Best Large Camping Tents",
    "image":{
                  "@type": "ImageObject",
                  "url": "https://example.com/public/build/images/best-large-camping-tents.jpg",
                  "height":700 ,
                  "width":1400
                },
    "datePublished": "May 23, 2019 14:57",
    "dateModified": "May 23, 2019 14:57",
    "author": {
                  "@type": "Person",
                  "@id": "https://example.com/author/phillipb/#author",
                  "name": "Phillip B",
                  "sameAs":[
                      "https://example.com/author/phillipb/",
                      "https://twitter.com/phillipb"
                      ]
                },
    "publisher": {
                  "@type": "Organization",
                  "name": "My Product Review Site",
                  "logo": {
                    "@type": "ImageObject",
                    "url": "https://example.com/public/build/images/my-site-logo.png",
                    "height":60,
                    "width":458
                  }
                },
    "description": "We found the 10 best large camping tents, perfect for the casual camper or the avid outdoorsman.",
    "aggregateRating": {
                "@type": "AggregateRating",
                "ratingValue": "88",
                "bestRating": "100",
                "worstRating": "1",
                "ratingCount": "20"
    }
  }
  </script> 
  <script type="application/ld+json">
  {
    "@context": "http://schema.org/",
    "@type": "ItemList",
    "name": "3 Best Large Camping Tents",
    "url": "https://www.example.com/best-large-camping-tents", 
    "itemListElement": [
      {
        "@type": "Product",
        "name": "ABC Camping Tent", 
        "url": "https://www.example.com/best-large-camping-tents/#abc-camping-tent",
        "description": "An affordable tent option for the casual camping hobbyist.", 
        "mainEntityOfPage": "https://amazon.com/abc-camping-tent-affiliate-link", 
        "image": { 
                "@type": "ImageObject", 
              "url": "https://example.com/public/build/images/abc-camping-tent-large.png",
              "height": 700,
              "width": 1400
        },
        "review": {
                "@type": "Review",
                "author": "Phillip B",
                "datePublished": "2019-04-01",
                "reviewRating": {
                  "@type": "Rating",
                  "bestRating": "5",
                  "ratingValue": "3",
                  "worstRating": "1"
              }
        }
      },
      {
        "@type": "Product",
        "name": "XYZ Camping Tent", 
        "url": "https://www.example.com/best-large-camping-tents/#xyz-camping-tent",
        "description": "A mid-scale camping tent big enough for the whole family.", 
        "mainEntityOfPage": "https://amazon.com/xyz-camping-tent-affiliate-link", 
        "image": { 
                "@type": "ImageObject", 
              "url": "https://example.com/public/build/images/xyz-camping-tent-large.png",
              "height": 700,
              "width": 1400
        },
        "review": {
                "@type": "Review",
                "author": "Phillip B",
                "datePublished": "2019-04-01",
                "reviewRating": {
                  "@type": "Rating",
                  "bestRating": "5",
                  "ratingValue": "4",
                  "worstRating": "1"
              }
        }
      },
      {
        "@type": "Product",
        "name": "PQR Camping Tent", 
        "url": "https://www.example.com/best-large-camping-tents/#pqr-camping-tent",
        "description": "The upper echelon of camping tents for the experiened hiker.", 
        "mainEntityOfPage": "https://amazon.com/pqr-camping-tent-affiliate-link", 
        "image": { 
                "@type": "ImageObject", 
              "url": "https://example.com/public/build/images/pqr-camping-tent-large.png",
              "height": 700,
              "width": 1400
        },
        "review": {
                "@type": "Review",
                "author": "Phillip B",
                "datePublished": "2019-04-01",
                "reviewRating": {
                  "@type": "Rating",
                  "bestRating": "5",
                  "ratingValue": "5",
                  "worstRating": "1"
              }
        }
      }
    ]
  }
  </script>

I expect there must be a way to indicate when a property is reused in another schema on the same page, but so far my attempts have not worked. Is repeating the same info over and over again the only option?



Related Questions




google search console: empty brand and model of Product

Updated September 03, 2018 02:04 AM