google plus没有';t显示xhtml文档中的元信息片段

google plus没有';t显示xhtml文档中的元信息片段,xhtml,google-plus,schema.org,rdfa,Xhtml,Google Plus,Schema.org,Rdfa,我已经为此奋斗了一段时间了,但我甚至不明白为什么它不起作用。以这个简单的XHTML测试源代码为例: 福巴 一些头衔 一些任意文本 甚至更多 (对于使用google plus进行测试,这也是,在这里您可以找到) 如果将XHTML版本的链接粘贴到g+,您会发现它根本无法解析它。它只会显示链接。不过,HTML版本似乎已被解析。两者都能很好地解析。更重要的是,我们有证据表明我们的XHTML网站丰富的代码片段被用于谷歌搜索 对于xhtml版本,内容类型正确地宣布为application/xhtml+x

我已经为此奋斗了一段时间了,但我甚至不明白为什么它不起作用。以这个简单的XHTML测试源代码为例:


福巴
一些头衔

一些任意文本

甚至更多

(对于使用google plus进行测试,这也是,在这里您可以找到)

如果将XHTML版本的链接粘贴到g+,您会发现它根本无法解析它。它只会显示链接。不过,HTML版本似乎已被解析。两者都能很好地解析。更重要的是,我们有证据表明我们的XHTML网站丰富的代码片段被用于谷歌搜索

对于xhtml版本,内容类型正确地宣布为
application/xhtml+xml
,我无法找出任何其他问题。我已经尝试省略xml声明,使用XHTML1.1严格的doctype,但没有成功

因此,我的问题是:

  • 为什么g+在XHTML版本中根本不显示这个文件的代码片段,即使facebook也这样做
  • 是否可以在不删除XHTML的情况下以某种方式纠正这一问题,如果可以,如何纠正

  • 我猜g+使用的解析器可能不支持XHTML,如果不能处理application/XHTML+xmlmime媒体类型,可能会退出。上次我听说g+和Google Rich Snippet测试工具没有使用相同的工具链,所以在Rich Snippet测试工具中工作的东西很可能在其他地方不起作用,尽管如果它在测试工具中工作,这是一个好迹象。我认为,在未来,谷歌将使其所有产品与富代码片段测试工具的功能保持一致


    使用XHTML而不是HTML或HTML5作为文本/HTML,您有什么具体的原因吗?

    您的示例中的微数据似乎不是预期的格式。您可以在以下位置生成必要的微数据:

    请注意缺少的itemprop、itemscope和类似属性:

    <body itemscope itemtype="http://schema.org/Product">
      <h1 itemprop="name">Shiny Trinket</h1>
      <img itemprop="image" src="{image-url}" />
      <p itemprop="description">Shiny trinkets are shiny.</p>
    </body>
    
    
    闪亮的小饰物
    有光泽的小饰品是有光泽的


    除了最近的浏览器在没有XHTML的情况下扰乱了网站的呈现(因为它们将非常好的HTML5块元素移出了其他块元素),我更喜欢XHTML。此外,我使用的web框架根据用户代理发送的Accept头提供XHTML与HTML服务,但有一些例外。此外,在请求中,它明确指定
    application/xhtml+xml;q=1.00
    。他们不会那么邪恶吧?(更不用说工具链是XHTML+XSL,因此服务HTML是服务器的额外负担,因为需要转换)我使用的是RDFa,它在HTML版本中也得到了完美的认可。我不能使用微数据,因为它不适用于XHTML。这就是说,RDFa(Lite和non-Lite)是由谷歌支持的,所以这似乎是错误的信息。更新:我仍在等待谷歌的回复——目前我们试图通过向google plus客户端提供HTML来解决这个问题,尽管它宣传与xhtml的兼容性。我面临着同样的问题——它曾经解决过吗?如果不是,你如何识别谷歌机器人来为它提供HTML?不,我知道没有其他解决方案。谷歌机器人可以被识别为与Firefox版本6类似的东西。您应该能够通过在用户代理字符串中查找
    Firefox/6.
    (也可能是
    Gecko/6.
    -我已经记不清了,UA解析和代码库中的解决方法之间有太多的抽象,这是不确定的)。