Sin impuesto Con impuesto

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.

Jesús Meilán
Updated: 26/09/2026 78
Product and Offer structured data in PrestaShop
Share:

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 Product block, 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.

Combinations: if the price changes with size or colour, the markup must reflect the combination shown by default, or use a price range with AggregateOffer.
Loading...
Cookie consent
Back to top