Product and Offer structured data in PrestaShop
Price, availability and stars right in Google’s results. We explain the correct markup and the errors that invalidate it.
Structured data is information in a standard format (schema.org, usually in JSON-LD) that tells search engines what is on the page. On a product page it lets Google show the price, availability and rating in the result.
The minimum
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Módulo de suscripciones para PrestaShop",
"image": ["https://tienda.com/img/p/1/2/12-large_default.jpg"],
"description": "Cobros recurrentes con Stripe y SEPA.",
"sku": "RKR-SUBS",
"brand": { "@type": "Brand", "name": "Rekire" },
"offers": {
"@type": "Offer",
"url": "https://tienda.com/modulos/12-suscripciones.html",
"priceCurrency": "EUR",
"price": "149.00",
"availability": "https://schema.org/InStock"
}
}
</script>
Errors that invalidate it
- A different price from the one shown on the page (for example, excluding VAT in the markup and including VAT on screen).
- Made-up ratings or ratings from another source: Google may penalise the site.
- Incorrect availability: marking an out-of-stock product as InStock.
- Duplicate markup: the theme and an SEO module each generating their own
Productblock, with different data.
In PrestaShop
The Classic and Hummingbird themes include product microdata or JSON-LD. Before installing an SEO module that adds another, check what your theme already generates so you do not duplicate it.
Validating
With Google’s Rich Results Test and then in Search Console (the “Product snippets” and “Merchant listings” reports). Keep an eye on warnings: a theme or module change can break the markup on every product page at once.
AggregateOffer.