Sitemap extensions

Video sitemaps and alternatives

A video sitemap is a sitemap
with additional information about videos hosted on your pages. Creating a video sitemap is a
good way to help Google find and understand the video content on your site, especially
content that was recently added or that we might not otherwise discover with our usual
crawling mechanisms.

Google recommends using video sitemaps, however we also support mRSS feeds.

Video sitemap best practices

Video sitemaps are based on generic sitemaps, so the
general sitemap best practices
also apply to video sitemaps. You can create a separate sitemap or mRSS feed just for video,
or you can add video sitemap tags within an existing
sitemap, whichever is more
convenient for you.

Additionally, the following requirements apply to video sitemaps specifically:

  • Don’t list videos that are unrelated to the content of the host page. For example, a video
    that is a small addendum to the page, or unrelated to the main text content.
  • All files referenced in the video sitemap must be accessible to Googlebot. This means that
    all URLs in the video sitemap:
    • must not be disallowed for crawling by
      robots.txt rules,
    • must be accessible without metafiles and without logging in,
    • must not be blocked by firewalls or similar mechanism,
    • and must be accessible on a supported protocol: HTTP and FTP (streaming protocols are
      not supported).

    If you want to prevent spammers from accessing your video content at the
    <player_loc> или <content_loc> URLs,
    verify that any bots accessing your server are really Googlebot.

For more tips about videos in Google Search, see our
video best practices.

Example video sitemap

The following example shows a regular sitemap with video extension. It includes two video
entries nested in the single <url> tag. The first
<video> entry includes all the tags that Google can use while the second
only the required tags.

Video sitemap reference

The video tags are defined in the video sitemaps namespace:
http://www.google.com/schemas/sitemap-video/1.1.
Each tag can only be added one time per video, unless otherwise specified.

To make sure Google can use your video sitemap, you must use the following required tags:

Required tags
<video:video>

The parent element for all information about a single video on the page specified by
the <loc> tag. You can include multiple
<video:video> tags nested in the <loc> tag, one
for each video on the hosting page.

<video:thumbnail_loc>

A URL pointing to the video thumbnail image file. Follow the
video thumbnail requirements.

<video:title>

The title of the video. All HTML entities must be escaped or wrapped in a
CDATA block.
We recommend that this match the video title displayed on the web page where the video
is embedded.

<video:description>

A description of the video. Maximum 2048 characters. All HTML entities must be escaped
or wrapped in a
CDATA block.
It must match the description displayed on the web page where the video is embedded, but
it doesn’t need to be a word-for-word match.

<video:content_loc>

A URL pointing to the actual video media file. The file must be one of the
supported formats.

Additional guidelines

  • HTML and Flash aren’t supported formats.
  • Must not be the same as the URL in the parent <loc> tag.
  • This is the equivalent of
    VideoObject.contentUrl
    in structured data.
  • Best practice: If you want to restrict access to your content but still have it
    crawled, ensure that Googlebot can access your content by using
    verifying Googlebot.
<video:player_loc>

A URL pointing to a player for a specific video. Usually this is the information
in the src attribute of an <embed> tag.

Additional guidelines

  • Must not be the same as the <loc> URL.
  • For Vimeo, YouTube, and other video hosting platforms that allow embedding videos
    through iframe videos, this value is used rather than
    video:content_loc. This is the equivalent of
    VideoObject.embedUrl
    in structured data.
  • Best practice: If you want to restrict access to your content but still have it
    crawled, ensure that Googlebot can access your content by using
    verifying Googlebot.

Additionally, the following optional tags may help Google better understand your videos and
its properties:

Optional tags
<video:duration>

The duration of the video, in seconds. Value must be from 1 to
28800 (8 hours).

<video:expiration_date>

The date after which the video is no longer be available, in
W3C format.
Omit this tag if your video doesn’t expire. If present, Google Search won’t show your
video after this date. For recurring videos at the same URL, update the expiration
date to the new expiration date.

Supported values are complete date (YYYY-MM-DD), or complete date plus
hours, minutes and seconds, and timezone (YYYY-MM-DDThh:mm:ss+TZD).

Example: 2012-07-16T19:20:30+08:00.

<video:rating>

The rating of the video. Supported values are float numbers in the range 0.0 (low) to
5.0 (high).

<video:view_count>

The number of times the video has been viewed.

<video:publication_date>

The date the video was first published, in
W3C format.
Supported values are complete date (YYYY-MM-DD) or complete date plus
hours, minutes and seconds, and timezone (YYYY-MM-DDThh:mm:ss+TZD).

Example: 2007-07-16T19:20:30+08:00

<video:family_friendly>

Whether the video is available with
SafeSearch. If you omit this
tag, the video is available when SafeSearch is turned on.

Supported values:

  • yes: The video is available when SafeSearch is turned on.
  • no: The video is only available when SafeSearch is turned off.
<video:restriction>

Whether to show or hide your video in search results from specific countries.

Specify a space-delimited list of country codes in
ISO 3166 format.
If there’s no <video:restriction> tag, Google assumes that the video can be
shown in all locations. Note that this tag only affects search results; it doesn’t
prevent a user from finding or playing your video in a restricted location through other
means.

Learn more about applying country restrictions.

Attributes:

If the parent tag <video:restriction> is used, the following
attribute is required:

  • relationship: Whether the video is allowed or denied in
    search results in the specified countries. Supported values are:
    • allow: The listed countries are allowed and unlisted countries are
      denied.
    • deny: The listed countries are denied and unlisted countries are
      allowed.

Example: This example allows the video search result to be shown only in Canada
and Mexico:

<video:restriction relationship="allow">CA MX</video:restriction>

<video:platform>

Whether to show or hide your video in search results on specified platform types. This
is a list of space-delimited platform types. Note that this only affects search
results on the specified device types; it doesn’t prevent a user from playing your
video on a restricted platform.

If there’s no <video:platform> tag, Google assumes that the video can be
played on all platforms.
Learn more about applying platform restrictions.

Supported values:

  • web: Computer browsers on desktops and laptops.
  • mobile: Mobile browsers, such as those on cellular phones or tablets.
  • tv: TV browsers, such as those available through Google TV devices and
    game consoles.

Attributes:

If the parent tag <video:platform> is used, the following
attributes are required:

  • relationship: Specifies whether the video is
    restricted or permitted for the specified platforms. Supported values are:
    • allow: Any omitted platforms will be denied.
    • deny: Any omitted platforms will be allowed.

Example: The following example allows users on web or TV, but not mobile
devices:
<video:platform relationship="allow">web tv</video:platform>

<video:requires_subscription>

Indicates whether a subscription (either paid or free) is required to view the video. Supported values are:

  • yes: Subscription is required.
  • no: Subscription is not required.
<video:uploader>

The video uploader’s name. The string value can be a maximum of 255 characters.

Attributes:

  • info [Optional]: Specifies the URL of a web page with additional
    information about this uploader. This URL must be in the same domain as the
    <loc> tag.
<video:live>

Indicates whether the video is a livestream. Supported values are:

  • yes: The video is a livestream.
  • no: The video is not a livestream.
<video:tag>

An arbitrary string tag describing the video. Tags are generally very short
descriptions of key concepts associated with a video or piece of content. A single
video could have several tags, although it might belong to only one category. For
example, a video about grilling food may belong in the “grilling” category, but could
be tagged “steak”, “meat”, “summer”, and “outdoor”. Create a new
<video:tag> element for each tag associated with a video. A maximum
of 32 tags is permitted per video.

Sitemap alternative: mRSS

While Google recommends using video sitemaps, we also support mRSS feeds.

Google supports mRSS,
an RSS module that supplements the element capabilities of
RSS 2.0.
mRSS feeds are very similar to video sitemaps and can be tested, submitted, and updated just
like sitemaps.

For more information about media feeds, see the
official media RSS documentation.

mRSS Example

Here’s an example of an mRSS entry that provides all the tags that Google uses.

mRSS reference

The
full mRSS specification
contains more optional tags, best practices, and examples.

To make sure Google can use your mRSS feed, you must use the following required tags:

Required tags
<media:content>

Encloses information about the video.

Attributes:

  • medium: Type of content. Set to video.
  • url: The direct URL to the raw video content.
    If this isn’t specified, you must specify the <media:player>
    tag.
  • duration [Optional but recommended]: Length of the video in
    seconds.

For all of the other optional attributes and child fields of the
<media:content> tag, see the
mRSS specification.

<media:player>

You must specify at least one of <media:player> or the
url attribute in <media:content>.

A URL pointing to a player for a specific video. Usually this is the information
in the src attribute of an <embed> tag and must not be
the same as the content of the <loc> tag. It can’t be the same URL as
the <link> tag. The <link> tag points to the URL
of the page hosting the video, while this tag points to a player.

<media:title>

The title of the video. Maximum 100 characters. All HTML entities must be escaped or
wrapped in a
CDATA bock.

<media:description>

The description of the video. Maximum 2048 characters. All HTML entities must be escaped
or wrapped in a
CDATA block.

<media:thumbnail>A URL pointing to a preview thumbnail. Follow the
Video thumbnail requirements.

Additionally, the following optional tags may help Google better understand your videos and
its properties:

Optional tags
<dcterms:valid>

The publication and expiration date of the video. Here’s the
Full specification of the dcterms:valid
tag.

Example:

<media:restriction>

A space-delimited list of countries where the video may or may not be played, in
ISO 3166 format.
If there’s no <media:restriction> tag, Google assumes that the video
can be played in all countries.

Attributes:

If the parent tag <media:restriction> is used, the following
attributes are required:

  • type: Set the type attribute to
    country. Only country restrictions are supported.
  • relationship: Specifies whether the video may or may
    not be played in the specified list of countries. Supported values:
    • allow: The listed countries are allowed and unlisted countries are
      denied.
    • deny: The listed countries are denied and unlisted countries are
      allowed.

Learn more about using country restrictions.

Example:

<media:price>

The price to download or view the video. Don’t use this tag for videos that are
available without payment. More than one <media:price> element can be
listed (for example, in order to specify various currencies or purchasing options).

Attributes:

If the parent tag <media:price> is used, the following
attributes are required:

  • currency: The currency in
    ISO 4217 format.
  • type: The purchase option. Supported values are:
    • rent: The video is available for rent.
    • purchase: The video is available for purchase.
    • package: The video is part of a package deal.
    • subscription: The video is available with a subscription.

Troubleshooting sitemaps

If you’re having trouble with your sitemap, you can investigate the errors with Google Search Console.
See Search Console’s
sitemaps troubleshooting guide
for help.

Additional resources

Want to learn more? Check out the following resources:

Alien Road

Как мы это применяем

Video sitemaps are the reliable path to video results when on-page markup is inconsistent. We use them alongside structured data rather than instead of it.

Связанные услуги

Поделиться

© Copyright 2026 Alien Road. All rights reserved.