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

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

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

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

1 ответ

Решение

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

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


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

Другие вопросы по тегам