JSON-LD и микроданные на одной странице?

У меня есть как Micro Data, так и JSON-LD на моих страницах продуктов электронной коммерции, описывающих одно и то же (продукты в моем случае). По причинам, выходящим за рамки этого вопроса, я не могу удалить ни один из двух форматов. Мне интересно:

  1. это проблема для Google? Инструмент тестирования структурированных данных отображает два элемента (продукта) вместо одного.

  2. Если одно свойство, скажем, имя продукта, немного отличается между два формата, будет ли какой-либо из двух форматов, например, JSON-LD иметь приоритет?

1 ответов


проблема в том, что потребитель будет думать, что разные вещи описаны (или точнее: потребитель не знал бы, являются ли вещи одинаковыми или нет).

есть способ предотвратить this1:дайте каждой вещи URI, и в случае, если вещи одинаковы, тот же URI.

это можно сделать с помощью @id в JSON-LD и с 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 значения будут использоваться. Если потребитель является поисковой системой, он, скорее всего, будет использовать свои уже существующие собственные алгоритмы для обработки таких случаев.


1 Конечно это не ясно, если как все различные потребители поддерживают его. Но это правильный способ сделать это, и это единственный явный способ сделать это. Неявные способы включают надежду на то, что потребитель понимает, что одинаковые значения для обычно (но не обязательно) уникальных свойств (например, url, email, productID, etc.) означает, что вещи одинаковы. Но такой неявный способ, конечно, можно использовать вместе с явным.