Product pages include schema.org markup
Why it matters
Google and Bing use schema.org Product and Offer structured data to populate rich results — price, availability, and review stars displayed directly in search results. Without application/ld+json markup on product pages, listings appear as plain blue links competing against structured cards from competitors. For Google Shopping specifically, the schema.org Offer.availability field controls whether a product appears in shopping results at all. The schema-org Offer spec also feeds into AI shopping assistants that extract product data for recommendations — pages without structured data are invisible to this emerging discovery channel.
Severity rationale
Info because missing schema.org markup reduces search result richness and AI discoverability but does not break any user-facing functionality or expose a security surface.
Remediation
Add a <script type="application/ld+json"> block to src/app/products/[slug]/page.tsx with at minimum the Product and Offer types, including dynamic availability from stock state.
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify({
'@context': 'https://schema.org',
'@type': 'Product',
name: product.name,
description: product.description,
image: product.images,
sku: product.sku,
offers: {
'@type': 'Offer',
price: product.price.toString(),
priceCurrency: 'USD',
availability:
product.stock > 0
? 'https://schema.org/InStock'
: 'https://schema.org/OutOfStock',
},
}),
}}
/>
Validate output with Google's Rich Results Test after deployment — structured data syntax errors are silent at render time.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Catalog & Product Logic Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- schema-org · Product — schema.org Product type
- schema-org · Offer — schema.org Offer type (price, priceCurrency, availability)
Taxons
History
- 2026-04-18·v1.0.0·Initial import from ecommerce-catalog·automated