# 视频 SEO 最佳实践

> 来源：Google Search Central (https://developers.google.com/search/docs/appearance-video.txt)

---

* Ranking and search appearance
  ** Visual Elements gallery  **
  ** Title links  **
  ** Snippets  **
  ** Images  **
  ** Videos  **
  ** Structured data  **
  ** Favicons  **

  * Site-specific guides
  ** Ecommerce  **
  ** International and multilingual sites  **

  * Data analysis
  ** Get started with Search Console  **
  ** Debug traffic drops  **
  ** Using Search Console and Google Analytics data for SEO  **
  ** Get started with Google Trends  **

[ Support ](https://developers.google.com/search/help) [ Blog ](https://developers.google.com/search/blog) [ What's new ](https://developers.google.com/search/news)

  ** All updates  **
  ** Documentation updates  **
  ** Ranking updates  **
  ** New YouTube videos  **
  ** Recent podcast episodes  **

[ Events ](https://developers.google.com/search/events) [ Case studies ](https://developers.google.com/search/case-studies)

`/`

  * English
  * Deutsch
  * Español
  * Español – América Latina
  * Français
  * Indonesia
  * Italiano
  * Polski
  * Português – Brasil
  * Tiếng Việt
  * Türkçe
  * Русский
  * العربيّة
  * हिंदी
  * ภาษาไทย
  * 中文 – 简体
  * 中文 – 繁體
  * 日本語
  * 한국어

Sign in

  ** Documentation **

[Search Console](https://goo.gle/searchconsole)

[ ](https://developers.google.com/search)

  ** Google Search Central **

  ** Documentation  **
    * More 
  ** Support  **
  ** Blog  **
  ** What's new  **
    * More 
  ** Events  **
  ** Case studies  **

  **Introduction**
  * Search Essentials

    **Overview**
    **Technical requirements**
    **Spam policies**

  * SEO fundamentals

    **SEO Starter Guide**
    **How Google Search works**
    **Creating helpful, reliable, people-first content**
    **Do you need an SEO?**
    **Maintaining your site's SEO**
    **Developer's guide to Search**
    **Get your website on Google**
    **Guidance on using generative AI**

  * Crawling and indexing

    **Overview**
    **File types Google can index**
    **URL structure**
    **Links**
    * Sitemaps

      **Learn about sitemaps**
      **Build and submit a sitemap**
      **Manage sitemaps with sitemap index file**
      * Sitemap extensions

        **Image sitemaps**
        **News sitemaps**
        **Video sitemaps and alternatives**
        **Combining sitemap extensions**

    * Crawler management

      **Ask Google to recrawl your URLs**
      **Troubleshoot crawl errors**
      * Google crawlers

        **List of Google crawlers**
        **Googlebot**
        **Reduce the Google crawl rate**
        **Verifying Googlebot and other Google crawlers**

    * robots.txt

      **Introduction to robots.txt**
      **How Google interprets the robots.txt specification**

    * Canonicalization

      **What is URL canonicalization**
      **How to specify a canonical URL with rel="canonical" and other methods**
      **Fix canonicalization issues**

    **Mobile site and mobile-first indexing**
    * AMP

      **AMP on Google Search guidelines**
      **Understand how AMP works in search results**
      **Enhance AMP content**
      **Validate AMP content**
      **Remove AMP content**

    * JavaScript

      **Understand the JavaScript SEO basics**
      **Fix search-related JavaScript problems**
      **Fix lazy-loaded content**
      **Dynamic rendering as a workaround**

    * Page and content metadata

      **Page metadata**
      * Meta tags

        **Meta tags and HTML attributes that Google supports**
        **Robots meta tag, data-nosnippet, and X-Robots-Tag**
        **noindex**

      **rel attributes**

    * Removals

      **Control what you share with Google**
      **Page removals**
      **Image removals**
      **Redacted information**

    * Site moves and changes

      **Redirects and Google Search**
      * Site moves

        **Changing your hosting**
        **Move a site with URL changes**

      **A/B testing**
      **Temporarily pause or disable a website**

  * Ranking and search appearance

    **Overview**
    **AI features**
    **Byline dates**
    **Favicons**
    **Featured snippets**
    **Flexible Sampling**
    **Google Discover**
    **Images**
    * Local features

      **Business details**
      **Top Places List**
      **Opting out of local search results**

    * Page experience

      **Understanding page experience**
      **Core Web Vitals**
      **Interstitials and dialogs**
      **Get started with signed exchanges on Google Search**

    **Preferred sources**
    * Ranking systems

      **A guide to Google Search ranking systems**
      **Reviews system**

    * Ranking updates

      **List of ranking updates**
      **Core updates**
      **Spam updates**

    **Site names**
    **Sitelinks**
    **Snippets**
    * Structured data

      **Understand how structured data works**
      **Structured data general guidelines**
      **Enriched search results**
      **Generate structured data with JavaScript**
      * Feature guides

        **All structured data features**
        **Article**
        **Book actions**
        **Breadcrumb**
        **Carousel**
        **Course list**
        **Dataset**
        **Discussion forum**
        **Education Q&A**
        **Employer aggregate rating**
        **Fact check**
        **Event**
        **FAQ**
        **Image metadata**
        **Job posting**
        **Local business**
        **Math solver**
        **Movie carousel**
        **Organization**
        * Shopping

          **Overview**
          **Product snippet**
          **Merchant listing**
          **Variants**
          **Loyalty program**
          **Merchant return policy**
          **Merchant shipping policy**

        **Profile page**
        **Q&A**
        **Recipe**
        **Review snippet**
        **Software app**
        **Speakable**
        **Subscription and paywalled content**
        **Vacation rental**
        **Video**

    **Title links**
    * Translated features

      **Translated results**
      **Ad networks and translation-related Google Search features**

    **Videos**
    **Visual Elements gallery**
    * Web Stories

      **Enable Web Stories on Google**
      **Best practices for creating Web Stories**
      **Web Story content policy**

    * Early Adopters Program

      **Package tracking**
      **Structured data carousels (beta)**

  * Monitoring and debugging

    **Debug drops in Search traffic**
    * Monitor with Search Console

      **Get started with Search Console**
      **Improve SEO with a bubble chart**
      **Using Search Console and Google Analytics data for SEO**

    * Debug with search operators

      **Overview**
      **site: search operator**
      **Google Images search operators**

    * Preventing and monitoring abuse

      **Overview**
      **Prevent user-generated spam**
      **Malware and unwanted software**
      **Prevent a malware infection**
      **Social engineering (phishing and deceptive sites)**
      **Google Safe Browsing Repeat Offenders Policy**

    **Get started with Google Trends**

  * Site-specific guides

    * Ecommerce

      **Overview**
      **Where content can appear**
      **Share product data**
      **Include structured data**
      **Launch a new website**
      **Write high quality reviews**
      **Design a URL structure**
      **Ecommerce site structure**
      **Pagination, incremental page loading, and Search**

    * International and multilingual

      **Overview**
      **Managing multi-regional and multilingual sites**
      **Tell Google about localized versions of your page**
      **How Google crawls locale-adaptive pages**

    * Explicit content

      **Guidelines for sites with explicit content**
      **What to do if your site is incorrectly flagged as explicit**

  * SEO fundamentals 
  ** Introduction  **
  ** Search Essentials  **
  ** SEO Starter Guide  **
  ** How Google Search Works  **
  ** Do you need an SEO?  **
  * Crawling and indexing 
  ** Sitemaps  **
  ** robots.txt  **
  ** Meta tags  **
  ** Crawler management  **
  ** Removals  **
  ** Canonicalization  **
  ** Redirects  **
  ** JavaScript SEO  **
  * Ranking and search appearance 
  ** Visual Elements gallery  **
  ** Title links  **
  ** Snippets  **
  ** Images  **
  ** Videos  **
  ** Structured data  **
  ** Favicons  **
  * Site-specific guides 
  ** Ecommerce  **
  ** International and multilingual sites  **
  * Data analysis 
  ** Get started with Search Console  **
  ** Debug traffic drops  **
  ** Using Search Console and Google Analytics data for SEO  **
  ** Get started with Google Trends  **

  ** All updates  **
  ** Documentation updates  **
  ** Ranking updates  **
  ** New YouTube videos  **
  ** Recent podcast episodes  **

  ** Home **
  ** Search Central **
  ** Documentation **

Send feedback 

# Video SEO best practices

If you have videos on your site, following these video SEO best practices can help more people find your site through video results on Google. Videos can appear in several different places on Google, including the main search results page, Video mode, Google Images, and [Discover](/search/docs/appearance/google-discover): 

Optimize your videos to appear on Google by following these best practices: 

  1. Help Google find your videos
  2. Ensure your videos can be indexed
  3. Enable specific video features
  4. Remove, restrict, or update your videos as needed
  5. Monitor your videos with Search Console
  6. Troubleshoot video issues

## Help Google find your videos

The [technical requirements](/search/docs/essentials/technical) for getting your content in Google's search results applies to videos too. There are some additional requirements to making your videos eligible to be discovered, crawled, and indexed by Google Search:

  * Use HTML elements commonly used for embedding videos. Google can find videos referenced by a `<video>`, `<embed>`, `<iframe>`, or `<object>` element.
  * Don't use [fragment identifiers](https://wikipedia.org/wiki/URI_fragment) to load the video, as Google Search doesn't generally support URL fragments.
  * If you're using JavaScript to inject the video, make sure that it [appears in the rendered HTML in the URL inspection tool](/search/docs/crawling-indexing/javascript/javascript-seo-basics). 
  * If you're using a media API (for example, the [Media Source API](https://developer.mozilla.org/en-US/docs/Web/API/Media_Source_Extensions_API)), make sure the HTML video container element is still injected even if the media API call fails (in addition to providing metadata about the video). That way Google can still locate the position of the video container even if there's an issue with calling the media API. 
  * Don't rely on user actions (such as swiping, clicking, or typing) to load the video. 

To make it easier for Google to find your videos, we recommend providing metadata about the video. We support [structured data](/search/docs/appearance/structured-data/video), [video sitemaps](/search/docs/crawling-indexing/sitemaps/video-sitemaps), and the [Open Graph protocol (OGP)](https://ogp.me/). 

## Ensure your videos can be indexed

To be eligible for video features, a video must meet the following indexing requirements: 

  * The watch page must be indexed.
  * The indexed watch page must be performing well in Search before its video can be considered for indexing. Just because the watch page is indexed doesn't mean that the video will also be indexed. 
  * The video must be embedded on a watch page.
  * The video can't be hidden behind other elements. If you're using a paywall (for example, users need to sign in or subscribe before seeing the video), add [paywall structured data](/search/docs/appearance/structured-data/paywalled-content) so that Google can still find and index the video. 
  * The video must have a valid thumbnail that's available at a stable URL. 

### Use a supported video file type

To be eligible for video features, use a supported video file type. Google can process the following video file types: 3GP, 3G2, ASF, AVI, DivX, M2V, M3U, M3U8, M4V, MKV, MOV, MP4, MPEG, OGV, QVT, RAM, RM, VOB, WebM, WMV, and XAP. 

[Data URLs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) aren't supported. 

### Use stable URLs

Some CDNs use quickly expiring URLs. If the video's thumbnail URL changes too often, Google may not be able to successfully index your videos. To make sure your videos can be indexed, use a single unique and stable thumbnail URL for each video. 

To make your videos eligible for specific features like key moments and video previews, make sure your video files are available at stable URLs too. This also helps Google discover and process the videos consistently, confirm they are still available, and collect signals on the videos. 

If you are concerned about bad actors (for example, hackers or spammers) accessing your content, you can [verify Googlebot](/search/docs/crawling-indexing/verifying-googlebot) before displaying a stable version of your media URLs. For example, you can choose to serve the [`contentUrl`](/search/docs/appearance/structured-data/video#content-url) property only to trusted clients like Googlebot, whereas other clients accessing your page wouldn't see that field. With this setup, only trusted clients will be able to access the location of your video file. 

### Create a dedicated watch page for each video

To be eligible for video features (including video results on the main search results page, Video mode, [Key Moments](/search/docs/appearance/video#key-moments), the [Live Badge](/search/docs/appearance/video#live-badge), and other rich formats), create a dedicated watch page for each video, if it makes sense for your business. 

A watch page's main purpose is to show users a single video. The following pages are watch pages because watching an individual video is the main reason the user is visiting the page: 

  * A video landing page
  * A TV episode video player page
  * A news video watch page
  * A sports highlight page
  * An events clip page

These pages aren't watch pages because the video is complementary to the rest of the content on the page: 

  * A blog post that reviews an embedded video
  * A product page with a 360 video of a product
  * A video category page that lists multiple videos of equal prominence
  * A movie review page with an embedded movie trailer

Make sure each watch page has a page title and description that are unique to that video. For tips, check our best practices for writing good [titles](/search/docs/appearance/title-link#page-titles) and [descriptions](/search/docs/appearance/snippet#meta-descriptions). 

It's fine to include the same video on both a watch page and another page alongside other information, like a news article or a product detail page; a non-watch page can still be eligible to appear as a [text result](/search/docs/appearance/visual-elements-gallery#text-result) and [Google Image result with a video badge](/search/docs/appearance/structured-data/video). 

### Using third-party embedded players

If your website embeds videos from third-party platforms like YouTube, Vimeo, or Facebook, Google may index the video both on your web page and on the third-party platform's equivalent page. Both versions may appear in video features on Google, as long as the pages meet the video indexing criteria. 

For your own watch page where you've embedded the third-party player, we still recommend that you provide structured data, and you may also include these pages in your [video sitemaps](/search/docs/crawling-indexing/sitemaps/video-sitemaps). To be eligible for more video features, check with your video host to ensure they allow Google to fetch your video file. 

## Which URL is which?

There are several URLs associated with a video. Here's a summary of the main ones:

URLs related to the video  
---  
1\. Watch page |  The URL of the watch page that's embedding the video. If you're using a video sitemap, this URL is the value for the `<loc>` video sitemap tag.
    
    
    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
    <url>
    <loc>https://example.com/videos/some_video_landing_page.html</loc>
      <video:video>
      ...
      
  
2\. Video player |  The URL of a specific player for the video. This is often the `src` value for an `<iframe>` element in the HTML of the watch page:
    
    
    <iframe src="https://example.com/videoplayer.php?video=123" width="640" height="360" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe>

* * *

How to provide the URL If you're using structured data, provide the video player URL as the value for the `VideoObject.embedUrl` property.
    
    
    "embedUrl": "https://example.com/videoplayer.php?video=123"

If you're using a video sitemap, provide the video player URL as the value for the `<video:player_loc>` tag.
    
    
    <video:player_loc>https://example.com/videoplayer.php?video=123</video:player_loc>
      
  
3\. Video file |  The URL of the video file's actual content bytes, which could be hosted on the embedding site, a CDN, or on a streaming service. In the `<object>` element, the video file's URL is the value of the `data` attribute:
    
    
    <object data="https://streamserver.example.com/video/123/file.mp4" width="400" height="300"></object>

In the `<video>` element, the video file's URL is the value of the `src` attribute of the `<source>` element:
    
    
    <video controls width="250">
      <source src="https://streamserver.example.com/video/123/file.webm" type="video/webm" />
      <source src="https://streamserver.example.com/video/123/file.mp4" type="video/mp4" />
    </video>

In the `<embed>` element, the video file's URL is the value of the `src` attribute:
    
    
    <embed type="video/webm" src="https://streamserver.example.com/video/123/file.mp4" width="400" height="300"></embed>

* * *

How to provide the URL If you're using structured data, provide the video file's URL as the value for the `VideoObject.contentUrl` property. 
    
    
    "contentUrl": "https://streamserver.example.com/video/123/file.mp4"

If you're using a video sitemap, provide the video file's URL as the value for the `<video:content_loc>` tag.
    
    
    <video:content_loc>https://streamserver.example.com/video/123/file.mp4</video:content_loc>
      
  
### Provide a high-quality video thumbnail

To be eligible to appear in video features, a video must have a valid thumbnail image. If you allow Google to fetch your video files, Google will try to automatically generate a thumbnail for you. 

However, you can influence which thumbnail is shown in video features by providing your preferred thumbnail through one of the following metadata sources: 

  * If you're using the `<video>` HTML element, specify the `poster` attribute.
  * In a video sitemap (including mRSS), specify the `<video:thumbnail_loc>` tag (or `<media:thumbnail>` respectively).
  * For structured data, specify the `[`thumbnailUrl`](/search/docs/appearance/structured-data/video#thumbnail-url)` property. 
  * For [OGP](https://ogp.me/), specify the `og:video:image` property.

If you choose to specify multiple metadata sources (for example, specifying a thumbnail in both your sitemap and structured data), make sure you're using the same thumbnail URL per video across all metadata. 

Video thumbnail specifications  
---  
Supported thumbnail formats | BMP, GIF, JPEG, PNG, WebP, SVG, and AVIF  
Size | Minimum 60x30 pixels, larger preferred.  
Location |  The thumbnail file must be accessible by Googlebot and Googlebot Images (don't block the file with [robots.txt](/search/docs/crawling-indexing/robots/intro) or a login requirement). Make sure that the file is consistently available at a stable URL.   
Transparency | At least 80% of the thumbnail's pixels must have an alpha (transparency) value greater than 250.  
  
### Provide consistent and unique information in your structured data

To influence how your videos appear on Google, describe your video with [structured data](/search/docs/appearance/structured-data/video). Ensure that any information that you provide in structured data is consistent with the actual video content and other metadata you provide. Make sure to provide unique information in the `thumbnailUrl`, `name`, and `description` properties for each video on your site. 

## Enable specific video features 

Not all features are eligible to trigger on all queries. Google doesn't guarantee that adding markup will result in a specific video feature in Search results; learn why in our [general structured data guidelines](/search/docs/appearance/structured-data/sd-policies).

### Video previews

Google selects a few seconds from your video to display a moving preview, which can help users better understand what they'll find in your video. To make your videos eligible for this feature, allow Google to fetch your video files. You can set the maximum duration for these video previews using the [`max-video-preview`](/search/docs/crawling-indexing/robots-meta-tag#max-video-preview) robots `meta` tag. 

###  Key moments 

The key moments feature is a way for users to navigate video segments like chapters in a book, which can help users engage more deeply with your content. Google Search tries to automatically detect the segments in your video and show key moments to users, without any effort on your part. Alternatively, you can tell Google about the important points of your video. We will prioritize key moments set by you, either through structured data or the YouTube description. 

  * If your video is embedded on your web page or you're running a video platform, there are two ways that you can enable key moments: 
    **`Clip` structured data**: Specify the exact start and end time to each segment, and what label to display for each segment. This is supported in all languages where Google Search is available.
    **`SeekToAction` structured data**: Tell Google where timestamps typically go in your URL structure, so that Google can automatically identify key moments and link users to those points within the video. This is supported for the following languages: English, Spanish, Portuguese, Italian, Chinese, French, Japanese, German, Turkish, Korean, Dutch, and Russian. 
  * If your video is hosted on YouTube, you can specify the exact timestamps and labels in the video description on YouTube. Check out the [best practices for marking timestamps in YouTube descriptions](/search/docs/appearance/structured-data/video#best-practices-youtube). This is supported in all languages where Google Search is available. If you want to enable Video Chapters on YouTube, follow these [additional guidelines](https://support.google.com/youtube/answer/9884579). 

To opt out of the key moments feature completely (including any efforts Google may make to show key moments automatically for your video), use the [`nosnippet`](/search/docs/appearance/snippet#nosnippet) `meta` tag. 

###  Live Badge 

For livestreaming videos, you can enable a red "LIVE" badge to appear in search results by using [`BroadcastEvent` structured data](/search/docs/appearance/structured-data/video#broadcast-event). 

## Allow Google to fetch your video files

Google needs to successfully fetch the actual bytes of a video file to enable features like video previews and key moments. 

Google won't expose the video file directly in search results, and users clicking a video result will land on your site to watch the video. You can also verify if a web crawler accessing your server [really is Googlebot](/search/docs/crawling-indexing/verifying-googlebot).

Allow Google to find and fetch your video files by following these best practices:

  * Allow Google to fetch the video's streaming file URL (such as M3U8). Don't block the URL of the actual video bytes with the [`noindex`](/search/docs/crawling-indexing/block-indexing) rule or [robots.txt](/search/docs/crawling-indexing/robots/intro) file. 
  * The video file must be available at a stable URL.
  * Use structured data to provide the [`contentURL`](/search/docs/appearance/structured-data/video#content-url) value of a supported file type. 
  * The host of the video watch page and the server that's streaming the actual video must have enough server resources to support crawling. So if your landing page at `example.com/puppies.html` has an embedded puppies video served by `streamserver.example.com`, both `example.com` and `streamserver.example.com` must meet the [technical requirements for Google Search](/search/docs/essentials/technical) and have [available server capacity](/search/docs/crawling-indexing/troubleshoot-crawling-errors#availability_issues). If you're using a CDN, you might be able to get Search Console notifications about crawl errors. You'll need to be able to [verify ownership](https://support.google.com/webmasters/answer/9008080) of your allocated URL space on the CDN (either a subdomain or subdirectory that's reserved for your content). 

##  Remove or restrict your videos 

###  Remove a video 

If you need your video removed from search results as quickly as possible, [file a removal request](/search/docs/crawling-indexing/remove-information) for the watch page that's embedding the video. For the removal to remain permanent, the watch page must not be present or accessible to Google (that is, either return `404`, use a `noindex` robots `meta` tag, require server-side authentication). If the video is embedded on other pages or sites, those pages won't be removed unless you file additional removal requests for each page embedding that video.

To remove a video from your site, do one of the following: 

  * Return a `404 (Not found)` for any watch page that's embedding the removed or expired video. In addition to the `404` response code, you can still return the HTML of the page to make the change transparent to most users. 
  * Include a [`noindex`](/search/docs/crawling-indexing/robots-meta-tag) robots `meta` tag on any watch page that's embedding a removed or expired video. This prevents the watch page from being indexable.
  * Indicate an expiration date in your structured data (the [`expires`](/search/docs/appearance/structured-data/video#expires) property) or video sitemap (use the `<video:expiration_date>` element). Here is an example of a video sitemap with a video that expired in November 2009: 
    
        <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
    <url>
    <loc>https://example.com/videos/some_video_landing_page.html</loc>
    <video:video>
      <video:thumbnail_loc>
          https://example.com/thumbs/123.jpg
      </video:thumbnail_loc>
      <video:title>
          Grilling steaks for summer
      </video:title>
      <video:description>
          Bob shows you how to grill steaks perfectly every time
      </video:description>
      <video:player_loc>
          https://example.com/videoplayer?video=123
      </video:player_loc>
      <video:expiration_date>2009-11-05T19:20:30+08:00</video:expiration_date>
    </video:video>
    </url>
    </urlset>

When a video has an expiration date in the past, the video won't appear in video results. The watch page may still be shown as a text result, without a video thumbnail. This includes expiration dates from sitemaps, structured data, and [`meta` tags](/search/docs/crawling-indexing/robots-meta-tag#unavailable-after). Make sure that your expiration dates are correct for each video. While this is useful if your video is no longer available after the expiration date, it's easy to accidentally set the date to the past for an available video. If a video doesn't expire, don't include expiration information. 

###  Restrict a video based on the user's location 

You can restrict search results for your video based on the user's location. If your video doesn't have any country restrictions, omit the country restriction tags. 

####  Restrict using structured data 

If you use [`VideoObject` structured data](/search/docs/appearance/structured-data/video) to describe a video, set the [`regionsAllowed`](/search/docs/appearance/structured-data/video#regions-allowed) property to specify which regions can get the video result. If you omit this property, all regions can see the video in search results. 

Alternatively, you can use the [`ineligibleRegion`](/search/docs/appearance/structured-data/video#ineligible-region) property to specify which regions can't get the video result. 

####  Restrict using a video sitemap 

In a video sitemap, the [`<video:restriction>`](/search/docs/crawling-indexing/sitemaps/video-sitemaps#country-restriction) tag can be used to allow or deny the video from appearing in specific countries. Only one `<video:restriction>` tag is allowed per video entry. 

The `<video:restriction>` tag must contain one or more space-delimited [ISO 3166-1 two- or three-letter country codes](https://en.wikipedia.org/wiki/ISO_3166-1). The required `relationship` attribute specifies the type of restriction. 

  * `relationship="allow"`: The video can appear only for the specified countries. If no countries are specified, the video won't appear anywhere.
  * `relationship="deny"`: The video can appear everywhere except for the specified countries. If no countries are specified, the video will appear everywhere.

In this video sitemap example, the video will only appear in search results in Canada and Mexico. 
    
    
    <url>
      <loc>https://example.com/videos/some_video_landing_page.html</loc>
      <video:video>
        <video:thumbnail_loc>
                https://example.com/thumbs/123.jpg
        </video:thumbnail_loc>
        <video:title>Grilling steaks for summer</video:title>
        <video:description>
            Bob shows you how to get perfectly done steaks every time
        </video:description>
        <video:player_loc>
              https://example.com/player?video=123
        </video:player_loc>
        <video:restriction relationship="allow">ca mx</video:restriction>
      </video:video>
    </url>

## Optimize for SafeSearch

SafeSearch is a setting in Google user accounts that specifies whether to show or block explicit images, videos, and websites in Google Search results. Make sure Google understands the nature of your site so that Google can apply SafeSearch filters to your site if appropriate. [Learn more about labeling SafeSearch pages](/search/docs/crawling-indexing/safesearch).

## Monitor video watch pages with Search Console

The following Search Console reports and tools can help you monitor and optimize how your video content is performing on Google Search: 

  **Video indexing report**: See how many of your indexed watch pages contain an indexed video, and see reasons for why other videos didn't get indexed. 
  **Video rich result report**: Review and fix issues with your `VideoObject` structured data implementation.
  **Performance report**: Use the Videos search appearance filter to monitor how your videos are performing in Google Search.

## Troubleshoot video issues

You can troubleshoot video issues with Search Console. See the [video troubleshooting guide](https://support.google.com/webmasters/answer/9495631#troubleshooting) for help. 

Send feedback 

Except as otherwise noted, the content of this page is licensed under the [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/), and code samples are licensed under the [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). For details, see the [Google Developers Site Policies](https://developers.google.com/site-policies). Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-18 UTC.

Need to tell us more?  [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-12-18 UTC."],[],["To optimize videos for search, embed them using standard HTML and ensure they appear in the rendered HTML without user interaction. Make sure the watch page and thumbnail are indexed and accessible via stable URLs. Utilize structured data, video sitemaps, or Open Graph for metadata. Enable video previews by allowing Google to fetch files and defining preview length. Define video segments with `Clip` or `SeekToAction` structured data for key moments. Remove or restrict videos using `404`, `noindex`, or expiration dates. Monitor video performance and fix issues using Google Search Console.\n"]] 

  ** LinkedIn  **

Join us on LinkedIn

  ** YouTube  **

Watch our videos

  ** Blog  **

Subscribe to our RSS feed

  ** Podcast  **

Listen to Search Off the Record

  ** X (Twitter)  **

Join us on X (Twitter)

  * ### Get support

    ** Go to the help forum **
    ** Submit a question for office hours **
    ** Report spam, phishing, or malware **
    ** More support resources **
  * ### Resources

    ** Do you need an SEO? **
    ** SEO Starter Guide **
    ** Status of Search systems **
    ** Search Console documentation **
    ** Case Studies **
  * ### Tools

    ** Search Console **
    ** Rich Results Test **
    ** PageSpeed Insights **
    ** AMP Test **

[ ](https://developers.google.com/)

  ** Android **
  ** Chrome **
  ** Firebase **
  ** Google Cloud Platform **
  ** Google AI **
  ** All products **

  ** Terms **
  ** Privacy **
  * Manage cookies 

  * English
  * Deutsch
  * Español
  * Español – América Latina
  * Français
  * Indonesia
  * Italiano
  * Polski
  * Português – Brasil
  * Tiếng Việt
  * Türkçe
  * Русский
  * العربيّة
  * हिंदी
  * ภาษาไทย
  * 中文 – 简体
  * 中文 – 繁體
  * 日本語
  * 한국어
