29

I can't figure out how you would define a bunch of videos on the same page. i.e. a search page. Let's say you've a site that returns 50 different videos. Then how are you supposed to define this with JSON-LD?

KaekeaSchmear
  • 1,548
  • 5
  • 18
  • 30

1 Answers1

53

If you have multiple items as value of a property, you could use an array:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebPage",
  "video":
  [
    {
      "@type": "VideoObject"
    },
    {
      "@type": "VideoObject"
    }
  ]
}
</script>

If you have multiple items on the top-level (not as value of a property), you could use a (named) graph and an array:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@graph": 
  [
    {
       "@type": "VideoObject"
    },
    {
       "@type": "VideoObject"
    }
  ]
}
</script>

And you could of course use multiple script elements:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebPage",
  "video": 
  {
    "@type": "VideoObject"
  }
}
</script>

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebPage",
  "video": 
  {
    "@type": "VideoObject"
  }
}
</script>
Community
  • 1
  • 1
unor
  • 92,415
  • 26
  • 211
  • 360
  • (Note that this is just example code, not tailored to your specific case. If you wonder *which* Schema.org types and properties you should use, this should be a separate question.) – unor May 28 '15 at 12:29