New ChatGPT vs Google Search Volume: What OpenAI’s 20% Claim Really Means

Technical SEO

Video SEO: How to Get Videos Indexed and Shown in Google

Why Google skips so many videos, what a watch page really is, and the markup, thumbnail and Search Console fixes I use to get videos indexed.

Video SEO: How to Get Videos Indexed and Shown in Google

Quick Answer

To get a video indexed, put it on its own watch page where the video is the main content, near the top and loaded without a click. Add VideoObject structured data with a name, thumbnail URL and upload date, use a valid thumbnail Google can reach, and check the Video indexing report in Search Console to fix any reasons it lists.

Key Takeaways

  • Google only shows a page in video results when the video is the main content, which Google calls a watch page.
  • The watch page must be indexed first; an indexed page does not guarantee its video gets indexed.
  • VideoObject markup needs name, thumbnailUrl and uploadDate, and contentUrl is the best way to let Google fetch the file.
  • Thumbnails must be at least 60x30 pixels, mostly opaque, in a supported format and not blocked by robots.txt.
  • Click-to-load video facades often cause the 'Cannot determine video position and size' error.
  • Key moments need a video of at least 30 seconds and either Clip or SeekToAction markup, or timestamps on YouTube.
In this article
  1. How Google Finds and Indexes a Video
  2. YouTube or Self-Hosted: Which Is Better for Video SEO?
  3. How to Get Videos Indexed, Step by Step
  4. Add VideoObject Structured Data
  5. Video Sitemaps: When You Need One
  6. Thumbnails That Google Accepts
  7. Key Moments, Previews and the LIVE Badge
  8. Reading the Video Indexing Report in Search Console
  9. Common Video SEO Mistakes I See
  10. Removing or Restricting a Video
  11. Final Thoughts on Video SEO
  12. Frequently asked questions

If your videos never show up in Google’s Videos tab, or Search Console says “No video indexed”, you are not alone. Video SEO is mostly about one thing: making it easy for Google to find the video, understand it, and see that it is the main point of the page. Get that right and the rest is details.

In this guide I explain how Google indexes video, what a watch page is, how to add structured data and a video sitemap, how to fix the common Search Console errors, and how to earn extras like key moments. I keep it practical, so you can work through it on your own site.

How Google Finds and Indexes a Video

Google indexes the page first and the video second. A video can only be indexed from a page that is already indexed and doing well in Search. An indexed page does not guarantee the video gets indexed, though.

Google looks for the video in the page’s HTML. It supports the usual ways of putting a video on a page: the <video>, <iframe>, <embed> and <object> elements. If your player is added with JavaScript, Google can still see it, but only if the player shows up in the rendered HTML (the page after the code has run).

Google also reads metadata about the video from three places: structured data, a video sitemap and Open Graph tags. You don’t need all three. One good source, kept consistent, is enough for most sites.

The Watch Page Rule

This is the part most people miss. Since December 2023, Google only shows a page in video results when the video is the main content of that page. Google calls this a watch page.

A watch page is a page whose main purpose is to show one video. Think of a video landing page, a TV episode page, a sports highlight page or a tutorial page built around one clip. A blog post with a video halfway down, a product page with a demo video, or a category page listing ten videos are not watch pages.

Videos on other pages still help visitors, and the page can still rank as a normal text result. It just won’t appear in the Videos tab.

When I review a site’s video setup, this is the first thing I check. Most “my video is not indexed” problems I see are really “this page is not a watch page” problems.

The Three URLs Google Cares About

Google’s documentation talks about three different URLs. It helps to keep them apart:

  • Watch page URL: the page on your site where the video is embedded.
  • Player URL: the address of the video player itself, often the src of an iframe. In structured data this is embedUrl.
  • Video file URL: the actual video file, such as an MP4 or an M3U8 stream. In structured data this is contentUrl.

Google says giving it the video file URL is the most effective way to let it fetch your video. If you only have a player URL, use embedUrl instead.

YouTube or Self-Hosted: Which Is Better for Video SEO?

There is no single right answer. It depends on where you want the views to happen.

If you upload to YouTube and embed the video on your site, Google may index both the YouTube page and your page. In practice, the YouTube page often wins the video result, because it is a strong watch page with lots of signals. That is fine if your goal is views and channel growth.

If you want the video result to send people to your own site, self-hosting (or a business video host that lets Google fetch the file) gives you more control. You set the watch page, the thumbnail and the metadata yourself.

My rule of thumb:

  • Brand awareness, reach, tutorials for a wide audience: YouTube first, embed on your site too.
  • Product demos, lead generation, paid courses, content you want on your domain: self-host or use a host that allows Google to fetch the file, and build proper watch pages.

Whichever you pick, still add structured data to your own page. If you use a third-party host, check that it does not block Google from fetching the video file. If you go the YouTube route with a team, my guide on adding managers to a YouTube channel covers the access side.

How to Get Videos Indexed, Step by Step

Here is the process I follow for a new video, or when I fix an existing one.

  1. Decide which page is the watch page. Give each important video its own page with a unique title and description that match the video.
  2. Place the video near the top. Put the player in the main content area, visible when the page loads, and big enough to be the obvious focus. Don’t hide it in a tab, slider or pop-up.
  3. Load the player without a click. Don’t make visitors click, swipe or scroll before the player exists in the page. A static image that swaps to a player on click is a common reason Google cannot find the video.
  4. Add VideoObject structured data. Include at least the name, thumbnail URL and upload date, plus the video file or player URL.
  5. Add a video sitemap if you have many videos. It helps Google find videos it might miss when crawling.
  6. Check the page with URL Inspection. Run a live test, look at the rendered HTML and screenshot, and confirm the video and its markup are there.
  7. Request indexing and monitor. Request indexing for the watch page, then watch the Video indexing report in Search Console over the next few weeks.

For step 6, my walkthrough of the Search Console URL Inspection tool shows exactly where to find the rendered HTML and the video section.

Add VideoObject Structured Data

Structured data is code that labels your content so search engines read it easily. Google prefers JSON-LD, a small script block that visitors don’t see. For video, you use the schema.org VideoObject type.

Markup does not guarantee any special feature, but it gives Google the title, thumbnail, date and length without guessing.

Google lists three required properties:

  • name: the video title. Make it unique for each video.
  • thumbnailUrl: one or more thumbnail image URLs.
  • uploadDate: when the video was first published, in ISO 8601 format with a time zone (for example 2025-05-15T10:00:00+05:30).

The most useful recommended properties are:

  • description: a short summary of the video. Not required, but I always add it.
  • contentUrl: the direct URL of the video file.
  • embedUrl: the URL of the player, if you don’t have the file URL.
  • duration: the length in ISO 8601 duration format, such as PT4M30S for 4 minutes 30 seconds.
  • expires: only if the video will stop being available.
  • hasPart and publication: for key moments and the LIVE badge, covered below.

A Clean JSON-LD Example

This is the kind of block I add to a watch page. Swap in your own values.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How to Replace a Kitchen Tap in 10 Minutes",
  "description": "Step-by-step guide to removing an old kitchen tap and fitting a new one.",
  "thumbnailUrl": [
    "https://www.example.com/video/tap-16x9.jpg",
    "https://www.example.com/video/tap-4x3.jpg",
    "https://www.example.com/video/tap-1x1.jpg"
  ],
  "uploadDate": "2025-05-15T10:00:00+05:30",
  "duration": "PT9M42S",
  "contentUrl": "https://www.example.com/video/replace-kitchen-tap.mp4",
  "embedUrl": "https://www.example.com/player/replace-kitchen-tap"
}
</script>

Keep the values the same as what the page shows. If the title on the page says one thing and the markup says another, you are giving Google mixed signals. I also make sure only one VideoObject describes the main video, because duplicate blocks from a theme and a plugin are common. Google’s full list of properties is in its video structured data documentation, and my guide to article structured data covers how JSON-LD fits with other markup on the same page.

Video Sitemaps: When You Need One

A video sitemap is an XML file that lists your watch pages and their videos, as an extra signal on top of structured data.

Each entry lists the watch page URL and, for the video, a thumbnail, title, description and either the video file URL or the player URL. You can add it to your normal sitemap or keep a separate video sitemap and submit it in Search Console.

Do you need one? In my experience:

  • If you have a handful of videos with good structured data, a video sitemap adds little.
  • If you publish many videos, or new videos often, a sitemap helps Google find them faster.
  • A sitemap also lets you filter the Video indexing report by sitemap, which is handy for large sites.

Whatever you use, keep the details the same everywhere. Use the same thumbnail URL, title and video URL in the markup, the sitemap and the page.

Thumbnails That Google Accepts

Without a valid thumbnail, Google will not show your video in video results. It is one of the most common errors I see.

Google’s thumbnail rules are simple:

  • Use a common image format such as JPEG, PNG or WebP, with the right file extension.
  • The minimum size is 60×30 pixels, but larger is better. I use the full video resolution.
  • The image must be mostly opaque. Google says at least 80% of the pixels need to be non-transparent.
  • Keep it at a stable URL that Google can reach. Don’t block it in robots.txt or put it behind a login.

The robots.txt point catches many sites. Some block a whole media or uploads folder without thinking about thumbnails. If you are not sure what your file blocks, my robots.txt guide explains how to read the rules.

You can set the thumbnail with the poster attribute on a <video> tag, in the sitemap, or in thumbnailUrl. If you set it in more than one place, use the same URL.

Key Moments, Previews and the LIVE Badge

An indexed video can earn extra features. None are guaranteed, but you can make videos eligible.

Key Moments With Clip or SeekToAction

Key moments are the chapter-like links Google shows under some videos, letting people jump to a specific part. There are two ways to get them on your own site:

  • Clip markup: you list each segment yourself, with a name, a start time in seconds and a URL that jumps to that point (for example ?t=120). This gives you full control.
  • SeekToAction markup: you tell Google how your URLs handle timestamps, and Google picks the key moments itself. This needs Google to be able to fetch the video file, and it works in fewer languages.

Both need a video of at least 30 seconds and a player that supports jumping to a set time from the URL. For YouTube videos, you can add timestamps with labels in the video description instead.

I prefer Clip markup for tutorials, because the chapter names are your own words.

Video Previews

Google can show a short moving preview of your video in results. For this, Google must be able to fetch the video file. You can limit the preview length with the max-video-preview robots meta tag, or turn previews off by setting it to 0.

LIVE Badge

For live streams, BroadcastEvent markup nested under publication can earn a red LIVE badge. You set isLiveBroadcast to true and add a start and end date. Google recommends using the Indexing API to tell it when the stream starts and ends.

Reading the Video Indexing Report in Search Console

Search Console has a Video indexing report under Indexing. It only shows indexed pages where Google found a video, and it splits them into “Video indexed” and “No video indexed”. Google indexes at most one video per page.

Click into “No video indexed” to see the reasons. These are the ones I see most often and what I do about them:

Reason in the report What it means How to fix it
Video isn’t on a watch page The video is not the main content of the page. Build a dedicated watch page, or move the player up so it is the clear focus.
Cannot determine video position and size The player is not present when the page loads. Load the real player at its real size without needing a click.
No thumbnail URL provided Google found no thumbnail for the video. Add thumbnailUrl in markup or a thumbnail in the sitemap.
Thumbnail blocked by robots.txt A robots.txt rule stops Google fetching the image. Allow the thumbnail folder or move the image.
Invalid thumbnail size or format The image is too small or in an unsupported format. Use a larger JPEG, PNG or WebP with the correct extension.
Video not processed yet Google has not finished processing the video. Wait a few days and check again.

After you fix an issue across the site, click “Validate fix”. Search Console checks a few sample pages first, then the rest of the known affected URLs. Google says validation can take up to about two weeks, so don’t panic if nothing moves for a while.

For video traffic itself, open the Performance report and filter by the “Videos” search appearance. That shows clicks and impressions from video results.

Common Video SEO Mistakes I See

These come up again and again in audits:

  • Click-to-load facades. Speed plugins often replace the player with a thumbnail image until someone clicks. That is good for page speed, but Google may not find the video. On watch pages I load the real player.
  • The video sits below the fold. If the video is under several paragraphs of text, Google may decide it is not the main content.
  • One video on many pages. The same video embedded on ten pages competes with itself. Pick one watch page for it.
  • Mismatched metadata. Different titles or thumbnails in the markup, sitemap and page confuse Google. Keep them the same.
  • Changing URLs. Some hosts use video or thumbnail URLs that change on every load. Google needs stable URLs to index video reliably.
  • Thin watch pages. A page with only a player and a title gives Google little to work with. I add a short summary, key points or a transcript under the video.

A transcript is one of the most useful additions. It gives Google text to understand, and it helps people who can’t play the video.

Removing or Restricting a Video

Sometimes you need a video out of Google, or only shown in some countries.

  • Quick removal: use the Removals tool in Search Console for the watch page. For a permanent fix, the page must return a 404, use noindex, or need a login.
  • Videos with an end date: set expires in structured data. Once that date passes, the video drops out of video results. Don’t add an expiry date to videos that never expire, because a wrong date is easy to set by accident.
  • Country limits: use regionsAllowed or ineligibleRegion in markup, or the restriction tag in your video sitemap.

Google’s video SEO best practices page has the full details on removal and restrictions.

Final Thoughts on Video SEO

Good video SEO comes down to a short list. Give each important video its own watch page, put the player at the top and load it without a click, add clean VideoObject markup with a valid thumbnail, and keep your details consistent everywhere.

Your next step: open the Video indexing report in Search Console, pick the most common reason in “No video indexed”, and fix that one first. Then test one watch page with URL Inspection to confirm Google sees the video the way you expect.

Frequently Asked Questions

Why is my video not indexed when the page is indexed?

Usually because Google does not see the video as the main content of the page, or because it cannot find the player or a valid thumbnail. Open the Video indexing report in Search Console and check the reason listed under 'No video indexed'. Then test the page with URL Inspection to see the rendered HTML.

Does embedding a YouTube video help my website's SEO?

It can help visitors and keep them on the page longer, but the YouTube page often gets the video result instead of yours. Google may index both. If you want video results to send people to your site, self-hosting gives you more control.

Do I need a video sitemap if I already have VideoObject schema?

Not always. A few videos with good structured data are usually found without one. A video sitemap is most useful when you publish many videos or add new ones often.

What size should a video thumbnail be for Google?

Google's minimum is 60x30 pixels, but it prefers larger images. I use the same resolution as the video. The image must also be mostly opaque and in a supported format such as JPEG, PNG or WebP.

How long does it take Google to index a video?

It depends on how often Google crawls your site and whether the watch page is already indexed. New videos can take days to weeks. If the report says 'Video not processed yet', wait a few days and check again.

How do I get key moments for my videos in Google?

On your own site, add Clip markup with a name, start time and URL for each segment, or SeekToAction markup so Google can pick the moments itself. The video must be at least 30 seconds long. For YouTube videos, add timestamps with labels in the description.

What does 'Video isn't on a watch page' mean in Search Console?

It means Google found the video but decided it is not the main content of the page. This is common on blog posts and product pages. To fix it, create a page dedicated to that video or move the player to the top of the main content.

Get the Next Guide in Your Inbox

Google updates, AI search changes and practical SEO guides. We email you when a new article is published, nothing else.

One email when we publish something new. No spam, unsubscribe in one click. Privacy

Written by Lovepreet Singh Digital Marketing Manager @ Softtrix
  • 12+ years in SEO
  • 331 articles
  • Punjab, India

Lovepreet Singh has been working in SEO for the last 12 years. He started as an SEO analyst, checking rankings and fixing on-page issues, and today he is Digital Marketing Manager at Softtrix Tech Solutions, looking after search and growth for client websites, from online stores to local service businesses.

  • AI Search & AEO
  • Technical SEO
  • Local SEO
  • Google Business Profile

Keep Reading