En ecommerce, el schema markup de producto es el de mayor impacto directo en ventas: muestra precio, disponibilidad y valoraciones directamente en el resultado de búsqueda, antes de que el usuario entre a tu tienda. Un rich result de producto bien implementado puede multiplicar el CTR por dos o tres respecto a un resultado sin schema.
Los 3 tipos de schema para páginas de producto
Product: la entidad principal
El tipo Product describe el producto en sí. Es el contenedor principal al que se anidan las otras entidades. Las propiedades mínimas requeridas por Google para habilitar rich results de producto son: name, image, description y al menos uno de: offers, review o aggregateRating.
Offer: precio y disponibilidad
La entidad Offer dentro de Product define el precio y la disponibilidad del producto. Google muestra esta información en el resultado de búsqueda. Las propiedades requeridas son: price, priceCurrency y availability.
AggregateRating y Review: valoraciones
AggregateRating representa la valoración media del producto (las estrellas que aparecen en el resultado). Review es la entidad para valoraciones individuales. Para mostrar estrellas en el SERP, necesitas AggregateRating con ratingValue y reviewCount.
Implementación completa de schema de producto
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Zapatillas Running Pro X200",
"image": [
"https://tienda.com/productos/zapatilla-x200-1.jpg",
"https://tienda.com/productos/zapatilla-x200-2.jpg"
],
"description": "Zapatillas de running con suela de amortiguación reactiva para largas distancias.",
"sku": "ZAP-X200-42",
"brand": {
"@type": "Brand",
"name": "RunFast"
},
"offers": {
"@type": "Offer",
"url": "https://tienda.com/zapatillas-running-x200",
"price": "129.99",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"priceValidUntil": "2026-12-31",
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": "0",
"currency": "EUR"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 3,
"unitCode": "DAY"
}
}
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "182"
}
}
</script>Propiedades que Google requiere vs. recomienda
| Propiedad | Entidad | Estado | Beneficio |
|---|---|---|---|
| name | Product | Requerida | Nombre del producto en el rich result |
| image | Product | Requerida | Imagen en el rich result |
| price | Offer | Requerida | Precio visible en SERP |
| priceCurrency | Offer | Requerida | Moneda del precio |
| availability | Offer | Requerida | Disponibilidad (InStock, OutOfStock...) |
| ratingValue | AggregateRating | Requerida para estrellas | Estrellas visibles en SERP |
| reviewCount | AggregateRating | Requerida para estrellas | Número de valoraciones |
| sku | Product | Recomendada | Identificación única del producto |
| brand | Product | Recomendada | Marca del producto |
| priceValidUntil | Offer | Recomendada | Evita que Google muestre precio caducado |
| shippingDetails | Offer | Recomendada | Coste y plazo de envío en SERP |
Errores comunes en el schema de producto
Error: precio en el schema diferente al precio visible en la página
Google compara el precio del schema con el precio visible en la página. Si no coinciden, puede rechazar el rich result o penalizar la página. Asegúrate de que el schema se genera dinámicamente desde la misma fuente de datos que el precio visible.
Error: availability con valor libre en lugar de URI de Schema.org
El valor correcto para availability es una URI de Schema.org, no texto libre. Los valores válidos son: https://schema.org/InStock, https://schema.org/OutOfStock, https://schema.org/PreOrder, https://schema.org/Discontinued.
Error: schema de producto en páginas de categoría
El schema Product debe implementarse solo en páginas de producto individual, no en páginas de categoría o listado. En páginas de categoría, el tipo correcto es ItemList con referencias a los productos. Google no muestra rich results de producto para páginas que listan múltiples productos sin un precio único definido.
Error: no actualizar el schema de disponibilidad cuando hay rotura de stock
Si Google muestra "En stock" en el SERP pero el producto está agotado en tu tienda, los usuarios llegan a una página con producto no disponible — alta tasa de rebote y mala señal de UX. Sincroniza siempre el availability del schema con el estado real del inventario.
Cómo implementar schema de producto en WooCommerce
WooCommerce con Yoast SEO for WooCommerce o Rank Math Pro genera automáticamente el schema de producto con las propiedades básicas. Para completarlo con shippingDetails y propiedades avanzadas, necesitas un plugin adicional o código personalizado en functions.php.
- 1.Instala Yoast SEO + Yoast SEO for WooCommerce (de pago) o Rank Math Pro.
- 2.El plugin genera automáticamente Product, Offer y AggregateRating para cada producto.
- 3.Revisa en el Validador Schema de iRankly que las propiedades requeridas están presentes en tus productos más importantes.
- 4.Para productos con variaciones (tallas, colores), verifica que el schema refleja el precio correcto según la variación por defecto.
Prueba la herramienta gratis
Analiza tus URLs con Validador Schema Markup de iRankly. Sin registro, sin tarjeta.
Otros tipos de schema y cómo comprobar que el tuyo es válido: