Usa lenguaje de marcado de datos estructurados en las páginas de destino de tus productos para ayudar a Google a extraer información actualizada sobre tus productos y ofertas, directamente desde tu sitio web. El lenguaje de marcado de datos estructurados que admite Merchant Center tendrá los atributos correspondientes y los valores aceptados, tal como se muestra en las especificaciones de datos de productos. Tus datos estructurados deben coincidir con los valores y atributos correspondientes.
Información en esta página:
Atributos y anotaciones de Schema.org
Los atributos son una de las formas en que se organizan los datos de productos que envías a Merchant Center. Cada atributo contiene un solo dato sobre un producto, como el título o la descripción. Si el valor de Schema.org coincide de forma precisa con los atributos en las especificaciones de datos de productos correspondientes, se producirán menos errores durante la validación del feed.
Nota: Si usas actualizaciones automáticas de artículos, asegúrate de especificar las propiedades de Schema.org price
, priceCurrency
, availability
y condition
para aumentar su exactitud. Obtén más información sobre las actualizaciones automáticas de artículos.
Atributos de datos de productos
|
Tipo y descripción | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Los siguientes atributos corresponden al tipo Product de Schema.org |
|||||||||||||||||||||||||||||
Texto | |||||||||||||||||||||||||||||
Texto | |||||||||||||||||||||||||||||
Texto | |||||||||||||||||||||||||||||
URL | |||||||||||||||||||||||||||||
Texto Un SKU de nivel superior, que se requiere para agrupar todas las variantes de productos que pertenecen al mismo grupo de productos. |
|||||||||||||||||||||||||||||
Texto El GTIN que identifica tu producto de forma única. Especifica solo una de estas propiedades de Schema.org. Si usas valores de GTIN, estos deben tener la longitud correcta, además de incluir el dígito de control correcto. |
|||||||||||||||||||||||||||||
Texto | |||||||||||||||||||||||||||||
Texto | |||||||||||||||||||||||||||||
Texto | |||||||||||||||||||||||||||||
Texto Usa la propiedad |
|||||||||||||||||||||||||||||
Texto Usa la propiedad
|
|||||||||||||||||||||||||||||
Y |
Número (en años) Usa la propiedad Los valores válidos son aquellos definidos por el atributo
|
||||||||||||||||||||||||||||
Texto | |||||||||||||||||||||||||||||
O |
Texto Usa la propiedad |
||||||||||||||||||||||||||||
Texto Usa la propiedad Los valores válidos son del tipo
|
|||||||||||||||||||||||||||||
Texto Usa la propiedad Los valores válidos son del tipo WearableSizeSystemEnumeration. Estos se asignan para proporcionar valores de la siguiente manera:
|
|||||||||||||||||||||||||||||
Usa la propiedad |
|||||||||||||||||||||||||||||
Usa la propiedad |
|||||||||||||||||||||||||||||
Usa la propiedad |
|||||||||||||||||||||||||||||
Usa la propiedad |
|||||||||||||||||||||||||||||
Las siguientes propiedades de Schema.org son de tipo Offer, que debe anidarse en |
|||||||||||||||||||||||||||||
Una URL válida para tu producto | |||||||||||||||||||||||||||||
O: |
price: Número. Se envía sin símbolos de moneda, separadores de miles ni espacios (por ejemplo, “1498.99”). priceCurrency: Texto. Debe ser texto y enviarse en formato ISO 4217 de tres letras (por ejemplo, USD, GBP o EUR); la moneda debe cumplir con los requisitos de idioma y moneda de tu país objetivo. Nota: Los valores de price y priceCurrency se pueden proporcionar directamente en la instancia de Offer, o bien de forma indirecta mediante una propiedad priceSpecification de tipo UnitPriceSpecification. Cuando se especifica el valor de sale_price, se debe proporcionar price con una propiedad priceSpecification con priceSpecification.priceType="ListPrice”. El atributo sale_price se puede especificar directamente en la oferta o a través de una propiedad priceSpecification del tipo UnitPriceSpecification sin un priceSpecification.priceType. |
||||||||||||||||||||||||||||
Los valores válidos son del tipo
|
|||||||||||||||||||||||||||||
Los valores válidos son del tipo
|
|||||||||||||||||||||||||||||
Una URL de confirmación de la compra válida para tu producto |
Ejemplos con JSON-LD
Producto único
Ejemplo
En el siguiente ejemplo, se ilustra un producto básico con un conjunto mínimo de propiedades.
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"image": "https://www.example.com/trinket.jpg",
"name": "Nice trinket",
"description": "Trinket with clean lines",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 39.99,
"priceCurrency": "USD"
}
}
En el siguiente ejemplo, se muestra cómo especificar el tipo de talla y el sistema de tallas con schema.org. En el ejemplo, se especifica la talla “XL” de EE.UU. para una camiseta azul diseñada para adultos (mayores de 13 años) en el departamento de moda masculino “Big&Tall”.
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "12345",
"image": "https://www.example.com/tshirt.jpg",
"name": "Classic T-Shirt",
"description": "All-cotton t-shirt in classic cut",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"material": "cotton",
"color": "blue",
"size": {
"@type": "SizeSpecification",
"name": "XL",
"sizeSystem": "https://schema.org/WearableSizeSystemUS",
"sizeGroup": [
"https://schema.org/WearableSizeGroupBig",
"https://schema.org/WearableSizeGroupTall"
]
},
"audience": {
"@type": "PeopleAudience",
"suggestedGender": "male",
"suggestedMinAge": 13
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/tshirt",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 24.99,
"priceCurrency": "USD"
}
}
Varios productos no relacionados en una página de destino
Si tu página contiene varios productos no relacionados y cada producto tiene su propia anotación de datos estructurados, cada una de ellas debe contener información que identifique a qué producto se refiere.
Por ejemplo, se recomienda proporcionar el SKU (atributo ID [id]
o GTIN [gtin]
) en cada anotación. Si no proporcionas esta información, es posible que los productos de tu página de destino no coincidan con los datos estructurados de tus productos. Obtén más información para configurar datos estructurados en las páginas de destino.
Ejemplo
[
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"image": "https://www.example.com/trinket.jpg",
"name": "Nice trinket",
"description": "Trinket with clean lines",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 39.99,
"priceCurrency": "USD"
}
},
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "racket-12345",
"image": "https://www.example.com/racket.jpg",
"name": "Nice racket",
"description": "Racket for Tennis",
"gtin": "12345678901235",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/racket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 59.99,
"priceCurrency": "USD"
}
}
]
Precio de oferta
En el siguiente ejemplo, se muestra un producto básico con un precio de oferta. Para indicar un precio de oferta, especifica también el precio de lista original, el cual se especifica con la propiedad /priceType.
Ejemplo
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"image": "https://www.example.com/trinket.jpg",
"name": "Nice trinket",
"description": "Trinket with clean lines",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 10.00,
"priceCurrency": "USD",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"priceType": "https://schema.org/ListPrice",
"price": 15.00,
"priceCurrency": "USD"
}
}
}
Si también se usa un /UnitPriceSpecification para el precio de venta regular, la codificación debe contener dos /UnitPriceSpecifications:
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"image": "https://www.example.com/trinket.jpg",
"name": "Nice trinket",
"description": "Trinket with clean lines",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceSpecification": [
{
"@type": "UnitPriceSpecification",
"price": 10.00,
"priceCurrency": "USD"
},
{
"@type": "UnitPriceSpecification",
"priceType": "https://schema.org/ListPrice",
"price": 15.00,
"priceCurrency": "USD"
}
]
}
}
Envío
Para especificar los costos de envío (recomendado) de tu producto, usa el tipo OfferShippingDetails
de Schema.org, que debe anidarse en una oferta con la propiedad shippingDetails
y se asigna en el atributo shipping
en las especificaciones de datos de productos. Se pueden proporcionar varias propiedades shippingDetails
.
Atributos de datos de productos
|
Tipo y descripción |
---|---|
Los siguientes atributos corresponden al tipo OfferShippingnDetails de Schema.org. |
|
|
Texto Código de país ISO 3166‑1 de dos dígitos Usa la propiedad |
Texto Código de subdivisión ISO 3166-2 de 2 o 3 dígitos, sin prefijo del país. Compatible solo con Australia, EE.UU. o Japón. Ejemplos: “NY”, “NSW” o “03”. Usa la propiedad |
|
Usa la propiedad |
|
Número (no negativo, número entero) Especifica la cantidad mínima y máxima de días hábiles para preparar y enviar un pedido. El tiempo de preparación especifica el tiempo que transcurre desde que se realiza un pedido hasta que se entrega a una empresa de transporte. El tiempo en tránsito especifica el tiempo que transcurre desde que se entrega el producto a una empresa de transporte hasta que lo recibe el cliente. Usa la propiedad |
Ejemplo
En el siguiente ejemplo, se muestra cómo especificar la información de envío mediante Schema.org. En el ejemplo, se especifica un costo de envío de USD 3.49 a los estados de Arizona, California y Nevada, EE.UU. El tiempo de preparación es de 0 a 1 día hábil y el tiempo en tránsito es de 1 a 5 días hábiles.
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"gtin": "12345678901234",
"image": "https://www.example.com/trinket.jpg",
"name": "Nice trinket",
"description": "Trinket with clean lines",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 39.99,
"priceCurrency": "USD"
},
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "US",
"addressRegion": [ "CA", "NV", "AZ" ]
},
"shippingRate": {
"@type": "MonetaryAmount",
"value": 3.49,
"currency": "USD"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 5,
"unitCode": "DAY"
}
}
}
}
}
Devoluciones
Para especificar el período de devolución y el costo de tu producto, usa el tipo MerchantReturnPolicy de Schema.org, que debe anidarse en un tipo Offer mediante la propiedad hasMerchantReturnPolicy de Google.
Atributos de datos de productos
|
Tipo y descripción |
---|---|
Las siguientes propiedades de Schema.org son de MerchantReturnPolicy, que debe anidarse en un producto a través de la propiedad offers (consulta los siguientes ejemplos). | |
applicableCountry |
Código de país ISO 3166-1 alpha-2 de dos letras (por ejemplo, “US”) Código de país ISO 3166-1 alpha-3 de tres letras (por ejemplo, “USA”) Es un país al que se aplica la política de devoluciones de un comercio en particular. Puede ser diferente del país desde el que se envió el producto. Se pueden especificar hasta 50 países. |
Los valores válidos son del tipo MerchantReturnEnumeration. Si se especifica como MerchantReturnFiniteReturnWindow o MerchantReturnUnlimitedWindow, se recomienda usar returnMethod o returnShippingFeesAmount. Además, si se especifica como MerchantReturnFiniteReturnWindow, merchantReturnDays es obligatorio. |
|
merchantReturnDays |
La cantidad de días (a partir de la fecha de entrega) por los que se puede devolver un producto. |
returnMethod |
Los valores válidos son del tipo ReturnMethodEnumeration.
|
returnFees | El valor válido es FreeReturn a partir del tipo ReturnFeesEnumeration. |
returnShippingFeesAmount |
Información sobre el costo de envío de las devoluciones de productos. |
Ejemplo
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"gtin": "12345678901234",
"image": "https://www.example.com/trinket.jpg",
"name": "Nice trinket",
"description": "Trinket with clean lines",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 39.99,
"priceCurrency": "USD"
},
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": 2.99,
"currency": "USD"
},
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "US"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 5,
"unitCode": "DAY"
}
}
},
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"applicableCountry": "US",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 60,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"
}
}
}
Eficiencia energética
Schema.org admite el etiquetado de eficiencia energética de los productos mediante el tipo EnergyConsumptionDetails
, que se puede especificar para un producto que usa la propiedad EnergyConsumptionDetails
.
Atributos de datos de productos
|
Tipo y descripción |
---|---|
Las siguientes propiedades de Schema.org son del tipo EnergyConsumptionDetails . |
|
Los valores válidos son del tipo |
|
Agrega un valor a la instancia de EnergyConsumptionDetails que se usó para especificar el atributo energy_efficiency_class y usa la misma tabla de asignación para seleccionar el valor. Si no se proporciona y se especifica energy_efficiency_class , se supone que tiene el valor EUEnergyEfficiencyCategoryG . |
|
Agrega un valor a la instancia de EnergyConsumptionDetails que se usó para especificar el atributo energy_efficiency_class y usa la misma tabla de asignación para seleccionar el valor. Si no se proporciona y se especifica energy_efficiency_class , entonces se supone que tiene el valor EUEnergyEfficiencyCategoryA3Plus . |
Los valores para energyEfficiencyScale
, energyEfficiencyScaleMin
y energyEfficiencyScaleMax
son del tipo de enumeración de Schema.org EUEnergyEfficiencyEnumeration
y se asignan valores para los 3 atributos de eficiencia energética en las especificaciones de datos de productos de la siguiente manera.
Valor de las especificaciones de datos de productos | Valor de enumeración de Schema.org desdeEUEnergyEfficiencyEnumeration type |
---|---|
A+++ |
EUEnergyEfficiencyCategoryA3Plus |
A++ |
EUEnergyEfficiencyCategoryA2Plus |
A+ |
EUEnergyEfficiencyCategoryA1Plus |
A |
EUEnergyEfficiencyCategoryA |
B |
EUEnergyEfficiencyCategoryB |
C |
EUEnergyEfficiencyCategoryC |
D |
EUEnergyEfficiencyCategoryD |
E |
EUEnergyEfficiencyCategoryE |
F |
EUEnergyEfficiencyCategoryF |
G |
EUEnergyEfficiencyCategoryG |
Ejemplo
En el siguiente ejemplo, se muestra cómo especificar la información de eficiencia energética mediante schema.org. Se indica la clase “C” del nivel de eficiencia energética de la UE con la escala “A+” a la “F” para un calentador de agua.
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "1234-5678",
"image": "https://www.example.com/calentadordeagua.jpg",
"name": "Calentador de agua",
"description": "Large capacity water heater",
“gtin”: “12345678901231”,
"mpn": "WH1234",
"brand": {
"@type": "Brand",
"name": "ExampleWaterHeaterBrand"
},
"hasEnergyConsumptionDetails": {
"hasEnergyEffiencyCategory": "https://schema.org/EUEnergyEfficiencyCategoryC",
"energyEffiencyScaleMax":
"https://schema.org/EUEnergyEfficiencyCategoryA1Plus",
"energyEffiencyScaleMin": "https://schema.org/EUEnergyEfficiencyCategoryF"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/hotwaterheater",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 1799.00,
“priceCurrency”: “EUR”
}
}
Precio por unidad
Schema.org admite el precio unitario de productos con la propiedad referenceQuantity
en el tipo UnitPriceSpecification
, proporcionado con la propiedad priceSpecification
en Offer. Cuando especifiques el precio unitario, indica también el precio y la moneda del producto con la propiedad priceSpecification
(en lugar de usar directamente las propiedades price
y priceCurrency
en Offer).
Atributos de datos de productos
|
Tipo y descripción |
---|---|
Las siguientes propiedades de Schema.org son del tipo UnitPriceSpecification . |
|
Especifica la medida de precio por unidad con una propiedad Usa la propiedad |
|
Especifica la medida base de precio por unidad mediante una propiedad Usa la propiedad |
Ejemplo
En el siguiente ejemplo, se muestra el precio de EUR 3.99 para una bolsa de arroz de 5 kg con un precio estandarizado preferido por 1 kg. Esto significa que el producto se podría mostrar a los consumidores con un precio unitario de EUR 0.80 por kilo.
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "basrice12345",
"image": "https://www.example.com/rice.jpg",
"name": "Basmati rice",
"description": "Large bag of Organic Basmati white rice, 5 Kilogram",
"gtin": "12345678901231",
"brand": {
"@type": "Brand",
"name": "ExampleRiceBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/basrice1kg",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 3.99,
"priceCurrency": "EUR",
"referenceQuantity": {
"@type": "QuantitativeValue",
"value": 5,
"unitCode": "KGM",
"valueReference": {
"value": 1,
"unitCode": "KGM"
}
}
}
}
}
Prueba el lenguaje de marcado
Prueba tu implementación de Schema.org con la herramienta Resultados enriquecidos (revisa los informes de los datos estructurados “Fichas de comercios”). Visita el Centro de ayuda de Google Search Console si necesitas más información para usar la herramienta, interpretar los resultados que aparecen en ella y depurar los problemas. Más información sobre los datos estructurados de productos.
Requisitos del lenguaje de marcado de datos estructurados
- El lenguaje de marcado de datos estructurados debe estar presente en el código HTML que devuelve el servidor web. El lenguaje de marcado de datos estructurados no se podrá generar con JavaScript una vez que se haya cargado la página.
- Tu página de destino no puede cambiar en función de la información sobre el cliente; por ejemplo, no puede modificar los precios según la dirección IP de un usuario ni el tipo de navegador.
- Los datos estructurados deben coincidir con los valores que se muestran al cliente. Proporcionar datos incorrectos en las páginas de destino de tus productos constituye una infracción de nuestros lineamientos para desarrolladores web.
- Google recomienda usar JSON‑LD para los datos estructurados.