{"title":"Structured data for product SEO","slug":"product-structured-data","url":"https://support.storeconnect.com/articles/product-structured-data","url_markdown":"https://support.storeconnect.com/articles/product-structured-data.md","subtitle":null,"summary":"StoreConnect generates schema.org Product structured data automatically from your product fields, including SKU, price, brand, availability, and condition for search engine rich results.","type":"Help_Documentation","video_url":"","keywords":"structured data, schema.org, product seo, rich results, json-ld, product availability, breadcrumb structured data, sku, gtin, product condition, search engine optimization, product schema","last_modified":"2026-08-21T07:12:35+0000","body_markdown":"Product availability information is determined by the availability date, price visibility, inventory status, and discontinuation status. The price displayed is either the sale price or the list price, ensuring accurate product information is always presented to customers and search engines.\n\n## What page data looks like \n\nThe page data looks something like this:\n\n```json\n\n{\n  \"@context\": \"http://schema.org/\",\n  \"@type\": \"Product\",\n  \"sku\": \"PRODUCTCODE\",\n  \"gtin\": \"PRODUCT UPC\",\n  \"image\": [\"https://example.com/image1.jpg\", \"https://example.com/image2.jpg\"],\n  \"name\": \"Product Display Name\",\n  \"description\": \"Product Description\",\n  \"brand\": {\n    \"@type\": \"Brand\",\n    \"name\": \"Brand Name\"\n  },\n  \"offers\": {\n    \"@type\": \"Offer\",\n    \"itemCondition\": \"http://schema.org/NewCondition\",\n    \"availability\": \"http://schema.org/InStock\",\n    \"price\": \"99.00\",\n    \"priceCurrency\": \"AUD\",\n    \"url\": \"https://mystore.example.com/products/product-slug\"\n  }\n}\n```\n\nTo generate the data, StoreConnect gets information from the following fields:\n\n| Structured Data Field              | Source                                                                                  |\n|------------------------------------|-----------------------------------------------------------------------------------------|\n| sku                                | Product2.ProductCode                                                                    |\n| gtin                               | Product2.s_c__UPC__c                                                                    |\n| images                             | Array of product image URLs                                                             |\n| name                               | Product2.s_c__Display_Name__c                                                           |\n| description                        | Product2.s_c__Search_Description__c                                                     |\n| brand[name]                        | Product2.Brand_Id__c.Name                                                               |\n| offers[@type=Offer][itemCondition] | Product2.s_c__Condition__c                                                              |\n| offers[@type=Offer][availability]  | See below on Availability Calculation                                                   |\n| offers[@type=Offer][price]         | The Product Sale Price if present otherwise the List Price                              |\n| offers[priceCurrency]              | s_c__Store__c.currencyisocode for multi-currency orgs or s_c__Store__c.s_c__Currency__c |\n| offers[url]                        | URL that the product is available on the website                                        |\n\n## Availability calculation\n\nThe availability can be set to either In Stock or Out of Stock.\n\nA product is shown as in stock if all of the following are true:\n\n-   It has an `s_c__Available_On__c` in the past\n-   It has a price and that price is not hidden\n-   It has available inventory or has `s_c__Track_Inventory__c` unchecked\n-   It has no `s_c__Discontinued_On__c` value or it exists and is in the future\n-   It has any variant with all of the above\n\n## Price calculation\n\nThe price shown is set to the price or the sale price if present.\n\n## Breadcrumb structured data\n\nIn addition to product data, StoreConnect automatically outputs `schema.org/BreadcrumbList` JSON-LD on product pages, category pages, and search pages. This helps search engines understand your site's navigation hierarchy and can generate breadcrumb trails in search results.\n\nBreadcrumb structured data is not output on article or blog pages, static pages, or article category pages.\n\n## What is not included\n\nThe following schema types are not generated automatically:\n\n- **Review and rating data** (`AggregateRating`, `Review`) — not included in the structured data output, even if reviews are displayed on the page\n- **Organization and WebSite schema** — not currently implemented\n\n## Validate your structured data\n\nStructured data follows the [schema.org Product](https://schema.org/Product) vocabulary. To confirm your pages output valid, eligible markup:\n\n- Use [Google's Rich Results Test](https://search.google.com/test/rich-results) to check whether a page is eligible for rich results in Google Search.\n- Use the [Schema.org Validator](https://validator.schema.org/) to check the JSON-LD against the schema.org specification generally, independent of any one search engine."}