Video SEO best practices
Video is a growing format for content creation and consumption on the web, and Google indexes videos from millions of different sites to serve to users. Videos can appear in several different places on Google, including the main search results page, video search results, Google Images, and Discover:
Optimize your videos to appear on Google by following these best practices:
- Help Google find your videos
- Ensure your videos can be indexed
- Allow Google to fetch your video content files
- Enable specific video features
- Remove, restrict, or update your videos as needed
Help Google find your videos
- Make sure that each video is available on a public web page where users
can watch the video. Make sure that the page isn't blocked by robots.txt
metatag; this ensures that Google can find and index your page.
To give your videos maximum exposure, create a dedicated page for each video, where the video is the most prominent subject on the page. Some features require that type of video page, including Key Moments, the Live Badge, and other rich result formats. It's fine to include the same video on both a dedicated page and its original page alongside other information, like a news article or a product detail page.
- Include your video in an appropriate HTML tag. Google can more easily identify a
video on your page when there's an HTML tag around it, for example:
- Create a video sitemap to make it even easier for Google to find your videos. Learn how to submit your sitemap to Google.
- Ensure that the page doesn't require complex user actions or specific URL
fragments to load, or Google might not find your videos.
- Don't lazy-load primary content upon user interaction. Google may not find content that requires user interactions to load (for example, swiping, clicking, or typing). Make sure Google can see lazy-loaded content.
- URLs for content or landing pages that require fragment identifiers are not supported.
- Make sure that your videos are visible and easy to find on your video pages. We recommend using a standalone page for each video with a descriptive title or description unique to each individual video. Make sure videos are prominent on the page and aren't hidden or difficult to find.
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 equivalent page from the third-party hosting site. Both versions may appear in video features on Google.
For your own 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. Check with your video host to ensure they allow Google to fetch your video content file; for example, this is supported by YouTube for public videos.
Ensure your videos can be indexed
Once Google has identified a video on a page, additional information is needed to make it eligible to appear in video features.
Provide a high-quality video thumbnail
To be eligible to appear in Google video features, a video must have a valid thumbnail image. Otherwise, the page may be indexed but would only appear as a text result.
You can allow Google to generate a thumbnail, or provide one in one of the supported ways:
- If you're using the
<video>HTML tag, specify the
- In a video sitemap, specify the
- In structured data, specify the
- If you allow Google to fetch your video content files, Google can generate a thumbnail for you.
Supported thumbnail formats: BMP, GIF, JPEG, PNG, WebP, and SVG.
Size: Minimum 60x30 pixels, larger preferred.
Location: The thumbnail file must be accessible by Googlebot. Don't block the file with robots.txt or a login requirement. Make sure that the file is available at a stable URL.
Transparency: At least 80% of the thumbnail's pixels must have an alpha (transparency) value greater than 250.
Provide structured data
Provide structured data describing your video,
to help Google understand what the video is about and surface it for relevant queries. Ensure
that any information that you provide in structured data is consistent with the actual video
content. When adding structured data, make sure to use unique thumbnails, titles, and
descriptions for each video on your site. You should provide the same title, thumbnail URL,
and video URL in all sources (sitemap, HTML tags,
meta tags, and structured data)
that describe the same video on the same page.
Allow Google to fetch your video content files
A video page may be indexed and eligible to appear on Google, but Google needs to fetch the video file itself to understand the video contents and enable features like video previews and key moments.
Allow Google to fetch your video content files by following these best practices:
- Use structured data to provide the
contentURLvalue in a supported file format.
- Don't block Google from fetching the video’s streaming file bytes. For example, don’t block
the video content URL or domain with the
noindextag or robots.txt file.
- The video host page and the server streaming the actual video must have the bandwidth to
be crawled. So if your landing page at
example.com/puppies.htmlhas an embedded puppies video served by
somestreamingservice.commust be accessible to Google and have available server load.
- The video file must be available at a stable URL.
Supported video encodings
Google can fetch 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, XAP.
Use stable URLs for video and thumbnail files
Some CDNs use quickly expiring URLs for video and thumbnail files. These URLs may prevent Google from successfully indexing your videos or fetching the video files. This also makes it harder for Google to understand users’ interest in your videos over time.
Use a single unique and stable URL for each video. This allows Google to discover and process the videos consistently, confirm they are still available and collect correct signals on the videos.
If you are concerned about bad actors (for example, hackers or spammers) accessing your content, you can
before displaying a stable version of your media URLs. For example, you can choose to
property only to trusted bots like Googlebot, whereas other clients accessing your page would
not see that field. With this setup, only trusted clients will be able to access the location
of your video content file.
Which URL is which?
There are several URLs that can be associated with a video file on the page. Here is a summary of most of them:
The URL of the page hosting the video. Example:
The URL of the custom player. This is often the src value for an
The URL of the actual content bytes, either on the local site or on a streaming service. Example:
Enable specific video features
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 content files. You can set the maximum duration for these video
previews using the
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 manually 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 hosted on your web page, there are two ways that you can enable key moments:
Clipstructured data: Specify the exact start and end point to each segment, and what label to display for each segment. This is supported in all languages where Google Search is available.
SeekToActionstructured 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 currently supported for the following languages: English, Spanish, Portuguese, Italian, Chinese, French, Japanese, German, Turkish, Korean, Dutch, and Russian. We aim to extend this to more languages over time. Even in supported languagues, not all videos will have key moments identified, but we aim to improve this over time as well.
- 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. This is supported in all languages where Google Search is available.
If you want to enable Video Chapters on YouTube, follow these additional guidelines.
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
For livestreaming videos, you can enable a red "LIVE" badge to appear in search results by
structured data and the Indexing
Remove or restrict your videos
Remove a video
To remove a video from your site, do one of the following:
- Return a
404 (Not found)HTTP status code for any landing page that contains a removed or expired video. In addition to the
404response code, you can still return the HTML of the page to make the change transparent to most users.
- Include a
noindexrobots meta tag on any landing page that contains a removed or expired video. This prevents the landing page from being indexable.
- Indicate an expiration date in your schema.org structured data (the
expiresproperty) 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://www.example.com/videos/some_video_landing_page.html</loc> <video:video> <video:thumbnail_loc> https://www.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://www.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 Google sees a video with an expiration date in the past, we will not include the video
in any search results. The landing page may still be shown as a web result, without a video
thumbnail. This includes expiration dates from sitemaps, structured data, and
meta tags in the site header.
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
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
to describe a video, set the
to specify which regions can get the video search result. If you omit this property, all
regions can see the video in search results.
Restrict using a video sitemap
In a video sitemap, the
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.
<video:restriction> tag must contain one or more space-delimited
ISO 3166 country codes. The
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 will not 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://www.example.com/videos/some_video_landing_page.html</loc> <video:video> <video:thumbnail_loc> https://www.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://www.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.