Cobertura de datos estructurados de una ficha de producto
La cobertura de datos estructurados de una ficha de producto es cuántas de las propiedades de Product y Offer que Google enumera para las fichas de comerciante lleva su JSON-LD. Esta herramienta la cuenta: pegas el código de la ficha y te dice qué propiedades obligatorias y qué recomendadas tiene y cuáles le faltan. Cuenta presencia, no corrección. Funciona en tu navegador: nada de lo que pegas sale de esta página.
Esta comprobación se hace en tu navegador, así que necesita JavaScript. Nada de lo que pegues sale de esta página.
Lo que busca la comprobación
Las propiedades de Product y Offer que Google enumera para las fichas de comerciante, con el nivel que Google da a cada una. Google Search Central: datos estructurados de fichas de comerciante, consultada el .
| Propiedad | Nivel |
|---|---|
Product.name | Obligatoria |
Product.image | Obligatoria |
Product.offers | Obligatoria |
Product.description | Recomendada |
Product.brand | Recomendada |
Product.gtin | Recomendada |
Product.mpn | Recomendada |
Product.sku | Recomendada |
Product.category | Recomendada |
Product.color | Recomendada |
Product.size | Recomendada |
Product.material | Recomendada |
Product.pattern | Recomendada |
Product.audience | Recomendada |
Product.aggregateRating | Recomendada |
Product.review | Recomendada |
Product.inProductGroupWithID | Recomendada |
Product.isVariantOf | Recomendada |
Offer.price | Obligatoria |
Offer.priceCurrency | Obligatoria |
Offer.availability | Recomendada |
Offer.itemCondition | Recomendada |
Offer.hasMerchantReturnPolicy | Recomendada |
Offer.shippingDetails | Recomendada |
Offer.priceValidUntil | Recomendada |
Offer.url | Recomendada |
Lo esencial
- La herramienta cuenta cuántas de las propiedades de Product y Offer que Google enumera para las fichas de comerciante lleva el JSON-LD de una ficha: 5 obligatorias y 21 recomendadas.
- Cuenta presencia, no corrección: un precio que no es el de la página o una valoración que nadie ve cuentan como «Sí».
- Las fichas de comerciante piden una Offer, no un AggregateOffer, y un precio mayor que cero. La herramienta avisa de las dos cosas.
- Una propiedad recomendada que el comprador no ve en la página no se marca: Google pide que los datos estructurados sean un reflejo fiel de la página.
- Lee solo lo que pegas. No sabe qué vio Google, ni si el marcado lo añade JavaScript después de cargar la página.
Esta herramienta mide la cobertura de datos estructurados de una ficha de producto: cuántas de las propiedades de Product y de Offer que Google enumera para las fichas de comerciante (merchant listings) lleva su JSON-LD, y cuáles le faltan. Es para quien tiene una tienda, o la lleva desde una agencia, y quiere saber en un minuto si el marcado de una ficha tiene lo mínimo y cuánto de lo recomendado. Cuenta presencia, no corrección: te dice si una propiedad tiene un valor, no si ese valor es verdad.
Todo ocurre en tu navegador. La herramienta no descarga tu tienda ni envía lo que pegas a ningún sitio: lee el texto que le das y nada más.
Cómo se usa
- Abre la ficha publicada, no el panel de tu plataforma, y mira su código fuente: «Ver código fuente de la página» en el menú del botón derecho, o
view-source:delante de la URL. Selecciona todo y cópialo. - Pégalo en la caja. Vale el código fuente entero o solo el contenido de un bloque JSON-LD. Si lo que pegas empieza por
<, la herramienta lo trata como HTML y lee todos los<script type="application/ld+json">que encuentre; si no, lo trata como un único bloque JSON. - Pulsa «Comprobar». Si quieres ver antes cómo es un resultado, «Cargar un ejemplo» rellena la caja con una ficha ficticia, una camisa de lino con lo obligatorio, la marca, el GTIN y la disponibilidad, que sale con 5 de 5 obligatorias y 3 de 21 recomendadas.
- Lee un bloque por producto. Si la ficha tiene varios nodos Product, cada uno sale con su recuento y su tabla, hasta veinte.
Si el código fuente no tiene ningún bloque JSON-LD y tu ficha sí enseña datos estructurados en otras herramientas, lo más probable es que los añada JavaScript al cargar la página. Entonces copia la página renderizada (herramientas para desarrolladores, Elementos, clic derecho en el elemento <html>, Copiar outerHTML) y pégala aquí. Qué cambia entre una versión y otra, y por qué importa a un rastreador, está en la guía de lo que ve un bot en tu tienda y en la herramienta Lo que ve un agente.
Cómo leer el resultado
El encabezado de cada producto es «Producto 1», «Producto 2»… con el name del nodo detrás. La herramienta busca nodos Product en cualquier parte de lo que pegas: sueltos, dentro de un @graph o como variantes dentro de un ProductGroup con hasVariant, que es como Google pide agrupar las variantes de producto.[1]Google Search Central. Product variant (ProductGroup, Product) structured data Si una propiedad apunta a otro nodo con un identificador @id, por ejemplo "offers": {"@id": "#oferta"}, la herramienta sigue la referencia hasta el nodo que lo define, siempre que ese nodo esté en lo que has pegado.
La línea de recuento dice «Obligatorias: 5 de 5. Recomendadas: 3 de 21.», o los números que toquen. Las obligatorias son cinco: tres del producto y dos de la oferta. Las recomendadas son veintiuna, y la lista completa está en la tabla de referencia, bajo la herramienta.
La tabla tiene una fila por propiedad, con su nivel y la columna «Está». Un «No» en una obligatoria se marca como fallo; en una recomendada, como aviso. Una propiedad cuenta como presente si tiene algún valor: un texto vacío (""), un null o una lista vacía cuentan como ausentes. Es lo que pasa cuando un tema imprime "gtin13": "" porque el producto no tiene el campo relleno.
Los mensajes sin tabla dicen por qué no hay recuento: no hay JSON-LD en lo pegado; hay JSON-LD pero ningún nodo Product, y sin él nada en la página describe el producto a una máquina; o un bloque no se puede leer, y la herramienta copia el error del lector de JSON, que suele ser una coma de más o unas comillas sin cerrar. Los demás bloques se leen igual.
Dos avisos que van encima de la tabla
Hay dos casos en que una oferta presente no sirve para las fichas de comerciante, y la herramienta los señala con un aviso propio:
- La oferta es un AggregateOffer. Schema.org lo define para un producto con varias ofertas, por ejemplo el mismo par de zapatillas que venden comercios distintos.[2]Schema.org. AggregateOffer Los fragmentos de producto aceptan una Offer o un AggregateOffer, pero las fichas de comerciante exigen una Offer, porque quien marca la página tiene que ser quien vende el producto.[3]Google Search Central. Merchant listing (Product, Offer) structured data Un AggregateOffer suele llevar
lowPriceyhighPriceen lugar deprice, así que además la fila del precio sale en «No». - Falta el precio o es cero. A diferencia de los fragmentos de producto, las fichas de comerciante piden un precio mayor que cero.[3]Google Search Central. Merchant listing (Product, Offer) structured data La herramienta avisa si el precio no está, si es cero o si no es un número, como un precio escrito con el símbolo del euro dentro. Schema.org pide la moneda aparte, en
priceCurrency, y el punto como separador decimal.[4]Schema.org. Offer La herramienta acepta la coma para no darte un aviso de más, pero la forma correcta es"29.90".
Si offers es una lista de ofertas, la herramienta mira solo la primera.
Las propiedades de Product y Offer que cuenta
La lista sale de la documentación de Google para las fichas de comerciante, que separa lo obligatorio de lo recomendado.[3]Google Search Central. Merchant listing (Product, Offer) structured data
| Nodo | Obligatorias | Recomendadas que cuenta la herramienta |
|---|---|---|
| Product | name, image, offers |
description, brand, gtin (o gtin8, gtin12, gtin13, gtin14, isbn), mpn, sku, category, color, size, material, pattern, audience, aggregateRating, review, inProductGroupWithID, isVariantOf |
| Offer | price, priceCurrency |
availability, itemCondition, hasMerchantReturnPolicy, shippingDetails, priceValidUntil, url |
Tres matices de la misma fuente. El precio y la moneda pueden ir dentro de priceSpecification en lugar de directamente en la oferta, y la herramienta acepta las dos formas; si están en los dos sitios, Google usa offers.price. La moneda va en código ISO 4217 de tres letras.[3]Google Search Central. Merchant listing (Product, Offer) structured data En los fragmentos de producto Google solo la recomienda, pero en las fichas de comerciante es obligatoria.[5]Google Search Central. Product snippet (Product, Review, Offer) structured data Y de la marca Google pide el nombre, brand.name, uno solo; la herramienta da por buena la fila brand con cualquier valor.[3]Google Search Central. Merchant listing (Product, Offer) structured data
Hay recomendadas de Google que la herramienta no cuenta, a propósito, porque solo aplican a algunos catálogos y bajarían la nota de todas las tiendas:
hasAdultConsideration, para productos para adultos. Ojo: si vendes productos de ese tipo, Google dice que debes usarla para marcarlos, aunque figure entre las recomendadas.[3]Google Search Central. Merchant listing (Product, Offer) structured data La herramienta no lo comprueba.hasCertification, para certificaciones como las etiquetas de eficiencia energética, que Google considera especialmente relevantes en Europa.[3]Google Search Central. Merchant listing (Product, Offer) structured datasubjectOf, para un modelo 3D del producto.[3]Google Search Central. Merchant listing (Product, Offer) structured data
Tampoco cuenta validFrom ni validThrough, las fechas en que empieza y acaba un precio, que Google también recomienda en la oferta.[3]Google Search Central. Merchant listing (Product, Offer) structured data
Lo recomendado no es una lista de tareas
Google pide que los datos estructurados sean un reflejo fiel del contenido de la página y que no marques lo que el lector no ve.[6]Google Search Central. General structured data guidelines Eso decide cómo se lee la columna de las recomendadas: una recomendada se rellena si la ficha la enseña. Si tu ficha no muestra valoraciones, el «No» de aggregateRating es la respuesta correcta, y la solución no es inventarse una media para el marcado. Lo mismo vale para la talla de un producto que no tiene tallas.
Lo que sí dice Google es que cuantas más recomendadas aportes, de más calidad es el resultado para el usuario.[6]Google Search Central. General structured data guidelines Así que la columna sirve para encontrar lo que tu ficha ya enseña y el marcado no dice: un GTIN que está en el panel y el tema no publica, una disponibilidad que la página muestra y la oferta no lleva, una política de devoluciones que existe pero no está marcada.
Lo que la herramienta no te dice
- Si los valores son verdad. Un precio de hace dos rebajas cuenta como presente. Comparar el marcado con lo que ve el comprador, propiedad por propiedad, es el paso que no hace ninguna herramienta, y está explicado en la guía para auditar una ficha de producto.
- Si el formato de cada valor es válido. No comprueba fechas, códigos de moneda, valores de disponibilidad ni dígitos de control. Para los GTIN está el validador de GTIN.
- Qué vio Google. La herramienta lee lo que pegas. Lo que Google encontró la última vez que indexó la página, incluidos los resultados enriquecidos, está en la inspección de URLs de Search Console, que también enseña el código de la página rastreada.[7]Ayuda de Search Console. URL Inspection tool
- Lo que hereda una variante. Google permite poner en el ProductGroup las propiedades comunes a todas las variantes, como la marca o las reseñas.[1]Google Search Central. Product variant (ProductGroup, Product) structured data La herramienta cuenta cada Product por separado, así que una variante sin
brandpropio sale en «No» aunque el grupo lo tenga. - El marcado que no es JSON-LD. No lee microdatos ni RDFa.
- Si Google lo va a enseñar. Tener lo obligatorio hace que una ficha pueda optar a un resultado enriquecido, no que lo tenga: Google no lo garantiza aunque el marcado sea correcto.[6]Google Search Central. General structured data guidelines La diferencia entre que un marcado sea válido y que esté publicado está en validar frente a verificar.
Si la cobertura de una ficha bajó después de cambiar de tema o de instalar una app, el comparador de JSON-LD te enseña qué propiedad desapareció.
Lo que hemos probado
Probado en: tres fichas, plataforma y tema de cada una, fecha.
| Ficha | Plataforma y tema | Obligatorias | Recomendadas | Avisos | Prueba de resultados enriquecidos |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 |
Fuentes
- [1] Google Search Central. Product variant (ProductGroup, Product) structured data. Consultado el . ↑ ↑
- [2] Schema.org. AggregateOffer. Consultado el . ↑
- [3] Google Search Central. Merchant listing (Product, Offer) structured data. Consultado el . ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
- [4] Schema.org. Offer. Consultado el . ↑
- [5] Google Search Central. Product snippet (Product, Review, Offer) structured data. Consultado el . ↑
- [6] Google Search Central. General structured data guidelines. Consultado el . ↑ ↑ ↑
- [7] Ayuda de Search Console. URL Inspection tool. Consultado el . ↑
Historial de cambios
- Primera versión.
Otras preguntas
¿Qué diferencia hay entre las fichas de comerciante y los fragmentos de producto?
¿Tengo que llegar a 21 de 21 en las recomendadas?
¿Por qué la herramienta no encuentra el JSON-LD de mi ficha?
Términos relacionados
Product
Qué es el tipo Product de Schema.org, qué propiedades lleva, qué pide Google para fragmentos de producto y fichas de comerciante, y cómo contrastarlo.
Offer
Qué es el tipo Offer de Schema.org, cómo se escriben el precio, la moneda y la disponibilidad, qué pide Google y en qué se diferencia de AggregateOffer.
JSON-LD
Qué es JSON-LD, qué significan @context, @type, @id y @graph, por qué Google lo recomienda y cómo encontrar y comprobar el bloque de tu ficha.
Fichas de comerciante
Qué son las fichas de comerciante (merchant listings) de Google, dónde aparecen, qué marcado Product y Offer piden y cómo comprobar si tu ficha opta.
GTIN
Qué es el GTIN, sus formatos (GTIN-13 o EAN, GTIN-12, GTIN-8, GTIN-14), quién lo asigna, cómo va en una ficha y por qué nunca se inventa.
Haz que los bots entiendan tu catálogo
Clione completa cada ficha de producto con lo que los bots leen mejor: el grafo JSON-LD con sus datos estructurados, la meta description y las preguntas frecuentes. Tú revisas y pulsas Push; después comprobamos tu tienda en vivo para que todo siga publicado.