Missing schema product
Moderate effortFound on 28% of audited stores.
Add Product schema (JSON-LD structured data) to every product page so search engines can display rich results like price, availability, and ratings directly in search listings.
What it is
Structured data is a standardized block of code — invisible to shoppers but readable by search engines — that explicitly tells Google and Bing what your page is about. Product schema specifically describes your item's name, price, availability, reviews, and more using a vocabulary that search engines universally understand. Without it, search engines have to guess at those details by reading your page text, which is slower and less reliable. Adding Product schema is how you "raise your hand" to Google and say: this page sells a product, here are the details.
Why it matters
Product schema is the gateway to Google's **rich results** — the eye-catching search listings that show star ratings, price, and stock status directly in the search results page. These rich results get significantly higher click-through rates than plain blue links, meaning more organic traffic to your store without spending more on ads. Missing schema means your product pages compete at a disadvantage against rivals whose listings stand out with price and review badges. Additionally, as AI-powered answer engines (like Google's AI Overviews and Bing Copilot) increasingly pull structured product data to answer shopping queries, having valid Product schema is how your products get surfaced in those AI-generated answers.
How to fix it
- Identify every product page template on your store — most platforms use a single template file that renders all product pages.
- Create a JSON-LD script block containing the Product schema with at minimum: @context, @type, name, description, image, and an Offer with price, priceCurrency, and availability.
- Inject the JSON-LD block into the <head> or <body> of every product page, populated with real dynamic values (not placeholder text) from your product data.
- Include optional-but-high-value properties: brand, sku, gtin (barcode), aggregateRating (if you have reviews), and a full URL in the 'url' field.
- Validate the markup using Google's Rich Results Test (search 'Rich Results Test') — confirm the Product type is detected with no errors.
- Monitor Google Search Console > Enhancements > Shopping tab (or the structured data report) over the following weeks to confirm Google has indexed the schema and to catch any field-level warnings.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "{{ product.title }}",
"description": "{{ product.description | strip_html }}",
"image": "{{ product.featured_image | img_url: 'master' }}",
"sku": "{{ product.selected_variant.sku }}",
"brand": {
"@type": "Brand",
"name": "{{ product.vendor }}"
},
"offers": {
"@type": "Offer",
"url": "{{ canonical_url }}",
"priceCurrency": "{{ cart.currency.iso_code }}",
"price": "{{ product.selected_variant.price | money_without_currency }}",
"availability": "{% if product.available %}https://schema.org/InStock{% else %}https://schema.org/OutOfStock{% endif %}",
"itemCondition": "https://schema.org/NewCondition"
}
}Fix it on your platform
Pick your platform for the exact steps.
How to fix missing schema product on Shopify
- Go to Online Store → Themes → click the '…' menu next to your live theme → Edit code.
- In the Sections or Templates folder, open 'product.liquid' (or 'main-product.liquid' in Dawn and other OS 2.0 themes).
- Scroll to the bottom (or search for an existing 'application/ld+json' script block).
- Paste a <script type='application/ld+json'> block containing the Product JSON-LD, using Liquid variables to populate dynamic values: {{ product.title }}, {{ product.selected_variant.price | money_without_currency }}, {% if product.available %}https://schema.org/InStock{% else %}https://schema.org/OutOfStock{% endif %}, etc.
- Click Save, then visit any product page, right-click → View Page Source, and confirm the JSON-LD block appears in the HTML.
- Run the page URL through Google's Rich Results Test to verify no errors.
How to fix missing schema product on Shopify Plus
- Same code path as Shopify above: Online Store → Themes → Edit code → product template file.
- On Shopify Plus you can also use Checkout Extensibility or Scripts for checkout-side data, but Product schema belongs in the storefront theme template as above.
- If your store uses a headless/custom storefront, add the JSON-LD block inside the <head> of your product page component, populating values from the Storefront API response.
- Validate with Google's Rich Results Test after deploying.
How to fix missing schema product on WooCommerce
- Install and activate a structured data plugin — the most widely used free option is 'Rank Math SEO' or 'Yoast SEO'; both auto-generate Product schema on WooCommerce product pages when WooCommerce is detected.
- For Rank Math: go to Rank Math → Titles & Meta → WooCommerce → verify 'Schema Type' is set to 'Product'. Rank Math will pull price, availability, and rating data automatically.
- For Yoast SEO Premium (or Yoast WooCommerce SEO plugin): Settings → Yoast SEO → Schema → confirm product pages output 'Product' schema type.
- If you prefer manual control: add a code snippet via a plugin like 'Code Snippets' that uses the woocommerce_single_product_summary action hook to echo a <script type='application/ld+json'> block, using WooCommerce's $product object to populate fields dynamically.
- Validate a product page URL with Google's Rich Results Test to confirm Product schema is present and error-free.
How to fix missing schema product on BigCommerce
- Go to Storefront → Themes → click Customize on your active theme → then Advanced → Edit Theme Files (or use the Stencil CLI for local editing).
- Open templates/pages/product.html (Stencil theme).
- Check whether your theme already outputs a JSON-LD block by searching for 'application/ld+json'. Cornerstone (BigCommerce's default theme v5+) includes basic Product schema by default — review and extend it if needed.
- To add or extend: paste a <script type='application/ld+json'> block using Handlebars variables — e.g. {{product.title}}, {{product.price.without_tax.value}}, and a conditional for availability based on {{product.stock_level}}.
- Save and publish, then validate a product URL with Google's Rich Results Test.
How to fix missing schema product on Wix
- Wix automatically generates Product structured data for Wix Stores product pages — no manual code edit is required for basic schema.
- To verify or enhance: go to your Wix dashboard → SEO → SEO Tools → Structured Data Markup. Wix's built-in tool lets you review what schema is being output.
- For custom or additional properties not covered by Wix's automatic output, use the Wix 'Custom Meta Tags' field in the page SEO settings (available per-page under SEO Basics), or add JSON-LD via a Velo (Wix Code) snippet in the site's page code section.
- In Velo: open the product page in the Editor, go to Add → Velo → Page Code, and inject a dynamic JSON-LD script using $w('#productPage').getProduct() to retrieve live product data.
- Validate with Google's Rich Results Test on a published product URL.
How to fix missing schema product on Squarespace
- Squarespace Commerce automatically injects basic Product schema on product pages — verify this is working by checking a product URL in Google's Rich Results Test.
- To add additional or custom schema fields (e.g. brand, gtin, more detailed offers): go to Settings → Advanced → Code Injection → Footer, and paste a <script type='application/ld+json'> block.
- Because Code Injection is site-wide, use a JavaScript conditional (if (window.location.pathname.includes('/shop/')) { ... }) to restrict the script to product pages only, or use Page Settings → Advanced → Page Header Code Injection on individual product pages.
- For Squarespace 7.1 with a Developer Console, you can also edit the product.item template directly to include dynamic schema.
- Validate with Google's Rich Results Test after publishing.
How to fix missing schema product on Webflow
- Open your Webflow project in the Designer. Navigate to your CMS Product template page (usually named 'Product Template' under CMS Collection Pages in the Pages panel).
- In the Page Settings for that template page, scroll to 'Custom Code' → 'Before </body> tag' section.
- Paste a <script type='application/ld+json'> block. Use Webflow CMS dynamic embed fields by inserting CMS bindings — click the '+' Add Field button inside the code block to reference fields like Product Name, Price, Description, Main Image, etc.
- Set availability dynamically: if your CMS collection has a stock/availability field, bind it; otherwise hardcode a default and update manually or via Webflow Zapier integration.
- Publish the site and validate a live product URL with Google's Rich Results Test.
How to fix missing schema product on Adobe Commerce (Magento)
- Adobe Commerce (Magento 2) includes basic Product structured data in its core Luma theme via the Magento_Catalog module — check whether your theme inherits from Luma or has overridden it.
- To verify current output: view source on a product page and search for 'application/ld+json' or 'Product' within a script tag.
- To customize or add missing fields: create a layout override in your custom theme at app/design/frontend/<Vendor>/<Theme>/Magento_Catalog/templates/product/view/structured_data.phtml (create this file if it doesn't exist, extending the core template).
- Alternatively, install a dedicated structured data extension from the Adobe Commerce Marketplace (e.g. 'SEO Suite Ultimate' by MageWorx or similar) which provides a full admin UI for managing Product schema fields without template editing.
- Flush the Magento cache: System → Cache Management → Flush Magento Cache, then validate a product URL with Google's Rich Results Test.
How to fix missing schema product on Yotpo
- Yotpo injects aggregateRating and Review schema alongside its review widget — this complements (but does not replace) the core Product schema your platform must output.
- In your Yotpo admin: go to Settings → Integrations → and confirm your platform integration is active so Yotpo can append review/rating structured data to your existing Product schema.
- In Yotpo's Widget settings, ensure 'Rich Snippets' or 'Structured Data' is enabled (look under Settings → Widgets → Rich Snippets toggle) so that aggregateRating data is embedded in your product pages.
- After enabling, validate a product page with Google's Rich Results Test — you should see both the Product type and an aggregateRating object within it.
- Note: Yotpo handles the rating/review portion only — the base Product schema (name, price, availability) must be present from your platform's theme or a separate SEO plugin as described in the platform steps above.
Does your site have this issue?
Run a free SEOLZ audit to find missing schema product — and every other issue — across your whole site in minutes.
Scan my site freeFrequently asked questions
What is Missing schema product?
Structured data is a standardized block of code — invisible to shoppers but readable by search engines — that explicitly tells Google and Bing what your page is about. Product schema specifically describes your item's name, price, availability, reviews, and more using a vocabulary that search engines universally understand. Without it, search engines have to guess at those details by reading your page text, which is slower and less reliable. Adding Product schema is how you "raise your hand" to Google and say: this page sells a product, here are the details.
Why does missing schema product matter?
Product schema is the gateway to Google's **rich results** — the eye-catching search listings that show star ratings, price, and stock status directly in the search results page. These rich results get significantly higher click-through rates than plain blue links, meaning more organic traffic to your store without spending more on ads. Missing schema means your product pages compete at a disadvantage against rivals whose listings stand out with price and review badges. Additionally, as AI-powered answer engines (like Google's AI Overviews and Bing Copilot) increasingly pull structured product data to answer shopping queries, having valid Product schema is how your products get surfaced in those AI-generated answers.
How do I fix missing schema product?
Add Product schema (JSON-LD structured data) to every product page so search engines can display rich results like price, availability, and ratings directly in search listings.
Authoritative references
- Intro to structured data — Google Search Central
- Product structured data — Google Search Central
- Getting started with schema.org — Schema.org
- Rich Results Test — Google Search Central