🎬 VideoObject Schema Guide
Implement structured data markup for videos to enhance search visibility and enable rich video snippets in Google results.
Why VideoObject Schema Matters
Video Rich Snippets
Videos appear with thumbnails directly in Google search results, increasing visibility and click-through rates.
Higher CTR
Video thumbnails in search results can increase CTR by up to 157% compared to standard text results.
Video Carousel
Properly marked videos can appear in Google's video carousel feature for relevant queries.
Key Moments
Enable seekable video previews showing specific timestamps and chapters in search results.
VideoObject Schema Basics
VideoObject is a schema.org type that helps search engines understand video content. It provides metadata about your video including title, description, duration, and thumbnail.
Implementing VideoObject schema using JSON-LD is the recommended approach by Google. Place the script in your page's <head> or <body>.
// JSON-LD in <script> tag { "@context": "https://schema.org", "@type": "VideoObject", "name": "Lion's Mane Growing Guide", "description": "Learn how to cultivate lion's mane mushrooms at home with this beginner-friendly step-by-step tutorial.", "thumbnailUrl": "https://example.com/ thumbnail.jpg", "uploadDate": "2024-01-15", "duration": "PT12M30S", "contentUrl": "https://example.com/ video.mp4" }
Required Properties
name
RequiredThe title of your video. Should be descriptive and include relevant keywords naturally.
description
RequiredA detailed description of the video content. Include key topics covered and target keywords.
thumbnailUrl
RequiredURL to a representative image. Must be crawlable and at least 60x30 pixels (recommended 1920x1080).
uploadDate
RequiredThe date the video was first published. Use ISO 8601 format (YYYY-MM-DD).
contentUrl or embedUrl
One RequiredEither the direct video file URL (contentUrl) or the embeddable player URL (embedUrl).
duration
RecommendedVideo length in ISO 8601 duration format. PT = Period Time, followed by hours, minutes, seconds.
Optional Properties
interactionStatistic
View count or other engagement metrics for social proof.
expires
Date when video will no longer be available (if applicable).
hasPart
Clip objects for key moments/chapters within the video.
publication
Broadcast event info for live streams or scheduled content.
regionsAllowed
Geographic regions where video can be watched.
requiresSubscription
Whether video requires a paid subscription to view.
transcript
Full text transcript of the video content.
inLanguage
Language of the video content (BCP 47 format).
Complete Implementation Example
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Reishi Mushroom Benefits - Complete Health Guide",
"description": "Discover the scientifically-proven health benefits
of reishi mushrooms including immune support, stress reduction,
and sleep improvement. Expert-reviewed content.",
"thumbnailUrl": [
"https://example.com/thumbnails/reishi-1x1.jpg",
"https://example.com/thumbnails/reishi-4x3.jpg",
"https://example.com/thumbnails/reishi-16x9.jpg"
],
"uploadDate": "2024-06-15T08:00:00+00:00",
"duration": "PT15M30S",
"contentUrl": "https://example.com/videos/reishi-benefits.mp4",
"embedUrl": "https://youtube.com/embed/abc123xyz",
"interactionStatistic": {
"@type": "InteractionCounter",
"interactionType": "https://schema.org/WatchAction",
"userInteractionCount": 45230
},
"hasPart": [
{
"@type": "Clip",
"name": "Immune System Benefits",
"startOffset": 120,
"endOffset": 300,
"url": "https://example.com/video#t=120"
},
{
"@type": "Clip",
"name": "Sleep Quality Improvement",
"startOffset": 480,
"endOffset": 660,
"url": "https://example.com/video#t=480"
}
]
}
</script>
Implementation Notes
Testing & Validation
Rich Results Test
Google's official tool for testing structured data and previewing rich results.
Schema Markup Validator
Schema.org's validator for checking markup against the official specification.
Search Console
Monitor video structured data performance and fix issues in Google Search Console.
Video Platform Considerations
YouTube
Use embedUrl for YouTube videos. Google automatically extracts some data from YouTube.
Vimeo
Include both embedUrl and thumbnailUrl as Vimeo data isn't auto-extracted.
Self-Hosted
Use contentUrl for direct video files. Ensure videos are crawlable.
Live Streams
Add BroadcastEvent for live content with scheduled start times.