All M2 themes I have tested do not have proper structured data/rich snippets. The currency symbol is in the price span, and gets a warning:
An example: link to snippet Problem code cleaned up a bit:
<span itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<span data-price-amount="54" data-price-type="finalPrice" itemprop="price">
<span class="price">$54.00</span> </span>
<meta itemprop="priceCurrency" content="USD" />
</span>
Error: price $54.00 (The property $54.00 is not a valid price specification. Find out more about http://schema.org/price.)
If the $ is taken out of <span class="price">$54.00</span>
like this it validates fine:
<span itemprop="offers" itemscope itemtype="http://schema.org/Offer">
$<span data-price-amount="54" data-price-type="finalPrice" itemprop="price">
<span class="price">54.00</span> </span>
<meta itemprop="priceCurrency" content="USD" />
But I cannot find which files are creating the price code and which code to change. What is the best way to validate the structured data?