How to use more than 1 schema.org schema on a web page
In JSON-LD (instead of Microdata/RDFa) you have to repeat the property and its value for each node.
Instead of using a separate script
element for each node, you could also use a single script
element that contains all your nodes as value of @graph
. That way you only have to define the @context
(and possibly custom properties) one time.
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@graph":
[
{
"@type": "WebSite"
},
{
"@type": "Organization"
}
]
}
</script>
The order of the script
elements (or the nodes in @graph
) shouldn’t matter
Not looking to be a necromancer, but there was a recent article from someone at Yoast that details problems that arise with using the @Graph type when trying to get Google search to "report" the subsequent types, especially with Organization data: link
I would recommend breaking out each type into its own "node" for now instead of using @graph as an array, especially since I can't find a single mention of using @graph with JSON-LD in any of Google's Developer documentation.