XooCode(){

VideoGallery

VideoGallery is a direct CollectionPage subtype for pages whose primary content is a collection of videos. It has no unique properties. Pattern: mainEntity pointing to an ItemList of VideoObject entries.

Each VideoObject should carry contentUrl (or embedUrl), thumbnailUrl, uploadDate, duration, and a short description.

Full example of schema.org/VideoGallery json-ld markup

The markup is verified as valid with Rich Results Test from Google.

schema.org/VideoGallery
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoGallery",
  "name": "Xoo Code tutorial videos",
  "url": "https://xoocode.com/tutorials/videos",
  "mainEntity": {
    "@type": "ItemList",
    "itemListElement": [
      { "@type": "ListItem", "position": 1, "item": { "@type": "VideoObject", "name": "Structured Data 101", "contentUrl": "https://xoocode.com/videos/sd-101.mp4", "thumbnailUrl": "https://xoocode.com/videos/sd-101-thumb.jpg", "uploadDate": "2026-03-01", "duration": "PT12M40S" } },
      { "@type": "ListItem", "position": 2, "item": { "@type": "VideoObject", "name": "Product rich results in 10 minutes", "contentUrl": "https://xoocode.com/videos/product-rr.mp4", "thumbnailUrl": "https://xoocode.com/videos/product-rr-thumb.jpg", "uploadDate": "2026-03-15", "duration": "PT10M08S" } }
    ]
  }
}
</script>

Minimal valid version

The smallest markup that still produces a valid VideoGallery entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/VideoGallery (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoGallery",
  "name": "Tutorial videos"
}
</script>

Google rich results this unlocks

VideoGallery is a structural type. It does not produce a rich result on its own.

Its value comes from combining it with a primary type whose markup earns a rich result (Article, Product, Event, and so on). VideoGallery becomes the trunk that the primary type branches off viamainEntityorbreadcrumb. Include it on every page as the backbone of your markup.

Common VideoGallery mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    Missing thumbnailUrl on videos

    Wrong
    VideoObject without thumbnailUrl
    Right
    Always populate thumbnailUrl; Google's video surfaces require it

    Without thumbnails, videos drop out of the video rich result.

Also mentioned in 1 other example

VideoGallery also appears in CollectionPage. See the full VideoGallery schema page for every reference.

About the example data

The Xoo Code tutorial-video library.

Comments

Loading comments...

Leave a comment