PrestaShop Documentation, PrestaShop Tutorials

PrestaShop Product Schema JSON-LD best practices

Below is a practical, SEO-safe checklist for PrestaShop Product Schema (JSON-LD), aligned with Google Rich Results and schema.org best practices. This also fits well with your earlier preference of using ImageObject for the image property 👍


✅ 1. Use JSON-LD Only (Best Practice)

✔ Always use JSON-LD, not Microdata
✔ Place schema in:

  • Product page footer, or
  • <head> via theme override or module

✔ One Product schema per product page


✅ 2. Mandatory Properties (Google)

Your Product schema must include:

"@type": "Product",
"name": "Product Name",
"image": [...],
"description": "Short product description",
"sku": "SKU123",
"offers": { }

⚠ Missing required fields = no rich result


✅ 3. Image Best Practices (Very Important)

Since you prefer ImageObject, use:

"image": [{
  "@type": "ImageObject",
  "url": "https://example.com/img/product.webp",
  "width": 800,
  "height": 800
}]

✔ Use absolute URLs
✔ Minimum 1200px width recommended
✔ Use WebP if possible
✔ Match product image exactly

⚠ Avoid thumbnail or lazy-loaded placeholders


✅ 4. Offers (Pricing & Availability)

Use Offer or AggregateOffer:

Single Price

"offers": {
  "@type": "Offer",
  "url": "https://example.com/product-url",
  "priceCurrency": "INR",
  "price": "1499",
  "priceValidUntil": "2025-12-31",
  "availability": "https://schema.org/InStock",
  "itemCondition": "https://schema.org/NewCondition"
}

✔ Always include:

  • price
  • priceCurrency
  • availability

Multiple Variants (Size / Color)

"offers": {
  "@type": "AggregateOffer",
  "lowPrice": "1299",
  "highPrice": "1799",
  "priceCurrency": "INR",
  "offerCount": "4"
}

✅ 5. Brand & Identifiers

"brand": {
  "@type": "Brand",
  "name": "Nike"
}

✔ Add GTIN when available:

"gtin13": "8901234567890"

✔ OR use:

  • mpn
  • sku

⚠ Never fake GTINs


✅ 6. Reviews & Ratings (High CTR)

Only show if real reviews exist:

"aggregateRating": {
  "@type": "AggregateRating",
  "ratingValue": "4.6",
  "reviewCount": "128"
}

✔ Rating must match frontend
✔ No self-generated fake reviews
✔ Update dynamically


✅ 7. Variant Handling (PrestaShop Specific)

Best practice:

  • One Product schema
  • Use AggregateOffer
  • Do NOT generate separate Product schema per combination

✅ 8. Availability Sync (Critical)

Availability must match:
✔ Stock status
✔ Delivery message
✔ Cart availability

Common values:

  • InStock
  • OutOfStock
  • PreOrder
  • BackOrder

✅ 9. Description Rules

✔ Use short product description
✔ Plain text only (no HTML)
✔ No marketing keywords stuffing


✅ 10. Avoid Common Mistakes

❌ Multiple Product schemas on one page
❌ Mismatch price / stock
❌ Missing currency
❌ Using relative URLs
❌ Fake reviews
❌ Schema inside iframe


✅ 11. PrestaShop Implementation Tips

✔ Use override or custom module
✔ Hook into:

  • displayFooter
  • displayHeader

✔ Clear cache after changes
✔ Regenerate schema on:

  • Price update
  • Stock update
  • Review update

✅ 12. Validation & Monitoring

Tools:
✔ Google Rich Results Test
✔ Schema Markup Validator
✔ Google Search Console → Enhancements

Fix:

  • “Missing field ‘offers’”
  • “Invalid price format”
  • “Availability mismatch”

🔥 Ideal Product JSON-LD (PrestaShop Example)

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Running Shoes",
  "image": [{
    "@type": "ImageObject",
    "url": "https://example.com/img/shoes.webp",
    "width": 1200,
    "height": 1200
  }],
  "description": "Lightweight running shoes for daily training.",
  "sku": "RUN123",
  "brand": {
    "@type": "Brand",
    "name": "Nike"
  },
  "offers": {
    "@type": "Offer",
    "price": "3499",
    "priceCurrency": "INR",
    "availability": "https://schema.org/InStock",
    "url": "https://example.com/running-shoes"
  }
}

🚀 SEO Bonus Tips

✔ Add BreadcrumbList schema
✔ Add Organisation schema globally
✔ Add FAQ schema on product pages
✔ Use canonical URL in schema


 

About zohaibk

We develop useful addons for #E-Commerce and #CRM software to provide extra features.#PrestaShop,#Magento,#SugarCRM,#Vtiger & #Android #apps
View all posts by zohaibk →