Product Schema Generator — Show Price, Availability, and Ratings
Generate valid JSON‑LD for your product pages in minutes. Improve product understanding and qualify for rich results that highlight price and stock.
Why most product pages underperform
Pain points we solve
- Competitors show price and availability while your result looks plain.
- Hand‑writing JSON‑LD is slow, easy to break, and hard to keep consistent.
- Validator warnings for missing Offer fields derail launches.
- Inconsistent markup across SKUs leads to uneven eligibility.
How SwiftSchema fixes it
Solution
Our guided generator focuses on the fields that impact eligibility — name, images, and Offer details — and prevents common mistakes.
It produces clean, copy‑ready JSON‑LD tailored to each product, so you can paste once per page and stay consistent across your catalog.
Optional fields like brand, SKU, and AggregateRating are supported when you have genuine review data and meet policy requirements.
How it works
How it works
- Choose Product in the generator below.
- Enter product name, images, and Offer price, currency, and availability.
- Add brand, SKU, and AggregateRating if applicable.
- Click Copy JSON or Copy Script and paste it on your product page.
- Validate in the Rich Results Test and deploy.
Paste once per page. Validate. Ship.
What is Product structured data?
Product structured data helps search engines understand what you sell or list. When you add valid JSON-LD with Offer details, your product can become eligible for richer displays that show key information like price, availability, and ratings.
Eligibility & Status
Product is a supported rich result type when required Offer fields are present and policy requirements are met. Eligibility depends on the page content, structured data quality, and Google’s surfaces.
Why product markup matters
- Competitive snippets: Price, availability, and review data can make your search result stand out.
- Data consistency: Structured data keeps feeds, PDPs, and Merchant Center aligned.
- Automation: With a consistent template, you can generate JSON-LD from your catalog automatically.
- Policy compliance: Explicit fields (price, currency, availability) reduce Merchant Center disapprovals.
Essential properties to include
- nameanddescription.
- imagearray with high-res URLs.
- offerswithprice,priceCurrency,availability,url,itemCondition.
- sku,mpn, orgtinIDs.
- brand(Organization).
- aggregateRatingandreview(if policy compliant).
- Optional: color,material,size,hasMerchantReturnPolicy,shippingDetails.
Preparing product data before generating schema
- Gather product metadata (title, description, images, identifiers).
- Confirm pricing currency, availability enums, and canonical URLs.
- Validate review data (first-party only) if you plan to add ratings.
- Note product variations; each variation should have its own structured data or Offer entries.
- Coordinate with fulfillment teams for shipping and return policies (attach via Offer).
- Plan automation: use feeds or CMS exports to populate templates.
Implementation workflow inside SwiftSchema
- Select Product in the generator.
- Enter name,description,image[], and Offer details (price,priceCurrency,availability,url).
- Add identifiers (sku, mpn, gtin) and brand info.
- Include aggregateRating/reviewif compliant, plus optionalhasMerchantReturnPolicyandshippingDetails.
- Export JSON-LD, embed it on the PDP, and validate via the Rich Results Test and Merchant Center tools.
Troubleshooting & QA
- Missing currency: always include offers.priceCurrency.
- Invalid availability: use full Schema.org URLs (e.g., https://schema.org/InStock).
- Self-serving reviews: only mark up genuine reviews that meet Google’s policies.
- Variation confusion: each SKU requires accurate price/availability; don’t mix multiple products into one schema block.
- Don’t forget canonical URLs: ensure Product schema references the canonical PDP.
Maintenance and governance
- Sync schema with your PIM/feed so price/availability updates happen automatically.
- Monitor Rich Results and Merchant Center reports for warnings.
- Keep lastReviewedmetadata current and assign ownership (merchandising/SEO).
- Audit quarterly to confirm images, brand info, and IDs remain accurate.
Common Errors & Fixes
- Missing currency: always include offers.priceCurrency.
- Invalid availability: use the full URL (e.g., https://schema.org/InStock).
- Self-serving reviews: ensure ratings reflect genuine user reviews and follow Google’s review policies.
On-page parity checklist
- Product title, price, and availability on-page match name,offers.price, andoffers.availability.
- Images in schema are the same gallery assets visible on the page and accessible to crawlers.
- Brand, SKU/GTIN, and urlalign with the canonical PDP; variations aren’t mixed.
- Ratings shown on-page match aggregateRatingvalues; review counts are consistent.
- Shipping/returns displayed on the PDP align with shippingDetailsandhasMerchantReturnPolicy.
Content depth ideas (avoid thin PDPs)
- Include specs (dimensions, materials, compatibility), care instructions, and what’s in the box.
- Add comparison links (e.g., size charts or model comparisons) to guide buyers.
- Provide rich imagery: lifestyle, 360/zoom, and alt text for accessibility.
- Call out policies: warranty, returns, delivery timelines, and support options.
- Surface FAQs for sizing, installation, or compatibility; keep answers concise and mirrored in schema when applicable.
Variations, shipping, and returns
- Model variants with distinct Offers (different colors/sizes) or separate PDPs; avoid merging unrelated SKUs.
- Use shippingDetailsandhasMerchantReturnPolicyper Offer to keep policies accurate.
- Include priceValidUntilfor time-limited pricing when known, and sync it to promotions.
- Clarify item condition (NewCondition,RefurbishedCondition) where relevant.
QA and governance
- Drive PDP UI and JSON‑LD from the same PIM/feed to avoid mismatches.
- Add automated checks for availability enums, currency codes, and numeric prices pre-deploy.
- Revalidate after price changes, image swaps, or template updates; update lastReviewedeach release cycle.
- Monitor Search Console and Merchant Center for structured data or policy warnings and resolve quickly.
- Keep a change log for promotions and pricing experiments so schema changes are auditable.
- Periodically crawl a sample of PDPs to confirm only one Product block renders and that third-party widgets don’t inject conflicting schema.
- Include @idvalues to keep internal references stable across reviews, recommendations, and feeds.
- When you run A/B tests on pricing or images, verify both variants render the same structured data to avoid inconsistent signals.
Required properties
nameimageoffers.priceoffers.priceCurrencyoffers.availability
Recommended properties
descriptionskubrandaggregateRating.ratingValueaggregateRating.ratingCount
{
"@context": "https://schema.org",
"@type": "Product",
"name": "ACME Anvil",
"image": [
"https://example.com/images/anvil.webp"
],
"description": "Heavy-duty anvil for professionals.",
"offers": {
"@type": "Offer",
"price": "99.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"ratingCount": "128"
}
}