# Product schema: qué es el tipo Product de Schema.org

> 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.

URL: https://clione.ai/es/glosario/schema-product/
Lang: es

Cuando alguien busca «product schema» quiere saber qué hay que poner en los [datos estructurados](/es/glosario/datos-estructurados/) de una ficha, y la respuesta empieza por un tipo: Product, de [Schema.org](/es/glosario/schema-org/). No es el producto de tu plataforma ni la fila de tu [feed de productos](/es/glosario/feed-de-productos/); es **el nodo del marcado que le cuenta a un buscador qué artículo hay en la página**. Se escribe en inglés porque es un nombre del vocabulario, no una palabra. Te importa porque es lo primero que lee Google para decidir si tu [ficha de producto](/es/glosario/ficha-de-producto/) puede optar a los [resultados enriquecidos](/es/glosario/resultados-enriquecidos/), con su precio, su disponibilidad o sus valoraciones.

## Cómo funciona

Schema.org define Product como cualquier producto o servicio que se ofrece, y pone ejemplos tan distintos como unos zapatos, una entrada de concierto, el alquiler de un coche o un corte de pelo. Cuelga directamente de `Thing`, el tipo raíz.[^schema-org-product] Sus propiedades se agrupan en cuatro familias que una tienda reconoce enseguida:

- **Identidad**: `name`, `description`, `image` y `brand` (la marca).
- **Identificadores**: `sku` (la referencia de la tienda), y los códigos estándar como `gtin`, `gtin13` o `mpn`. Tienen sus propias entradas: [SKU](/es/glosario/sku/), [GTIN](/es/glosario/gtin/) y [MPN](/es/glosario/mpn/).
- **Características**: `color`, `material` o `size`, entre muchas otras.
- **Relaciones**: `offers`, que lleva a la oferta con el precio; `aggregateRating` y `review`, para las valoraciones; `isVariantOf` e `inProductGroupWithID`, para las variantes; y `hasMerchantReturnPolicy`, para la [política de devoluciones](/es/glosario/politica-de-devoluciones/).[^schema-org-product]

La propiedad `offers` es la que separa lo que el artículo **es** de las condiciones en que **se vende**: Schema.org la describe como una oferta para proporcionar el artículo, por ejemplo para venderlo, alquilarlo o regalar entradas.[^schema-org-product] El precio, la moneda y la disponibilidad viven en esa oferta, el tipo [Offer](/es/glosario/schema-offer/), no en el producto.

Google usa Product para dos experiencias distintas. Los **fragmentos de producto** son para páginas donde no se puede comprar directamente, como una reseña editorial, y permiten detallar la valoración con pros y contras. Las **[fichas de comerciante](/es/glosario/fichas-de-comerciante/)** son para páginas donde el cliente te compra a ti, y admiten más detalle, como tallas de ropa, envío y devoluciones.[^google-product] Lo mínimo que pide cada una no es lo mismo:

| Lo que pide Google       | Fragmento de producto                                                                    | Ficha de comerciante                                                                                                                                                   |
| ------------------------ | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Página                   | Sin compra directa                                                                       | Con compra directa a ti                                                                                                                                                |
| Propiedades obligatorias | `name` y al menos una de `review`, `aggregateRating` u `offers`[^google-product-snippet] | `name`, `image` y `offers`[^google-merchant-listing]                                                                                                                   |
| Oferta                   | `Offer` o `AggregateOffer`                                                               | Solo `Offer`, con precio mayor que cero[^google-merchant-listing] |

Un producto con tallas o colores no se describe como un solo nodo. Google pide un [`ProductGroup`](/es/glosario/productgroup/) que agrupe las variantes, con `hasVariant` para cada una, `variesBy` para lo que cambia entre ellas (la talla o el color) y `productGroupID` para la referencia del producto padre. Cada variante es un Product con su propia oferta, y **cada una necesita un identificador único, como `sku` o `gtin`**.[^google-product-variants]

Y una recomendación que cambia la estrategia: Google dice que dar datos estructurados en la página **y además** un _feed_ en [Google Merchant Center](/es/glosario/google-merchant-center/) maximiza las opciones de aparecer y le ayuda a entender y verificar los datos.[^google-product]

## En una tienda

Cada propiedad del nodo tiene que poder señalarse en la ficha. **Ejemplo ficticio**: una camisa de lino de una tienda inventada, con lo que muestra la página y dónde va en el nodo.

| Lo que muestra la ficha                                        | Propiedad de Product             | Regla                                                                                                                                                 |
| -------------------------------------------------------------- | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| Título «Camisa de lino Calella, azul»                          | `name`                           | Obligatoria en las dos experiencias de Google                                                                                                         |
| Foto principal                                                 | `image`                          | Obligatoria para ficha de comerciante                                                                                                                 |
| Marca Calella                                                  | `brand`                          | Se marca porque se ve                                                                                                                                 |
| «Ref. CAL-AZ» y el código de barras                            | `sku`, `gtin13`                  | Una por variante si hay tallas                                                                                                                        |
| Composición: lino                                              | `material`                       | Solo si la ficha lo dice                                                                                                                              |
| Selector de talla                                              | `ProductGroup` con `hasVariant`  | Cada talla, su propio Product y su propia oferta |
| Sin [opiniones de clientes](/es/glosario/resenas-de-producto/) | Ni `aggregateRating` ni `review` | Lo que no se ve no se marca                                                                                                                           |

La última fila es la que más se discute. Si la ficha no muestra valoraciones, el nodo no las lleva: Google pide no marcar contenido que el lector no ve y que los datos sean una representación fiel de la página.[^google-sd-policies] Es la misma regla que sigue Clione: las valoraciones que lleva al nodo Product salen de las reseñas de la propia tienda, y un producto sin reseñas no lleva ninguna.


Creer que un nodo Product correcto basta para optar a ficha de comerciante. Sin `image` o sin una oferta con un precio mayor que cero no basta: son requisitos que pone Google para esa experiencia, y un nodo puede ser correcto para el vocabulario sin cumplirlos.[^google-merchant-listing] Y si la página no permite comprar, lo que corresponde es el fragmento de producto, no la ficha de comerciante.[^google-product]


## Cómo comprobarlo

1. **Pasa la URL de una ficha por la [Prueba de resultados enriquecidos](/es/glosario/prueba-de-resultados-enriquecidos/).** Te dice qué tipos de resultado enriquecido encuentra y con qué errores o sugerencias.[^rich-results-test]
2. **Busca las tres obligatorias** de la ficha de comerciante en el nodo: `name`, `image` y `offers`.[^google-merchant-listing]
3. **Señala cada propiedad en la página visible.** La que no encuentres en pantalla sobra o falta en la página.[^google-sd-policies]
4. **Si el producto tiene variantes, comprueba que cada una tiene su propio `sku` o `gtin`** y que no se repite entre tallas o colores.[^google-product-variants]

## Concepto cercano: Offer

Product y Offer se confunden porque van juntos, pero responden a preguntas distintas. **Product dice qué es el artículo; Offer dice en qué condiciones se vende**: el precio, la moneda, la disponibilidad. Schema.org define la oferta como un ofrecimiento para transferir algún derecho sobre un artículo o prestar un servicio, por ejemplo vender entradas o alquilar una película.[^schema-org-offer] Para las fichas de comerciante Google exige que la oferta sea tuya: el comerciante tiene que ser quien vende el producto.[^google-merchant-listing]

Para seguir, la [ruta de lectura de datos estructurados](/es/aprender/datos-estructurados/) ordena el resto de términos, y la guía para [auditar los datos estructurados de una ficha](/es/guias/auditar-ficha-de-producto/) recorre una ficha propiedad por propiedad.
