Video SEO and VideoObject Schema: The Complete Guide
- March 20, 2026
- Schema & Structured Data
Video is now a first-class result type in Google, eligible for video carousels, thumbnails beside text results, and key-moment chapters. To compete, put each video on a watchable page, mark it up with VideoObject structured data (name, description, thumbnailUrl, uploadDate, and contentUrl or embedUrl are the load-bearing fields), help Google find it with a video sitemap, and add a transcript so both people and AI systems can read what the video says. This guide covers the schema, key moments, sitemaps, hosting trade-offs, common mistakes, and validation.
Why video SEO matters
Search results are no longer a wall of blue links. Google surfaces video in several distinct ways: dedicated video carousels, a video thumbnail attached to a standard web result, and a full Videos tab. A page that hosts a relevant video can win visual real estate that a text-only page cannot, which lifts click-through even when the ranking position is identical.
There is also a discovery layer most teams overlook. Google can show key moments, chapter-style links that drop a viewer at a specific timestamp inside the video. That turns one video into many possible entry points from search.
The first strategic decision is where the video lives.
YouTube vs self-hosted
YouTube is itself the second-largest search engine and a discovery channel in its own right. Videos hosted there can rank inside Google video features and reach YouTube's audience, but the watch experience and the surrounding traffic largely belong to YouTube, not your domain.
Self-hosting (or a privacy-focused host like Vimeo or Wistia embedded on your own page) keeps the viewer on your site, lets you control the page, and means the video earns signals for your URL. The trade-off is that you are responsible for delivery, a stable file URL, and the structured data that helps Google understand the video. For most businesses the strongest play is both: publish on YouTube for reach, and embed a watchable, marked-up version on your own page for owned traffic.
VideoObject structured data
VideoObject is the schema.org type that tells Google a page contains a video and describes it. Per Google's documentation, the markup must be added to a page where users can actually watch the video, and the total video duration must be at least 30 seconds to be eligible for video features. (Google: Video structured data)
Required properties
If you omit the required fields, Google may not be able to extract any information about the video. The required properties are:
- name: the title of the video.
- description: a description of the video; HTML tags are ignored.
- thumbnailUrl: one or more thumbnail image URLs.
- uploadDate: the date the video was first published, in ISO 8601 format with a time zone.
- contentUrl or embedUrl: Google strongly recommends supplying at least one.
contentUrlpoints at the actual media file;embedUrlpoints at the player. Providing both helps Google.
Recommended properties
Recommended fields add context that can improve how the video is presented:
- duration: the runtime in ISO 8601 format, written as
PT#M#S. For examplePT15M51Smeans 15 minutes 51 seconds. (Google: Video sitemaps) - expires: if the video is no longer available after a certain date.
- regionsAllowed, hasPart (Clip), potentialAction (SeekToAction), publication (for live videos), and engagement signals like interactionStatistic.
Provide unique values for thumbnailUrl, name, and description on every video. Reusing the same thumbnail or description across videos is a common reason a video fails to get indexed.
Key moments and Clip markup
Key moments let users jump to segments of a video like chapters in a book. There are two ways to enable them. (Google Search Central blog)
- Clip: you define each segment yourself with a start time, end time, name, and a URL that links directly to that timestamp. Use Clip when you want full control over which moments are highlighted.
- SeekToAction: you tell Google how your URL structure encodes a timestamp, and Google automatically detects the segments. Use this when you would rather let Google identify the moments. SeekToAction support is limited to a set of languages including English, Spanish, Portuguese, Italian, French, German, Japanese, and others.
Pick one approach per video; do not combine Clip and SeekToAction for the same video.
Video sitemaps
A video sitemap is a regular sitemap with extra video-specific tags. It helps Google find and understand video content, especially videos that were just added or that Google might not discover on its own. Each video entry can carry a title, description, thumbnail location, content or player location, duration, and publication date. If you run a large or frequently updated video library, a video sitemap is the most reliable discovery mechanism. For the broader fundamentals of sitemap structure and submission, see our XML sitemaps complete reference.
Thumbnails
A video must have a valid thumbnail to be eligible for video features. Use a single, unique, and stable thumbnail URL per video, and keep that URL identical across every metadata source you provide (structured data, sitemap, and any other feed). A thumbnail that returns a different URL each time, or that 404s, is one of the most frequent causes of a video dropping out of search features.
Transcripts: accessibility and AI extraction
A transcript is the spoken content of the video written as text on the page. It serves two audiences at once. For people, it is an accessibility requirement and a convenience for anyone who cannot or does not want to play audio. For machines, it is the cleanest signal of what the video actually says, which both search engines and AI answer systems use to extract and quote your content. Video pixels are opaque to a language model; the transcript is not. Publishing a transcript next to the embed is one of the highest-leverage, lowest-cost things you can do, and it overlaps directly with the tactics in our guide to winning featured snippets and feeding AI.
Hosting choices
Beyond the YouTube-versus-self-hosted decision, the technical requirement that matters most is a stable URL for both the video file and its thumbnail. Google needs to fetch the media consistently to confirm it is still available and to enable features like previews and key moments. Whatever host you choose, avoid signed URLs that rotate, query strings that expire quickly, or players that block Googlebot. A privacy-respecting embed that still exposes a stable contentUrl or embedUrl is the practical sweet spot.
Common mistakes
- Putting VideoObject markup on a page where the video cannot be watched.
- Videos shorter than 30 seconds, which are not eligible for video features.
- Reused or duplicate name, description, or thumbnailUrl across multiple videos.
- A thumbnail URL that is unstable, blocked, or different across sitemap and structured data.
- Omitting both contentUrl and embedUrl, leaving Google with no way to reach the media.
- Wrong duration format. It must be ISO 8601 (
PT#M#S), not3:42. - uploadDate without a time zone.
- No transcript, which costs you both accessibility and AI extraction.
Validation
Test your markup with Google's Rich Results Test to confirm the VideoObject is valid and eligible, and use the Schema Markup Validator on schema.org for generic syntax checks. After deployment, the Video indexing report in Search Console shows which video pages Google indexed and flags issues such as a missing thumbnail or an unwatchable video. The same disciplined approach to required fields and validation applies to every schema type; see our Article schema guide for the broader pattern.
VideoObject JSON-LD example
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "How to Run a Technical SEO Audit",
"description": "A step-by-step walkthrough of auditing crawlability, indexing, and structured data on any website.",
"thumbnailUrl": [
"https://example.com/thumbs/seo-audit-1x1.jpg",
"https://example.com/thumbs/seo-audit-16x9.jpg"
],
"uploadDate": "2026-05-12T08:00:00+00:00",
"duration": "PT15M51S",
"contentUrl": "https://example.com/videos/seo-audit.mp4",
"embedUrl": "https://example.com/embed/seo-audit",
"hasPart": [
{
"@type": "Clip",
"name": "Checking crawlability",
"startOffset": 30,
"endOffset": 280,
"url": "https://example.com/watch/seo-audit?t=30"
},
{
"@type": "Clip",
"name": "Validating structured data",
"startOffset": 281,
"endOffset": 540,
"url": "https://example.com/watch/seo-audit?t=281"
}
]
}
</script>Frequently asked questions
Do I need VideoObject markup if my video is on YouTube?
YouTube handles its own indexing on YouTube. But if you embed that video on your own page and want it to be eligible for video features tied to your URL, add VideoObject markup to the watchable page.
What is the minimum video length for Google video features?
Google requires a total duration of at least 30 seconds for a video to be eligible for video features.
Should I use Clip or SeekToAction for key moments?
Use Clip when you want to define the segments yourself with explicit timestamps. Use SeekToAction when you prefer Google to detect segments automatically and your URLs encode timestamps. Do not use both on the same video.
Is a video sitemap required?
No, but it is strongly recommended for large or frequently updated video libraries because it helps Google discover videos it might otherwise miss.
Why add a transcript?
A transcript improves accessibility for users and gives search engines and AI answer systems readable text describing exactly what the video says, which they cannot extract from the video frames alone.
Want your video pages working as hard as they can?
An advanced SEO audit checks your structured data, sitemaps, indexing, and the technical foundations that decide whether your videos ever surface in search.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







