Hi,
I found an issue with the automatic Product structured data generated by EasyStore for products using variants.
For a product where pricing, SKU and inventory are defined at variant level, the product page correctly displays the selected variant price, but the generated JSON-LD contains:
"offers": {
"@type": "Offer",
"priceCurrency": "EUR",
"price": "0.00",
"availability": "schema.org/InStock"
},
"sku": ""
The product itself has no parent price because pricing is managed through its variants.
After checking site/src/Traits/ProductStructuredData.php, the structured data appears to use the parent product values:
$price = $product->has_sale
? $product->discounted_price
: $product->regular_price;
and:
"sku" => isset($product->sku) ? $product->sku : '',
This means the JSON-LD does not reflect the selected variant, although the product URL can represent a specific variant (for example /product-name/black-12-years).
I compared ProductStructuredData.php from EasyStore 2.1.0 and 3.0.0 and the relevant implementation is unchanged, so the same issue appears to be present in EasyStore 3.0.0.
Could you please check how Product structured data is generated for products with variants?
Ideally, the schema should either represent the selected variant with its actual price, SKU and availability, or use the appropriate ProductGroup/Product variant structured data.
Thank you.