视频 Sitemap 及其替代方案

视频 Sitemap 是站点地图的一种,其中包含有关托管在您网页上的视频的更多信息。创建视频 Sitemap 极大地方便了 Google 找到并了解您网站上的视频内容,尤其是最近添加的内容或 Google 通过常规抓取机制可能发现不了的内容。Google 视频 Sitemap 是对站点地图标准的扩展。

虽然 Google 建议您使用视频 Sitemap,但我们也支持 mRSS Feed

视频 Sitemap 准则

以下是视频 Sitemap 的基本准则:

  • 您既可以单独为视频创建站点地图,也可以在现有站点地图中嵌入视频 Sitemap,哪种方式更方便就选哪种。
  • 您可以在一个网页上托管多个视频。
  • 每个站点地图条目都是托管一个或多个视频的网页对应的网址。每个站点地图条目的结构如下所示:
    <url>
      <loc>https://example.com/mypage</loc>      <!-- URL of host page -->
      <video> ... information about video 1 ... </video>
      ... as many additional <video> entries as you need ...
    </url>
  • 请勿列出与托管网页无关的视频。例如,如果视频只是对网页的小小增补,或者与主要文字内容不相关,则不要列出此类视频。
  • 视频 Sitemap 中的每个条目都包含您提供的一组必需值、推荐值或可选值。推荐值和可选值可提供实用的元数据,这些元数据能完善您的视频结果并有助于 Google 将您的视频收录到搜索结果中。请参阅站点地图元素列表
  • 如果 Google 判定网页文本比站点地图中的信息更为实用,Google 可能会使用视频着陆页上的文本,而不使用您在站点地图中提供的文本。
  • 由于 Google 采用复杂的索引编制算法,因此无法保证会将您的视频编入索引,也无法保证何时会将视频编入索引。
  • 如果 Google 无法在您提供的网址上发现视频内容,则会忽略相应站点地图条目。
  • 您提供的每个站点地图文件所包含的网址元素都不得超过 5 万个。如果视频超过了 50000 个,您可以提交多个站点地图和一个站点地图索引文件。您无法嵌套站点地图索引文件。请注意,如果您要添加可选标记,可能您还未达到视频数量上限(50000 个),就已经达到未压缩文件大小的上限 (50 MB)。
  • Google 必须能够访问源文件或播放器(也就是说,源文件或播放器不得被 robots.txt 屏蔽、不得要求登录或因其他原因无法供 Googlebot 访问)。Google 不支持要求通过流式传输协议下载源内容的元文件。
  • 所有文件都必须可供 Googlebot 访问。如果您想阻止垃圾内容发布者访问在 <player_loc><content_loc> 网址上的视频内容,请验证访问您服务器的任何漫游器是否确实为 Googlebot
  • 确保 robots.txt 文件不会屏蔽每个站点地图条目中包含的任何项(包括托管网页网址、视频网址和缩略图网址)。详细了解 robots.txt。
  • Google 会验证您为每个视频提供的信息是否与网站上的内容相符。如果不相符,可能不会将视频编入索引。
  • 您可以在一个站点地图中指定来自不同网站的网页。所有网站(包括包含您的站点地图的网站)都必须通过 Search Console 进行验证。详细了解如何管理多个网站的站点地图
  • 了解如何向 Google 提交站点地图。对于大型网站,我们建议您使用 Search Console API 提交站点地图。

站点地图示例

以下是包含一个托管一个视频的网页的示例视频 Sitemap。此示例包含 Google 使用的所有标记。

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
   <url>
     <loc>http://www.example.com/videos/some_video_landing_page.html</loc>
     <video:video>
       <video:thumbnail_loc>http://www.example.com/thumbs/123.jpg</video:thumbnail_loc>
       <video:title>Grilling steaks for summer</video:title>
       <video:description>Alkis shows you how to get perfectly done steaks every
         time</video:description>
       <video:content_loc>
          http://streamserver.example.com/video123.mp4</video:content_loc>
       <video:player_loc>
         http://www.example.com/videoplayer.php?video=123</video:player_loc>
       <video:duration>600</video:duration>
       <video:expiration_date>2021-11-05T19:20:30+08:00</video:expiration_date>
       <video:rating>4.2</video:rating>
       <video:view_count>12345</video:view_count>
       <video:publication_date>2007-11-05T19:20:30+08:00</video:publication_date>
       <video:family_friendly>yes</video:family_friendly>
       <video:restriction relationship="allow">IE GB US CA</video:restriction>
       <video:price currency="EUR">1.99</video:price>
       <video:requires_subscription>yes</video:requires_subscription>
       <video:uploader
         info="http://www.example.com/users/grillymcgrillerson">GrillyMcGrillerson
       </video:uploader>
       <video:live>no</video:live>
     </video:video>
   </url>
</urlset>

XML 命名空间

视频 Sitemap 标记在以下名称空间中定义:

xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"

视频 Sitemap 标记定义

您可以在 rssboard.org 上查找有关媒体站点地图的更多文档。

标记 是否必需? 说明
<url> 必需 您网站上的单个托管网页的父级标记。由基本站点地图格式定义。
<loc> 必需

指定在其中托管一个或多个视频的托管网页。用户点击 Google 搜索中的视频结果后,将转至该网页。此网址在站点地图中必须是唯一的。由基本站点地图格式定义。

如果单个网页上有多个视频,请为该网页创建一个 <loc> 标记,并为该网页上的每个视频创建一个 <video> 子级元素。

<video:video> 必需

<loc> 指定的网页上,单个视频的所有相关信息的父级元素。

<video:thumbnail_loc> 必需

指向视频缩略图文件的网址。请参阅缩略图要求。

<video:title> 必需

视频标题。所有 HTML 实体都应进行转义或封装在一个 CDATA 块中。我们建议此标题与网页上显示的视频标题一致。

<video:description> 必需

视频的说明。不得超过 2048 个字符。所有 HTML 实体都应进行转义或封装在一个 CDATA 块中。必须与网页上显示的说明一致(稍有出入亦可)。

<video:content_loc>

必需<video:content_loc><video:player_loc>

指向实际视频媒体文件的网址。应采用其中一种支持的格式。

其他指南

  • 不支持 HTML 和 Flash 格式。
  • 不得与 <loc> 网址相同。
  • 此标记相当于结构化数据中的 VideoObject.contentUrl
  • 最佳做法:如果您想对内容访问权限设定限制,但仍然希望 Googlebot 抓取该内容,请使用 DNS 反向查找确保 Googlebot 能够访问您的内容。
<video:player_loc>

必需<video:content_loc><video:player_loc>

指向特定视频的播放器的网址。通常,这是 <embed> 标记的 src 元素中的信息。

其他指南

  • 不得与 <loc> 网址相同。
  • 对于 YouTube 视频,请使用此值而非 video:content_loc。它相当于结构化数据中的 VideoObject.embedUrl
  • 最佳做法:如果您想对内容访问权限设定限制,但仍然希望 Googlebot 抓取该内容,请使用 DNS 反向查找确保 Googlebot 能够访问您的内容。

属性

  • allow_embed [可选] 指定 Google 能否将视频嵌入搜索结果中。允许的值为 yesno
<video:duration> 推荐

视频的时长(以秒为单位)。值必须介于 1(含)和 28800(8 小时,含)之间。

<video:expiration_date> 建议视情况提供

视频的失效日期(采用 W3C 格式)。如果您的视频不会失效,则不要添加此标记。如果存在此标记,则在此日期之后,Google 搜索将不会显示您的视频。

支持的值为完整日期 (YYYY-MM-DD),或完整日期加时、分和秒以及时区 (YYYY-MM-DDThh:mm:ss+TZD)。

示例2012-07-16T19:20:30+08:00

<video:rating> 可选

视频的评分。支持的值为介于 0.0(下限,含)到 5.0(上限,含)之间的浮点数。

<video:view_count> 可选

视频的观看次数。

<video:publication_date> 可选

首次发布视频的日期(采用 W3C 格式)。支持的值为完整日期 (YYYY-MM-DD),或完整日期加时、分和秒以及时区 (YYYY-MM-DDThh:mm:ss+TZD)。

示例2007-07-16T19:20:30+08:00

<video:family_friendly> 可选

用户能否在安全搜索模式下搜到该视频。如果您省略了此标记,则开启安全搜索后也能搜到该视频。

支持的值

  • yes:开启安全搜索后也能搜到该视频。
  • no:仅在关闭安全搜索的情况下才能搜到该视频。
<video:restriction> 可选

是否在来自特定国家/地区的搜索结果中显示或隐藏您的视频。

请指定用空格隔开的国家/地区代码列表,采用 ISO 3166-1 格式。每个视频只能使用一个 <video:restriction> 标记。如果未提供 <video:restriction> 标记,Google 会假定该视频可在所有地区播放。请注意,此标记仅会影响搜索结果;它不会阻止用户通过其他方式在受限制的国家/地区查找或播放您的视频。详细了解如何应用国家/地区限制。

属性

  • relationship [必需] 指定是否允许视频在指定国家/地区的搜索结果中显示。支持的值为 allowdeny。如果值为 allow,则允许在所列国家/地区显示,拒绝在未列出的国家/地区显示;如果值为 deny,则拒绝在所列国家/地区显示,允许在未列出的国家/地区显示。

示例:本示例仅允许在加拿大和墨西哥显示相应视频搜索结果:

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

<video:platform> 可选

指定是否在所列类型的平台的搜索结果中显示或隐藏您的视频。其值是用空格隔开的平台类型列表。请注意,此标记仅会影响指定设备类型上的搜索结果;它不会阻止用户在受限平台上播放您的视频。

对于每个视频,只能显示一个 <video:platform> 标记。如果未提供 <video:platform> 标记,Google 会假定该视频可在所有平台上播放。详细了解如何应用平台限制。

支持的值

  • web - 桌面设备和笔记本电脑中的传统计算机浏览器。
  • mobile - 移动浏览器,例如手机或平板电脑中的浏览器。
  • tv - 电视浏览器,例如 Android TV 设备和游戏机上的浏览器。

属性

  • relationship [必需] 指定是否允许视频在特定平台上显示。支持的值为 allowdeny。如果使用 allow 值,系统将拒绝在所有未列出的平台上显示相应视频;如果使用 deny 值,系统将允许在所有未列出的平台上显示相应视频。

示例:以下示例允许向使用传统计算机浏览器或电视浏览器的用户显示相应视频,但不允许向使用移动浏览器的用户显示相应视频:
<video:platform relationship="allow">web tv</video:platform>

<video:price> 可选

下载或观看视频需要支付的费用。如果是免费视频,则不要添加此标记。您可以列出多个 <video:price> 元素(例如,为了指定多个币种、购买选项或分辨率)。

属性

  • currency [必需] 以 ISO 4217 格式指定币种。
  • type [可选] 指定购买选项。支持的值为 rentown。如果未指定,则默认值为 own
  • resolution [可选] 指定所购买版本的分辨率。支持的值为 hdsd
<video:requires_subscription> 可选

指明是否需要订阅(收费或免费)才能观看视频。允许的值为 yesno

<video:uploader> 可选

视频上传者的名称。每个视频只能有 1 个 <video:uploader> 标记。字符串值,最多 255 个字符。

属性

  • info [可选] 指定其中包含有关此上传者的其他信息的网页对应的网址。此网址必须与 <loc> 标记的值位于同一网域中。
<video:live> 可选

指明视频是否为直播视频。支持的值为 yesno

<video:tag> 可选

用于描述视频的任意字符串标记。标记通常是与视频或内容片段相关联的关键概念的极简短说明。一个视频可以有多个标记,尽管它可能只属于一个类别。例如,有关烧烤食物的视频可能属于“烧烤”类别,但可以带有“牛排”、“肉类”、“夏季”和“室外”标记。请为与视频相关的每个标记创建新的 <video:tag> 元素。最多允许使用 32 个标记。

<video:category> 可选

视频所属宽泛类别的简短说明。这是一个不超过 256 个字符的字符串。一般情况下,类别是指按主题对内容进行的大致分组。通常,一个视频只属于一个类别。例如,有关烹饪的网站可以有“铁板烧”、“烘烤”和“烧烤”等类别,并且视频可以属于这些类别之一。

<video:gallery_loc> 未使用

当前未使用。

站点地图替代方案

虽然 Google 建议您使用视频 Sitemap 和 schema.org 的 VideoObject 标记视频,但我们也支持 mRSS Feed。

mRSS

Google 支持 mRSS,它是一个对 RSS 2.0 的元素功能进行补充的 RSS 模块。mRSS Feed 与视频 Sitemap 非常类似,可以像站点地图一样进行测试、提交和更新。

对于每个 mRSS Feed,未压缩时的文件大小都不得超过 50MB,且包含的视频条目不超过 5 万个。如果未压缩文件大于 50MB,或者视频数量超过 5 万个,您可以提交多个 mRSS Feed 和站点地图索引文件。站点地图索引可以包含 mRSS Feed。

RSS 与 mRSS - mRSS 是用于整合多媒体文件的 RSS 扩展。它可实现比 RSS 标准详细得多的内容描述。

mRSS 示例

下面是 mRSS 条目的示例,其中提供了 Google 使用的所有主要标记。其中包括 <dcterms:type>live-video</dcterms:type>,您可以使用该标记标识直播视频。

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:dcterms="http://purl.org/dc/terms/">
<channel>
<title>Example MRSS</title>
<link>http://www.example.com/examples/mrss/</link>
<description>MRSS Example</description>
  <item xmlns:media="http://search.yahoo.com/mrss/" xmlns:dcterms="http://purl.org/dc/terms/">
    <link>http://www.example.com/examples/mrss/example.html</link>
    <media:content url="http://www.example.com/examples/mrss/example.flv" fileSize="405321"
      type="video/x-flv" height="240" width="320" duration="120" medium="video" isDefault="true">
      <media:player url="http://www.example.com/shows/example/video.swf?flash_params" />
      <media:title>Grilling Steaks for Summer</media:title>
      <media:description>Get perfectly done steaks every time</media:description>
      <media:thumbnail url="http://www.example.com/examples/mrss/example.png" height="120" width="160"/>
      <media:price price="19.99" currency="EUR" />
      <media:price type="subscription" />
    </media:content>
    <media:restriction relationship="allow" type="country">us ca</media:restriction>
    <dcterms:valid xmlns:dcterms="http://purl.org/dc/terms/">end=2020-10-15T00:00+01:00; scheme=W3C-DTF</dcterms:valid>
    <dcterms:type>live-video</dcterms:type>
  </item>
</channel>
</rss>

mRSS 标记

标记 是否必需? 说明
<media:content> 必需

附上视频的相关信息。

属性:

  • medium [必需] 内容类型。它应设置为 video
  • url [必需] 指向原始视频内容的直接网址。如果未指定此标记,则必须指定 <media:player> 标记。
  • duration [可选,但建议提供] 视频的时长(以秒为单位)。

若要了解 <media:content> 标记的所有其他可选属性和子字段,请参阅 mRSS 规范

<media:player> 视情况而定

您必须至少指定 <media:player><media:content> 中的 url 属性这两者中的一项。

指向特定视频的播放器的网址。通常,其值对应 <embed> 标记的 src 元素中的信息,不应该与 <loc> 标记的内容相同。不得与 <link> 标记的网址相同。<link> 应指向视频托管网页的网址,而此标记应指向播放器。

<media:title> 必需

视频标题。不得超过 100 个字符。所有 HTML 实体都应进行转义或者封装在一个 CDATA 块中。

<media:description> 必需

视频说明。不得超过 2048 个字符。所有 HTML 实体都应进行转义或者封装在一个 CDATA 块中。

<media:thumbnail> 必需 指向预览缩略图的网址。请参阅缩略图要求
<dcterms:valid> 可选

视频的发布日期和失效日期。dcterms:valid 的完整规范

示例


<dcterms:valid>
  start=2002-10-13T09:00+01:00;
  end=2002-10-17T17:00+01:00;
  scheme=W3C-DTF
<dcterms:valid>
<media:restriction> 可选

可以播放视频或无法播放视频的国家/地区列表,其中各项用空格隔开。允许的值为采用 ISO 3166 格式的国家/地区代码。如果未提供 <media:restriction> 标记,Google 会假定该视频可在所有地区播放。

必需属性 type 应设置为 country。仅支持国家/地区限制。

必需属性 relationship 指定视频是否允许在指定国家/地区播放。允许的值为 allowdeny

详细了解如何使用国家/地区限制。

<media:price> 可选

下载或观看视频需要支付的费用。如果是免费视频,请勿使用此标记。您可以列出多个 <media:price> 元素(例如,为了指定多个币种或购买选项)。

属性

  • currency [必需] 以 ISO 4217 格式指定的币种。
  • type [必需] 购买选项。允许的值包括:rentpurchasepackagesubscription

mRSS 的完整规范包含更多可选标记、最佳做法和示例。创建 mRSS Feed 后,您便可以像测试和提交任何其他站点地图一样,测试和提交此 Feed。