How to Fix Product Schema Missing Price on Shopify & WooCommerce
errorThe Problem
Your product pages have Product schema (JSON-LD structured data) but the 'offers' section is missing or incomplete. Specifically, the price, priceCurrency, and availability fields are required by Google for product rich results. Without them, your products won't show prices in Google search results and won't appear in Google Shopping.
trending_upWhy It Matters for SEO
Product rich results with prices get significantly more clicks than plain text results. Google Shopping listings require valid Product schema with price and availability. Missing these fields means you're invisible in Google's shopping features — while your competitors with proper schema are showing prices, ratings, and availability right in the search results.
buildHow to Fix It
- 1
Most Shopify themes include Product schema automatically. First check if yours does: view a product page source and search for 'application/ld+json'.
- 2
If JSON-LD exists but is missing price: your theme likely has a bug. Go to Online Store → Themes → Edit Code.
- 3
Search for 'ld+json' across all files (usually in sections/main-product.liquid or snippets/product-schema.liquid).
- 4
Find the Product schema block and ensure the 'offers' object includes price, priceCurrency, and availability.
- 5
If no JSON-LD exists at all, add the full schema snippet below to your product template.
- 6
Test your fix at: https://search.google.com/test/rich-results
{% if product %}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": {{ product.title | json }},
"image": {{ product.featured_image | image_url: width: 1024 | json }},
"description": {{ product.description | strip_html | truncate: 500 | json }},
"brand": {
"@type": "Brand",
"name": {{ product.vendor | json }}
},
"sku": {{ product.selected_or_first_available_variant.sku | json }},
"offers": {
"@type": "Offer",
"url": "{{ shop.url }}{{ product.url }}",
"price": {{ product.selected_or_first_available_variant.price | money_without_currency | json }},
"priceCurrency": {{ cart.currency.iso_code | json }},
"availability": "https://schema.org/{% if product.available %}InStock{% else %}OutOfStock{% endif %}"
}
}
</script>
{% endif %}Related Fix Guides
How to Fix Missing Canonical Tags on Shopify & WooCommerce
Fix missing canonical tags on your Shopify or WooCommerce store. Copy-paste code included. Prevent duplicate content from tanking your SEO rankings.
How to Fix Accidental Noindex Tags on Shopify & WooCommerce
Your page has a noindex tag telling Google not to show it in search results. Here's how to find and remove it on Shopify and WooCommerce stores.
How to Fix Missing Image Alt Text on Shopify & WooCommerce
Fix missing image alt text on your ecommerce store. Boost Google Image search traffic and accessibility with proper alt attributes on product images.
Want to check if YOUR store has this issue?
Scan your site for free — get copy-paste fixes in 60 seconds.
searchScan Now — It's Free