You can use the Microdatas itemref attribute, so you do not need to duplicate identical data.
Use itemprop attributes for data that is identical for all products, give each property an id , but do not put these properties inside itemscope :
<section> <h1 itemprop="name" id="product-name">Product name</h1> <img itemprop="image" id="product-img" src="productimage" alt="" /> <p itemprop="description" id="product-desc">Product description</p> </section>
On each product (each represented by a Product element), you list all the id values ββin your itemref attribute:
<section> <div id="variation1" itemscope itemtype="http://schema.org/Product" itemref="product-name product-img product-desc"> </div> <div id="variation2" itemscope itemtype="http://schema.org/Product" itemref="product-name product-img product-desc"> </div> </section>
source share