Key takeaways
- Google can only index a video it can find. Embed it on a normal, crawlable page and make sure it appears in the rendered HTML.
- Where it makes sense, give each important video its own watch page: a page whose main purpose is to show that one video, with a title and description unique to it.
- Every video needs a valid thumbnail at a stable URL. Data URLs are not supported.
- VideoObject structured data requires name, thumbnailUrl and uploadDate. contentUrl, embedUrl, description and duration are recommended.
- Key moments come from Clip or SeekToAction markup, or from timestamps and labels in a YouTube description. Google does not guarantee that any markup produces a specific feature.
- Use Search Console’s Video indexing report to see why a video is or is not indexed.
Video SEO is the work of making your videos easy for search engines to find, understand and show. It covers both the technical side (how the video is embedded, described and submitted) and the content side (the topic, title, thumbnail and transcript). This guide is based on Google’s own video documentation, so every requirement below comes from a primary source rather than from folklore.
Video SEO vs YouTube SEO
The two overlap, but they are different jobs. YouTube SEO is about performing well inside YouTube’s own search and recommendations. Video SEO for Google is about getting a video, wherever it is hosted, to appear in Google Search features such as video results, video mode, Google Images and Discover.
| Question | YouTube-focused work | Google Search-focused work |
|---|---|---|
| Where does the video need to be findable? | Inside YouTube search and suggestions | On a page of your site that Google can crawl and index |
| What do you control? | Title, description, thumbnail, chapters and playlists on the channel | Watch page, embed method, structured data, sitemap, thumbnail URL |
| What proves it worked? | YouTube’s analytics for the channel | Search Console video reports and the Performance report |
Many creators do both: publish on YouTube for reach, and embed the same video on a dedicated page of their own site. Google’s documentation notes that when you use a third-party player such as YouTube, Vimeo or Facebook, Google may index both your page and the host’s page, so you should still provide structured data on your own watch page.

Step 1: Choose Topics That Suit Video
Start with a topic where a viewer benefits from seeing something: a repair, a recipe, a software walkthrough, a product demo. A practical check is to search your target phrase and see whether video results already appear. If they do, Google considers video a good format for that query. Also remember that a video on a topic nobody searches for will not be found, however well it is optimized. Our guide on how to do keyword research covers the process.
Step 2: Make the Video Easy for Google to Find
Google’s video documentation says it finds videos embedded with the video, embed, iframe or object elements. Follow these rules:
- Embed the video in the page HTML. Avoid loading it through URL fragment identifiers, which Search generally does not support.
- Do not require interaction to load it. Google says not to require swiping, clicking or typing before the video appears.
- If JavaScript inserts the video, check the rendered HTML with the URL Inspection tool in Search Console to confirm it appears.
- Do not block the page. The page must be indexable, and the video should not be hidden behind other elements.
Step 3: Build a Proper Watch Page
Google recommends a dedicated watch page for each video where that makes sense. A watch page is one whose main purpose is to show that single video. A blog post that happens to embed a video is not a watch page, and neither is a category page listing several equally prominent videos.
- Give the page a title and description that are unique to the video.
- Place the video prominently, near relevant text.
- Add a transcript or a written summary. Google’s documentation does not make transcripts a requirement, but a text version helps readers who cannot play audio and gives your page something to rank for.
- You can still embed the same video on other pages, such as articles or product pages. Those pages can still appear as text results or as image results with a video badge, but they will not be treated as the main watch page.
Also remember that indexing the watch page does not guarantee the video itself is indexed. Google says the watch page must be indexed and perform well in Search before its video can be considered.

Step 4: Get the Thumbnail Right
A missing or unstable thumbnail is a common reason videos fail to index. According to Google:
- Each video needs a valid thumbnail at a stable URL. Quickly expiring CDN URLs can prevent indexing.
- Supported formats are BMP, GIF, JPEG, PNG, WebP, SVG and AVIF, with a minimum size of 60 by 30 pixels. Larger is preferred.
- Googlebot and Googlebot Images must be able to fetch it, so do not block it in robots.txt or behind a login.
- If you provide the thumbnail in several places (the poster attribute, structured data, sitemap or Open Graph), use the same URL everywhere.
From a click-through standpoint, the same image is also what people see next to your result, so pick a clear frame that matches the video.
Step 5: Add VideoObject Structured Data
VideoObject markup tells Google about the video in a machine-readable way. From Google’s structured data documentation:
| Status | Properties |
|---|---|
| Required | name, thumbnailUrl, uploadDate |
| Recommended | contentUrl (preferred), embedUrl, description, duration, expires, creator or author, regionsAllowed or ineligibleRegion, interactionStatistic |
The markup can make a page eligible for video rich results in Search, video mode, Google Images and Discover. Keep the values unique to each video and consistent with the real video and the rest of your metadata. Use contentUrl for the video file and embedUrl for the player. Validate with the Rich Results Test, then watch the Video rich result report in Search Console for problems. Google is explicit that it does not guarantee markup will produce a specific video feature.
Step 6: Submit a Video Sitemap or Other Metadata
Google accepts video information through structured data, a video sitemap, or Open Graph tags. A video sitemap entry includes the watch page URL plus a video block with the thumbnail location, title, description and player location (and the content location where applicable). Use the expiration date field only for videos that genuinely expire, since an accidental past date can hide a video that is still available. Many CMS and SEO plugins can generate these entries, but check the output before you rely on it.
Step 7: Aim for Key Moments
Key moments let Google show labelled segments of a video. Google describes three routes:
- Clip structured data: you define the start time, end time and label for each segment. Required properties are name, startOffset (in seconds) and url. It works in all languages where Search is available.
- SeekToAction structured data: you show Google how your timestamp URLs work, and Google identifies the moments itself. It is supported in a defined list of languages.
- YouTube descriptions: for YouTube-hosted videos, timestamps and labels in the description can be used.
Clip and SeekToAction require that the video can deep link to a point other than the start, that the video runs at least 30 seconds, and that the page lets people watch the video. For Clip, no two clips on one page may share a start time. If you do not want key moments, the nosnippet meta tag opts out.
Step 8: Consider Previews and Live Badges
If Google can fetch your video files, it may show a short moving preview, and you can limit its length with the max-video-preview robots meta tag. For livestreams, BroadcastEvent markup can earn a LIVE badge. These are secondary features, so get the basics right first.
Step 9: Monitor in Search Console
- The Video indexing report shows how many indexed watch pages contain an indexed video, and why other videos were not indexed.
- The Video rich result report shows problems with your VideoObject markup.
- The Performance report has a Videos search appearance filter, which lets you see clicks and impressions for video results.
Our post on how to rank in Google AI Overviews explains why standard technical fundamentals like these also support newer search features. Google’s AI features documentation states that no additional technical requirements or special optimizations are needed beyond being indexed and eligible to appear in Search. If you are curious about machine-readable summaries for AI tools, our explainer on llms.txt covers the idea, but note that Google says you do not need AI-specific files for its own AI features.
Example Scenario: A Plumbing Company Publishes a Tutorial
Example scenario: a hypothetical plumbing company records a four-minute video called “How to Shut Off Your Main Water Valve.” They want it to be found by homeowners searching that phrase.
- Watch page. They create a page whose only main content is that video, with a unique title and a short introduction, and place the player near the top.
- Transcript. Below the player they add a step-by-step written version of the instructions.
- Thumbnail. They upload a clear JPEG of the valve and use the same URL in the poster attribute and the structured data.
- Markup. They add VideoObject with name, thumbnailUrl, uploadDate, description, duration and contentUrl, then validate it.
- Key moments. They add Clip markup for “Find the valve,” “Turn it off,” and “Check for leaks.”
- Submit and watch. They include the page in their sitemap, request indexing, and check the Video indexing report a few days later for problems.
None of these steps depends on a particular tool. The point is that every piece of metadata matches the real video.
Common Mistakes
- Embedding the video only on a page where it is a minor element.
- Using a thumbnail URL that expires, requires login or is blocked.
- Blocking the video file or streaming URL with robots.txt or noindex.
- Copying one description across many videos.
- Setting an expiration date by accident.
- Assuming markup alone guarantees a rich result.
Frequently Asked Questions
Do I need a video sitemap?
Not strictly. Google accepts structured data, a video sitemap, or Open Graph, and says to provide metadata through at least one of them. A sitemap is especially useful for large libraries.
Can a self-hosted video rank?
Yes, if Google can fetch it. Google’s documentation lists many supported file types and tells you to keep the video file at a stable URL that crawlers are allowed to fetch.
Why is my video not indexed?
Open the Video indexing report in Search Console, which lists reasons. Common causes include a watch page that is not indexed, a video hidden from the rendered HTML, or an invalid thumbnail.