Его нужно использовать наоборот:
Атрибут itemref
должен находиться в элементе, представляющем элемент, к которому вы хотите добавить свойства. Это будет основной продукт в вашем случае.
Элементам, которые вы хотите добавить, нужен атрибут itemprop
(который отсутствует, вместе со свойством isSimilarTo
), иid
, на который ссылается атрибут itemref
. Это были бы аналогичные продукты в вашем случае.
Итак, это даст:
<body itemscope itemtype="http://schema.org/ItemPage">
<article itemprop="mainEntity" itemscope itemtype="http://schema.org/Product" itemref="details_20 details_30"></article>
<aside>
<article id="details_20" itemprop="isSimilarTo" itemscope itemtype="http://schema.org/Product"></article>
<article id="details_30" itemprop="isSimilarTo" itemscope itemtype="http://schema.org/Product"></article>
</aside>
</body>
Проблема с этой разметкой состоит в том, что два свойства isSimilarTo
добавить к ItemPage
тоже (потому что они вложены в него), что было бы неправильно. Чтобы избежать этого, лучшим решением было бы не указывать ItemPage
для элемента body
, а для div
или аналогичного.
<body>
<div itemscope itemtype="http://schema.org/ItemPage">
<article itemprop="mainEntity" itemscope itemtype="http://schema.org/Product" itemref="details_20 details_30"></article>
</div>
<aside>
<article id="details_20" itemprop="isSimilarTo" itemscope itemtype="http://schema.org/Product"></article>
<article id="details_30" itemprop="isSimilarTo" itemscope itemtype="http://schema.org/Product"></article>
</aside>
</body>
(Вы также можете использовать itemref
дляизбегайте вложения основного Product
в ItemPage
. Это также позволит указать ItemPage
в элементе head
, например.)