我在我的电子商务产品页面上有Micro和JSON,描述了同样的事情(在我的例子中是产品)。由于这个问题范围以外的原因,我不能删除这两种格式中的任何一种。我想知道:
发布于 2016-12-08 10:01:20
问题是,消费者会认为不同的事物被描述(或者更准确地说:消费者不会知道事物是否相同)。
有一种方法可以防止这种情况:give each thing a URI,如果情况相同,则使用相同的URI。
这可以通过JSON中的@id和微数据中的itemid来完成。
所以一个简单的例子可以是:
<!-- markup on the product page,
so the fragment "#this" results in an absolute URI like
"http://example.com/products/foo#this" -->
<!-- JSON-LD -->
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Product",
"@id": "#this",
"name": "Foo"
}
</script>
<!-- Microdata -->
<article itemscope itemtype="http://schema.org/Product" itemid="#this">
<h1 itemprop="name">Foo</h1>
</article>如果像name这样的属性有不同的值,那么消费者处理这个问题的最明显的方法就是给事物起多个名称。对于使用者只需要一个名称的特性(例如,在富结果中),没有定义将使用哪个name值。如果消费者是搜索引擎,它可能会使用已经存在的专有算法来处理这种情况。
当然,目前还不清楚是否/如何所有不同的消费者都支持它。但这是正确的方法,也是唯一明确的方法。隐式方法包括希望消费者理解典型(但不一定)唯一属性的相同值(例如,url、email、productID等)。意味着事情是一样的。但这种隐式方式当然可以与显式方法一起使用。
https://stackoverflow.com/questions/41034582
复制相似问题