Video SEO
Video SEO is the practice of optimizing video metadata and pages so that videos surface well in Google video search, YouTube, and similar venues. It relies on VideoObject structured data, high-quality thumbnails, transcripts, and video sitemaps to help search engines understand and index a video's content.
- Video SEO is the work of optimizing videos so they surface prominently in Google video search and YouTube search.
- Google treats page titles and headings, VideoObject structured data, thumbnails, and the video file itself as ranking signals.
- The required VideoObject properties are name, thumbnailUrl, and uploadDate, plus either contentUrl or embedUrl.
- For a video to appear, its watch page must be indexed and Google must be able to fetch the actual bytes of the video file.
- Videos should run at least 30 seconds, and thumbnails must be reachable at a stable URL.
Overview
Video SEO is a set of practices for making the videos you produce discoverable in Google video search, the video block within general results, YouTube search, and beyond. Because search engines cannot watch a video the way a person does, the metadata and page structure that clearly convey a video's topic, content, and location are what matter most.
When indexing and ranking videos, Google relies on signals such as on-page text like titles and headings, reference links from other sites, structured data that communicates video metadata, and the video file itself, which it uses to understand the audio and visual content. Effective video SEO therefore combines VideoObject schema, high-quality thumbnails, transcripts, and a video sitemap.
For a video to appear in search, the watch page that hosts it must be indexed first, and giving each page a unique title and description is recommended.
Core Optimization Items
| Item | Description | Practical note |
|---|---|---|
| Watch page | Embed the video on a page where it can be watched | The page must be indexed, and the video must not be hidden behind other elements |
| HTML element | Use <video>, <embed>, <iframe>, or <object> | Videos that load only on user interaction may go undiscovered |
| VideoObject schema | Convey video metadata as structured data | name, thumbnailUrl, uploadDate required, plus contentUrl or embedUrl |
| Thumbnail | High-quality image at a stable URL | At least 60x30px, 1x1/4x3/16x9 ratios recommended, must be accessible to Googlebot |
| Video sitemap | Specify title, description, thumbnail, player URL, and expiration date | Can supply metadata instead of or alongside structured data |
| Video file access | Google fetches the actual bytes of the video file | Do not block the video file with robots.txt or noindex |
| Key moments | Mark important segments with Clip or SeekToAction | Specify per-segment start and end times and a timestamp URL pattern |
| Live badge | Flag livestreams with BroadcastEvent | A live badge can appear on real-time broadcasts |
| Transcripts and text | Provide page title, headings, and body text | Google uses text signals to determine a video's topic |
VideoObject Code Example
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Intro Guide to Video SEO",
"description": "Covers the core optimization methods for surfacing videos in search.",
"thumbnailUrl": "https://example.com/thumb-16x9.jpg",
"uploadDate": "2026-06-11T08:00:00+09:00",
"duration": "PT1M30S",
"contentUrl": "https://example.com/video/seo-intro.mp4",
"embedUrl": "https://example.com/embed/seo-intro"
}
name, thumbnailUrl, and uploadDate are required properties, and at least one of contentUrl (the video file URL) or embedUrl (the player URL) is needed. The duration is given in ISO 8601 format (for example, PT1M30S), and each video's name and description should be unique text that does not overlap with others across the site.
Evidence
According to Google Search Central's video SEO documentation, when indexing a video Google looks at signals including "on-page text such as page titles and headings, reference links from other sites, structured data that conveys video metadata, and the video file itself to understand the audio and visual content." A video can only become a candidate for indexing once "the watch page is indexed."
The VideoObject structured data documentation lists name, thumbnailUrl, and uploadDate as required properties and presents contentUrl and embedUrl as recommended properties. "The full length of the video should be at least 30 seconds," and the thumbnail must be accessible to Googlebot at a stable URL. Use Clip or SeekToAction for the key moments feature, and BroadcastEvent for livestreams. For Google to generate previews and key moments, it must be able to "successfully fetch the actual bytes of the video file."
Ahrefs recommends optimizing titles, descriptions, and tags and adding cards, end screens, and description links for YouTube search, while noting that the hardest part of video SEO is driving viewer engagement.
Execution Checklist
- Create a watch page with a unique title and description for each video, and make sure it gets indexed.
- Embed videos with standard HTML elements like <video> and <iframe>, and do not hide them behind other elements.
- Add VideoObject structured data including name, thumbnailUrl, and uploadDate to the watch page.
- Provide at least one of contentUrl or embedUrl, and keep videos to 30 seconds or longer.
- Place high-quality thumbnails in 1x1, 4x3, and 16x9 ratios at a stable URL and allow Googlebot access.
- Do not block video files or thumbnails with robots.txt or noindex.
- Submit a video sitemap, or enrich metadata alongside structured data.
- Mark key segments with Clip or SeekToAction, and flag livestreams with BroadcastEvent.
- Provide transcripts or summary text in the page body to convey the video's topic clearly.
- Optimize titles, descriptions, and tags on your YouTube channel, and drive engagement with cards and end screens.