对于XML Sitemaps,文档是否可以包含多个Protocol Extensions?

时间:2017-11-30 21:46:12

标签: xml xsd xml-parsing sitemap google-sitemap

在提出这个问题之前,我做了很多研究。我甚至去谷歌搜索"sitemap" filetype:xml - 查看一些大联盟的站点地图文件,看看这里是否有答案。

实际问题:

  1. XML站点地图支持“扩展程序”:https://www.sitemaps.org/protocol.html#extending
  2. Google支持新闻,图片,视频和通用:https://support.google.com/webmasters/topic/6080646?hl=en&ref_topic=4581190
  3. 它还支持多语言内容:https://support.google.com/webmasters/answer/2620865?hl=en&ref_topic=6080646
  4. 它还支持“站点地图索引”:https://support.google.com/webmasters/answer/75712?visit_id=1-636476631020171976-2911222833&rd=1
  5. XML Sitemap是否可以同时使用多个扩展程序?

    我无法找到任何人在野外这样做的例子。这意味着它要么不起作用,要么就是没有理由不这样做。但是我找不到关于此的支持信息。

    站点地图索引是他们自己的文档是有道理的,因为XSD文件必须是不同的:https://www.sitemaps.org/schemas/sitemap/0.9/

    但是看这里:https://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd - 我没有找到任何线索......然后是Nike的XML文档:https://store.nike.com/sitemap-store-en-ca.xml

    它有:

    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
    

    但是站点地图的内容仍然正常化,没有节点混合。

    转到https://www.google.com/schemas/sitemap-image/1.1/我看到了:

      

    Google使用XML架构来定义可以使用的元素和属性   出现在Sitemap文件中。站点地图可能包含两个核心站点地图   图像特有的元素和元素。

    我真的很想知道,我可以,让我们说一个博客 - 然后是一个XML Sitemap,其中包含文章的URL,URL,翻译XHTML节点,我想为其索引的图像网址,该网址上的视频等等......

    您可以转到http://www.cnn.com/sitemaps/sitemap-gallery-2017-11.xml并在网址中添加与图片内容并行的视频内容吗?

1 个答案:

答案 0 :(得分:1)

至少Google支持此功能。如果您在此处查看XML站点地图格式:https://support.google.com/webmasters/answer/183668?hl=en

您可以在这个示例中找到混合图像和视频节点的示例。

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" 
  xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url> 
    <loc>http://www.example.com/foo.html</loc> 
    <image:image>
       <image:loc>http://example.com/image.jpg</image:loc>
       <image:caption>Dogs playing poker</image:caption>
    </image:image>
    <video:video>
      <video:content_loc>
        http://www.example.com/video123.flv
      </video:content_loc>
      <video:player_loc allow_embed="yes" autoplay="ap=1">
        http://www.example.com/videoplayer.swf?video=123
      </video:player_loc>
      <video:thumbnail_loc>
        http://www.example.com/thumbs/123.jpg
      </video:thumbnail_loc>
      <video:title>Grilling steaks for summer</video:title>  
      <video:description>
        Cook the perfect steak every time.
      </video:description>
    </video:video>
  </url>
</urlset>

我在这里查看了图像命名空间的XSD:http://www.google.com/schemas/sitemap-image/1.1/sitemap-image.xsd

这些节点的架构定义对兄弟节点没有任何要求,您应该能够在urlset中删除这些混合的站点地图节点类型。