首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON和Microdata在同一个页面上?

JSON和Microdata在同一个页面上?
EN

Stack Overflow用户
提问于 2016-12-08 08:05:18
回答 1查看 2.4K关注 0票数 9

我在我的电子商务产品页面上有Micro和JSON,描述了同样的事情(在我的例子中是产品)。由于这个问题范围以外的原因,我不能删除这两种格式中的任何一种。我想知道:

  1. 这对谷歌来说是个问题吗?结构化数据测试工具确实显示了两项(产品),而不是一项。
  2. 如果一个属性,比方说产品的名称,在这两种格式之间略有不同,那么这两种格式中的任何一种,例如JSON-LD会优先吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-08 10:01:20

问题是,消费者会认为不同的事物被描述(或者更准确地说:消费者不会知道事物是否相同)。

有一种方法可以防止这种情况:give each thing a URI,如果情况相同,则使用相同的URI。

这可以通过JSON中的@id和微数据中的itemid来完成。

所以一个简单的例子可以是:

代码语言:javascript
复制
<!-- 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值。如果消费者是搜索引擎,它可能会使用已经存在的专有算法来处理这种情况。

当然,目前还不清楚是否/如何所有不同的消费者都支持它。但这是正确的方法,也是唯一明确的方法。隐式方法包括希望消费者理解典型(但不一定)唯一属性的相同值(例如,urlemailproductID等)。意味着事情是一样的。但这种隐式方式当然可以与显式方法一起使用。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41034582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档