9

我有以下代码用于评论的丰富片段:

<ul itemscope itemtype="http://schema.org/UserComments">
    <li id="comment-1" class="comment">
        <span itemprop="name" class="author">Author 1</span>
        <p itemprop="commentText">Bla Bla Bla</p>
        <time itemprop="commentTime" content="2012-07-29" datetime="2012-07-29T05:55+00:00" title="Jul 29, 2012 5:55">2 days ago</time>
    </li>

    <li id="comment-2" class="comment">
        <span itemprop="name" class="author">Author 2</span>
        <p itemprop="commentText">yada yada yada</p>
        <time itemprop="commentTime" content="2012-07-30" datetime="2012-07-30T04:44+00:00" title="Jul 30, 2012 4:44">yesterday</time>
    </li>
 </ul>

根据schema.org/UserComments,这是正确的。但是,Google 的 Rich Snippets Testing Tool发出警告:

警告:缺少必填字段“dtstart”。

dtstart甚至不是 UserComments 事件的属性。我应该忽略这个警告吗(谷歌的工具是测试版)?还是我错过了什么?

4

4 回答 4

11

我想我找到了答案。正确的 HTML 代码似乎是这样的:

<ul>
    <li id="comment-1" itemtype="http://schema.org/Comment" itemscope="itemscope" itemprop="comment">
        <span itemprop="author">Author 1</span>
        <p itemprop="text">Bla Bla Bla</p>
        <time itemprop="dateCreated" content="2012-07-29" datetime="2012-07-29T05:55+00:00" title="Jul 29, 2012 5:55">2 days ago</time>
    </li>
 </ul>

每个评论都有自己的 itemscope。这意味着您必须重复itemtype="http://schema.org/Comment" itemscope="itemscope" itemprop="comment"每条评论。

在查看了 Google 的 "Products with many offer" 示例后,我得出了这个结论。他们使用包含多个产品评论的 eBay 页面作为示例。评论评论都是CreativeWork的一部分。

于 2012-08-03T10:10:17.170 回答
1

我能够让 Google 验证器使用UserComments. 我承认很难决定哪种是首选的评论格式(UserCommentsvs Comment),但是http://schema.org/CreativeWork声明comment为 type UserComments,所以我现在就这样做。

假设您的实例UserComments位于类似 a 的内部CreativeWork,我相信避免 Google 出现此验证错误的关键是将itemprop='comment'属性添加到UserComment itemscope元素。

在您的情况下,尝试更新您的行以包含该属性,即:

<ul itemprop="comment" itemscope itemtype="http://schema.org/UserComments">

我发现当UserComments包含在contains 中时,GoogleCreativeWork正确itemprop地解析了它们,没有错误。我确实在丢失时看到了这个错误itemprop='comment',我相信谷歌在这种情况下将它视为一个通用事件。顺便说一句,startDatedtstart(参考:https ://support.google.com/webmasters/answer/164506?hl=en )的同义词。

于 2014-01-13T11:40:16.443 回答
0

不使用它: itemprop="comment"

<ul>
    <li id="comment-1" itemtype="http://schema.org/Comment" itemscope="itemscope">
        <span itemprop="author">Author 1</span>
        <p itemprop="text">Bla Bla Bla</p>
        <time itemprop="dateCreated" content="2012-07-29" datetime="2012-07-29T05:55+00:00" title="Jul 29, 2012 5:55">2 days ago</time>
    </li>
 </ul>
于 2013-07-12T09:34:28.923 回答
0

经过大量尝试和错误后,我发现了一些可行的方法并通过了我使用测试工具所做的测试。

<div itemprop="comment" itemscope itemtype="http://schema.org/UserComments">
    <p itemprop="commentText"> bla bla bla </p>
    <span itemprop="name" class="author">billy bob</span>
    <span itemprop="commentTime" content="2014.2.28" >Feb 28 2014</span>
</div>
于 2014-03-13T17:34:58.823 回答