Summarize with:

When you search for a tutorial or review on Google, you’ve probably noticed video results with clickable timestamps that let you jump directly to specific sections. Those timestamps called “Key Moments” are powered by video schema markup, and they’re transforming how video content performs in search.

Video schema markup is structured data that tells search engines exactly what’s in your video: its title, duration, thumbnail, upload date, and most importantly, the specific moments within the video that address different topics. This video structured data enables Google to display rich video results with enhanced features. Video schema markup is structured data that tells search engines this video structured data helps improve AI understanding.

What Are Key Moments?

Key Moments are clickable timestamp links that appear in Google search results, allowing users to jump directly to specific sections of a video. Instead of watching an entire 20-minute tutorial, users can click to the exact 3-minute mark that answers their question.

Key Moments can be generated two ways: automatically by Google’s AI analyzing your video, or manually through key moments schema using Clip markup that you control.

Video schema markup improves discoverability and engagement:

  • Visual prominence: Video rich results stand out with thumbnails and timestamps
  • Direct navigation: Key Moments let users jump to exactly what they need
  • AI integration: Structured video data feeds into AI-powered search summaries
  • Voice search: Video metadata helps assistants answer “show me how to” queries

Understanding Video Structured Data

Video-structured-data-breakdown

Video structured data is a form of schema markup that helps search engines clearly understand the content and context of your videos. By using formats like VideoObject, you can provide key details such as title, duration, thumbnail, and timestamps, making your videos eligible for rich results like Key Moments. This not only improves visibility in search but also enhances how AI systems interpret and present your video content.

Schema.org VideoObject

Schema.org defines VideoObject as “A video file.” It’s the core type for video schema markup, containing properties for everything from basic metadata (name, description, duration) to engagement metrics and chapter information.

PropertyStatusDescription
nameRequiredVideo title
thumbnailUrlRequiredURL to video thumbnail image
uploadDateRequiredWhen the video was published (ISO 8601)
descriptionRecommendedVideo summary
durationRecommendedVideo length (ISO 8601 duration)
contentUrlRecommendedDirect URL to video file
embedUrlRecommendedURL for embedding the video

VideoObject vs. Clip vs. SeekToAction

Understanding the difference between these schema types for implementing key moments:

  • VideoObject: The core video markup describing the entire video
  • Clip: Defines a specific segment with name, startOffset, and endOffset used for manual key moments schema
  • SeekToAction: Enables Google to automatically link to any timestamp using your player’s URL structure

What Are Key Moments in Google?

Key-moments-in-Google-infographic

Manual Timestamps with Clip Markup

Clip markup gives you precise control over which moments appear in search results. Each Clip represents a named segment with specific start and end times. This is ideal when you want to highlight specific chapters or sections.

Automatic Key Moments

When you use SeekToAction instead of Clip, Google’s algorithms automatically identify key moments based on the video content, audio, and visual analysis. This works well for YouTube videos and when you don’t need manual control.

In search results, Key Moments display as a scrollable list of timestamps below the video thumbnail. Each moment shows a timestamp and title, allowing users to click directly to that section. This significantly improves user experience by eliminating the need to scrub through videos.

Benefits for Engagement

  • Users find relevant content faster, improving satisfaction
  • Lower bounce rates as viewers land on exactly what they need
  • Increased watch time for viewers who explore multiple segments
  • Better accessibility for users seeking specific information

Step-by-Step Implementation Guide

Step-by-step-implementation-guide-1

Complete VideoObject JSON-LD Example

Here’s a comprehensive video schema markup example:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How to Build a React Dashboard from Scratch",
  "description": "Complete tutorial on building a responsive dashboard using React, covering components, state management, and styling.",
  "thumbnailUrl": "https://example.com/thumbnails/react-dashboard.jpg",
  "uploadDate": "2025-01-15T08:00:00Z",
  "duration": "PT25M30S",
  "contentUrl": "https://example.com/videos/react-dashboard.mp4",
  "embedUrl": "https://example.com/embed/react-dashboard",
  "publisher": {
    "@type": "Organization",
    "name": "CodeTutorials",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  },
  "interactionStatistic": {
    "@type": "InteractionCounter",
    "interactionType": "https://schema.org/WatchAction",
    "userInteractionCount": 45000
  }
}
</script>

Key Properties Explained

duration: Uses ISO 8601 format: PT25M30S = 25 minutes, 30 seconds. PT1H15M = 1 hour, 15 minutes.

contentUrl vs. embedUrl: contentUrl is the direct video file URL; embedUrl is the embeddable player URL. Include both when possible.

interactionStatistic: Optional but valuable for showing engagement. Use WatchAction for views, LikeAction for likes.

Key Moments Schema Using Clip

Add Clip markup to define specific video segments:

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How to Build a React Dashboard",
  "thumbnailUrl": "https://example.com/thumb.jpg",
  "uploadDate": "2025-01-15",
  "duration": "PT25M30S",
  "hasPart": [
    {
      "@type": "Clip",
      "name": "Project Setup",
      "startOffset": 0,
      "endOffset": 180,
      "url": "https://example.com/video?t=0"
    },
    {
      "@type": "Clip",
      "name": "Component Architecture",
      "startOffset": 180,
      "endOffset": 540,
      "url": "https://example.com/video?t=180"
    },
    {
      "@type": "Clip",
      "name": "State Management",
      "startOffset": 540,
      "endOffset": 900,
      "url": "https://example.com/video?t=540"
    }
  ]
}

Alternative: SeekToAction for Automatic Detection

SeekToAction tells Google how to construct timestamp URLs for your video player:

{
  "@type": "VideoObject",
  "name": "React Dashboard Tutorial",
  "potentialAction": {
    "@type": "SeekToAction",
    "target": "https://example.com/video?t={seek_to_second_number}",
    "startOffset-input": "required name=seek_to_second_number"
  }
}

When to Use Clip vs. SeekToAction

Use Clip when: You want precise control over which segments appear, have well-defined chapters, or need specific segment titles.

Use SeekToAction when: You prefer Google’s automatic detection, have many videos to manage, or don’t have clearly defined chapters.

Eligibility and Google Guidelines

Eligibility-and-guidelines-infographic

Video Accessibility Requirements

For video schema to work, your video must be accessible to Google:

  • Video must be publicly accessible (not behind login)
  • Google must be able to fetch the video file or access the embed
  • The page containing the video must be indexable
  • Video content must match the schema description

Hosting Considerations

  • Self-hosted videos: Provide contentUrl pointing to the actual video file
  • YouTube videos: Use embedUrl with the YouTube embed URL; Google can often detect Key Moments automatically
  • Third-party players: Ensure the embedUrl is valid and the player supports timestamp URLs

Content Alignment

Your video schema must accurately reflect visible content. The video title, description, and thumbnail referenced in schema should match what users see on the page.

Validation and Testing

Schema-validation-and-issue-fixing-guide

Testing Video Schema Markup

Google Rich Results Test: Verify video eligibility at Google Rich Results Test. Look for VideoObject detection and any Clip markup.

Schema Markup Validator: Full Schema.org validation at validator.schema.org for comprehensive property checking.

Common Errors

  • Missing thumbnailUrl: Required property—always include a valid image URL
  • Invalid duration format: Use ISO 8601: PT10M30S not “10:30”
  • Timestamp mismatch: Clip startOffset/endOffset must match actual video times
  • Inaccessible video: Google must be able to access contentUrl or embedUrl

Monitoring Performance

Use Google Search Console’s Video enhancement report to track indexing status, errors, and valid items across your video content.

Common Mistakes to Avoid

Avoid using incomplete or incorrect schema markup, such as missing required fields or invalid formats. Ensure your video is publicly accessible and matches the structured data provided. Don’t use inaccurate timestamps or misleading titles, as this can harm user experience and search visibility. Regular validation and updates are essential to prevent errors and maintain eligibility for rich results.

Missing Required Properties

Every VideoObject needs name, thumbnailUrl, and uploadDate at minimum. Missing any of these prevents rich results.

Incorrect Duration Format

// WRONG
"duration": "10:30"
"duration": "10 minutes"
// CORRECT
"duration": "PT10M30S"  // 10 min 30 sec
"duration": "PT1H5M"    // 1 hour 5 min

Timestamp Mismatches

If your Clip markup says “Component Architecture” starts at 180 seconds, but the actual video content starts at 200 seconds, users will land on the wrong section. Always verify timestamps against the actual video.

Hidden or Inaccessible Videos

Schema pointing to login-protected videos, geo-blocked content, or expired URLs won’t generate rich results. Ensure videos are publicly accessible.

AI Search and Voice Optimization

AI search and voice optimization focus on making your content easily understandable for AI systems and voice assistants. By using structured data, clear context, and natural language, you help search engines identify relevant information and deliver precise answers. This improves your chances of appearing in AI-generated results and voice queries like “show me how to”, increasing visibility and user engagement.

Video Schema in AI Summaries

As Google integrates more AI features, video structured data helps AI systems:

  • Surface relevant video segments when answering questions
  • Generate accurate summaries of video content
  • Recommend specific timestamps for user queries

Google increasingly combines video, text, and image results. Well-structured video schema helps your content appear in these mixed-media search experiences.

Voice Search Compatibility

For “show me how to…” voice queries, video schema helps assistants identify and recommend relevant video content. Clear Clip names improve voice result relevance.

Entity Clarity

Help AI understand your video by using specific titles (“React Dashboard Tutorial” not “My Video”), including publisher information, and connecting videos to related content through structured data.

Best Practices for Video Search Dominance

Video-search-best-practices-infographic

High-Quality Thumbnails

Use compelling, high-resolution thumbnails (1280×720 minimum). Thumbnails significantly impact click-through rates and are required for video schema.

Descriptive Titles and Transcripts

  • Use clear, keyword-rich video titles
  • Include full transcripts on the page for SEO and accessibility
  • Add closed captions to improve Google’s content understanding

Structured Chapter Segmentation

Break videos into logical chapters with clear, descriptive names. This improves both Clip markup accuracy and automatic Key Moments detection.

Mobile-First and Performance

  • Ensure videos play smoothly on mobile devices
  • Use CDN hosting for faster video delivery
  • Implement lazy loading for video embeds
  • Optimize page speed around video content

Frequently Asked Questions

What’s the difference between Clip and SeekToAction?

Clip lets you manually define specific video segments with names and timestamps. SeekToAction tells Google how to construct timestamp URLs, enabling automatic Key Moments detection based on Google’s analysis.

Do YouTube videos need video schema markup?

YouTube videos often get Key Moments automatically through YouTube’s chapter feature and Google’s detection. However, adding video schema to pages embedding YouTube videos can enhance discoverability on your own site.

How do I format video duration in schema?

Use ISO 8601 duration format: PT followed by time values. PT10M30S = 10 minutes 30 seconds. PT1H15M = 1 hour 15 minutes.

Can I use video schema for podcast episodes?

For audio-only content, use AudioObject instead of VideoObject. VideoObject is specifically for video content with visual elements.

Is thumbnailUrl required for video schema?

Yes. thumbnailUrl is a required property for VideoObject. Without it, your video schema won’t qualify for video rich results.

How many Clips should I include?

There’s no strict limit, but focus on meaningful segments. For most videos, 3-10 well-defined clips work better than dozens of granular timestamps.

Do Key Moments work for live streams?

Key Moments are designed for pre-recorded content. For live streams, use BroadcastEvent schema. You can add VideoObject with Clips to the recorded version after the stream ends.

Why aren’t my Key Moments showing in search results?

Key Moments display depends on query type, search context, and Google’s algorithms. Valid markup makes you eligible but doesn’t guarantee display. Verify your schema validates without errors and that timestamps match actual video content.

Should I use contentUrl or embedUrl?

Include both when possible. contentUrl is the direct video file URL. embedUrl is the player URL for embedding. Google uses both for different purposes.

Video Schema Implementation Checklist

Video-schema-implementation-guide

Use this checklist for every video page.

Required Properties:

  • name – Video title matching visible content
  • thumbnailUrl – Valid image URL (1280×720+)
  • uploadDate – ISO 8601 format

Recommended Properties:

  • description – Video summary
  • duration – ISO 8601 duration (PT10M30S)
  • contentUrl and/or embedUrl
  • publisher – Organization info with logo

For Key Moments:

  • Use Clip markup for manual control
  • Or SeekToAction for automatic detection
  • Verify timestamps match actual video content
  • Include descriptive clip names

Validation:

  • Test with Google Rich Results Test
  • Verify video is publicly accessible
  • Check duration format is valid ISO 8601

Monitor Search Console Video report

Mamunur Rashid is a tech enthusiast with 14+ years in the industry and a deep passion for WordPress. As a key contributor to SchemaEngine AI at RadiusTheme, he writes about schema markup, entity SEO, and AI-powered search — helping businesses build the digital authority that gets them recommended.