Site icon PrestaShop | General Knowledge

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:

βœ” 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:


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:

⚠ 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:


βœ… 8. Availability Sync (Critical)

Availability must match:
βœ” Stock status
βœ” Delivery message
βœ” Cart availability

Common values:


βœ… 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:

βœ” Clear cache after changes
βœ” Regenerate schema on:


βœ… 12. Validation & Monitoring

Tools:
βœ” Google Rich Results Test
βœ” Schema Markup Validator
βœ” Google Search Console β†’ Enhancements

Fix:


πŸ”₯ 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


Β 

Exit mobile version