视频 Sitemap 及其替代方案

视频 Sitemap 是一个站点地图,其中包含有关托管在您网页上的视频的其他信息。创建视频 Sitemap 可有效帮助 Google 找到并了解您网站上的所有视频内容,避免漏掉某些内容,尤其是最近添加的内容或 Google 通过常规抓取机制可能发现不了的内容。Google 视频 Sitemap 是对站点地图标准的扩展。

虽然 Google 建议您使用视频 Sitemap,但我们也支持 mRSS Feed。您应该遵循视频最佳做法,以便在 Google 搜索中获得最佳效果。

视频 Sitemap 准则

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

  • 您既可以单独为视频创建站点地图,也可以在现有站点地图中嵌入视频 Sitemap,哪种方式更方便就选哪种。

  • 您可以在一个网页上托管多个视频。

  • 每个站点地图条目是托管一个或多个视频的网页的网址。每个站点地图条目的结构如下所示:

    <url>
       <loc>https://example.com/mypage</loc>      <!-- 托管网页的网址 -->
       <video> ... 视频 1 的相关信息 ... </video>
       ... 根据需要添加任意多个其他 <video> 条目...
    </url>
  • 不要列出与托管网页不相关的视频。例如,如果视频只是对网页的小小增补,或者与主要文字内容不相关,则不要列出此类视频。

  • 视频 Sitemap 中的每个条目都包含您提供的一组必需值、推荐值或可选值。推荐值和可选值可提供实用的元数据,这些元数据能完善您的视频搜索结果并帮助 Google 将您的视频收录到搜索结果中。要查看站点地图的一系列元素,请参阅下表

  • Google 可能会使用视频着陆页上的文字,而不使用您在站点地图中提供的文字(如果网页文字被视为比站点地图中的信息更为实用的话)。

  • 由于 Google 采用复杂的索引编制算法,因此无法保证会将您的视频编入索引,也无法保证何时会将视频编入索引。

  • 如果 Google 无法在您提供的网址上发现视频内容,则站点地图条目将被忽略。

  • 您提供的每个 Sitemap 文件所包含的网址元素都不得超过 5 万个。如果视频超过了 5 万个,您可以提交多个站点地图站点地图索引文件。您无法嵌套站点地图索引文件。请注意,如果您要添加可选标记,可能您还未达到视频数量上限(5 万个),就已经达到未压缩文件大小的上限 (50 MB)。

  • Google 必须能够访问源文件或播放器(也就是说,源文件或播放器不能被 robots.txt 屏蔽、要求登录或因其他原因无法供 Googlebot 访问)。我们不支持需要通过流协议下载视频源的元文件。

  • 所有文件都必须可供 Googlebot 访问。如果您想阻止垃圾内容发布者访问在 <player_loc><content_loc> 网址上的视频内容,请验证访问您服务器的任何漫游器是否确实为 Googlebot

  • 确保 robots.txt 文件未屏蔽每个站点地图条目中包含的任何项(包括托管网页网址、视频网址和缩略图网址)。详细了解 robots.txt。

  • Google 会验证您为每个视频提供的信息是否与网站上的内容相符。如果不相符,可能不会将您的视频编入索引。

  • 您可以在一个站点地图中指定来自不同网站的网页。所有网站(包括包含您的站点地图的网站)都必须通过 Search Console 进行验证。详细了解如何管理多个网站的站点地图。

站点地图示例

以下是包含一个托管一个视频的网页的示例视频 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>适合夏季的烧烤排餐</video:title>
       <video:description>小安教您如何每次都能烤出美味牛排</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,但大多数移动平台已不再支持 Flash,因此可能不太经常被编入索引。

不得与 <loc> 网址相同。

相当于结构化数据中的 VideoObject.contentUrl

最佳做法:如果您想限制内容访问权限,但仍然希望 Googlebot 抓取该内容,请确保 Googlebot 能够使用反向 DNS 查找访问您的内容。

<video:player_loc>

必需: video:content_loc video:player_loc

指向特定视频的播放器的网址。通常情况下,是指 <embed> 标记的 src 元素中的信息。不得与 <loc> 网址相同。对于 YouTube 视频,使用此值而不是 video:content_loc。它相当于结构化数据中的 VideoObject.embedUrl

不得与 <loc> 网址相同。

属性:

  • allow_embed [可选] Google 是否可以将视频嵌入搜索结果中。允许的值为 yesno

最佳做法:如果您想限制内容访问权限,但仍然希望 Googlebot 抓取该内容,请确保 Googlebot 能够使用反向 DNS 查找访问您的内容。

<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 格式指定用空格隔开的国家/地区代码列表。每个视频只能使用一个 <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>

可选

视频上传者的名称。每个视频只能有一个 <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>示例 MRSS</title>
<link>http://www.example.com/examples/mrss/</link>
<description>MRSS 示例</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>适合夏季的烧烤排餐</media:title>
      <media:description>每次都能烤出美味牛排</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 的完整规范

示例:

<media:restriction>

可选

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

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

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

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

<media:price>

可选

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

属性:

  • currency [必需] 以 ISO 4217 格式指定的币种。

  • type [必需] 购买选项。允许的值为 rentpurchasepackagesubscription

完整的 mRSS 规范包含更多可选标记、最佳做法和示例。创建 mRSS Feed 后,您便可以测试和提交此 Feed,就像测试和提交视频 Sitemap 一样。

Last updated