我在评论中提供了以下富代码段代码:
<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's Rich Snippets Testing Tool正在发出警告:
警告:缺少必填字段“dtstart”。
dtstart
甚至不是UserComments事件的属性。我应该忽略这个警告(谷歌的工具是测试版)吗?或者我错过了什么?
答案 0 :(得分: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>
每条评论都有自己的itemcope。这意味着您必须对每条评论重复itemtype="http://schema.org/Comment" itemscope="itemscope" itemprop="comment"
。
我在检查Google's example for "Products with many offers"后得出了这个结论。他们使用eBay页面作为示例,其中包含有关产品的多个评论。 Review和Comment都是CreativeWork的一部分。
答案 1 :(得分:1)
我能够让Google验证工具使用UserComments
正确验证网页。我承认很难确定哪个是首选的评论格式(UserComments
vs Comment
),但http://schema.org/CreativeWork声明comment
属于UserComments
类型,所以我现在就开始了。
假设您的UserComments
实例与CreativeWork
类似,我认为避免Google验证错误的关键是将itemprop='comment'
属性添加到UserComment
{ {1}}元素。
在您的情况下,请尝试更新您的行以包含该属性,即:
itemscope
我发现当<ul itemprop="comment" itemscope itemtype="http://schema.org/UserComments">
中包含的UserComments
包含正确的CreativeWork
时,Google会正确解析它们而没有错误。当itemprop
丢失时我确实看到了这个错误,我相信Google在这种情况下将其视为一般事件。顺便提一下,itemprop='comment'
是startDate
的同义词(参考:https://support.google.com/webmasters/answer/164506?hl=en)。
答案 2 :(得分: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>
答案 3 :(得分: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>