0

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?

Your Answer

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

Browse other questions tagged or ask your own question.