I am implementing Schema.org structured data into my magazine-style website and have a couple of concerns regarding the use of multiple lists.
I have two sections on my home page: 'Most Recent' and 'Most Popular'. Both sections contain five mini-articles each. I have considered both of these sections as 'lists'. This is an example of one section - the other is identical apart from the articles, obviously:
This is my Schema JSON-LD. I have cut this sample short at ...
for the sake of keeping the sample easily readable and have removed domains/names, etc. So far, I have only added the five articles from 'Most Recent' to this ItemList
and testing it using Google's Structured Data Testing Tool returns zero warnings and zero errors:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "ItemList",
"numberOfItems": "5",
"itemListOrder": "Descending",
"itemListElement": [
{
"@type": "Article",
"position": "1",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "/motoring/audi-launches-2019-sq8-tdi/"
},
"articleSection": "Motoring",
"headline": "Audi launches 2019 SQ8 TDI",
"datePublished": "2019-09-01",
"dateModified": "2019-09-01",
"image": "/content/uploads/2019/08/2019-audi-sq8-tdi-001-800.jpg",
"url": "/motoring/audi-launches-2019-sq8-tdi/",
"author": "The Author",
"publisher": {
"@type": "Organization",
"name": "Company Name",
"url": "https://company.name",
"logo": {
"@type": "ImageObject",
"url": "https://company.name/logo.png"
},
"founder": "Founder",
"foundingDate": "2019"
}
},
{
"@type": "Article",
"position": "2",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "/gadgets-tech/meet-keysmart-the-smart-key-oraganiser/"
},
"articleSection": "Gadgets & Tech",
"headline": "Meet Keysmart: The smart key organiser",
"datePublished": "2019-09-01",
"dateModified": "2019-09-01",
"image": "/content/uploads/2019/08/the-smartkey-orgainser-001-800.jpg",
"url": "/gadgets-tech/meet-keysmart-the-smart-key-oraganiser/",
"author": "The Author",
"publisher": {
"@type": "Organization",
"name": "Company Name",
"url": "https://company.name",
"logo": {
"@type": "ImageObject",
"url": "https://company.name/logo.png"
},
"founder": "Founder",
"foundingDate": "2019"
}
},
...
]
}
</script>
However, as mentioned above, this ItemList
is only for the five 'Most Recent' articles. I would now like to add structured data for the other section, 'Most Popular', and not sure how best to approach it.
- Do I add the most popular five articles to the same
ItemList
, do I create a newItemList
or do I create a new script/JSON? How is this best achieved? Please provide an example. - Do I really need to add publisher/organization for each article like I have or can this be shortened somehow? It seems unnecessarily bulky doing it as I have.
- Each of these mini-articles points to a full article using
mainEntityOfPage
. Am I right using type 'WebPage' or should I be using type 'Article'? - If two lists are required, is there a way of telling search engines that one list contains most recent items and one contains most popular or is that unnecessary?
ItemList
on each of them? I'm not aware of any possible benefit of doing so. The only benefit of schema is usually getting a rich snippet from Google. Even if Google supportsItemList
for a rich snippet (and I don't think they do), using it twice isn't going to help. – Stephen Ostermiller♦ Sep 1 '19 at 18:30ItemList
schema.org/ItemList and Google does support it, and for Articles, developers.google.com/search/docs/data-types/carousel. Thanks, but I think I'll wait for somebody else that can advise more accurately. – Martin James Sep 1 '19 at 18:54