3

我已经为此奋斗了一段时间,但我什至无法弄清楚为什么它不起作用。使用这个简单的 XHTML 测试源:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>foobar</title>
        <meta name="description" content="baz" />
    </head>
    <body vocab="http://schema.org/" typeof="Article">
        <h1 property="headline">Some title</h1>
        <p property="description">some arbitrary text</p>
        <p>and even more of it</p>
    </body>
</html>

(用google plus做测试,这里也暂时可用,这里可以找到纯html版本

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

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

所以我的问题:

  1. 为什么 g+ 在 XHTML 版本中根本不显示此文件的片段即使 facebook 显示?
  2. 是否可以在不删除 XHTML 的情况下以某种方式纠正这种情况,如果可以,如何解决?
4

2 回答 2

0

我猜 g+ 使用的解析器可能不支持 XHTML,如果它不能处理 application/xhtml+xml MIME 媒体类型,它可能会退出。上次我听说 g+ 和 Google Rich Snippet 测试工具没有使用相同的工具链,所以很有可能在 Rich Snippet 测试工具中工作的东西可能在其他地方无法工作,但如果它在测试工具中工作,这是一个好兆头. 我认为未来谷歌会将其所有产品与丰富网页摘要测试工具的功能相结合。

你有什么特别的理由使用 XHTML 而不是 HTML 或 HTML5 作为 text/html?

于 2012-09-14T15:41:57.173 回答
-1

您示例中的微数据似乎不是预期的格式。您可以在以下位置生成必要的微数据:https ://developers.google.com/+/plugins/snippet/

注意缺少的 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>
于 2012-09-17T16:57:09.470 回答