Datos estructurados de fichas de comerciantes (Product, Offer)

Presentación del panel de información de Shopping en los resultados de búsqueda

Si añades la etiqueta Product a tu página, podrá ser apta para aparecer en las experiencias de fichas de comerciantes de la Búsqueda de Google, como el panel de información de Shopping, Google Imágenes, los resultados de productos populares y los fragmentos de productos. Las fichas de comerciantes pueden destacar datos más específicos sobre un producto, como el precio, la disponibilidad e información de envío y devolución.

Esta guía se centra en los requisitos de datos estructurados de Product para las fichas de comerciantes. Si no sabes qué etiquetas usar, consulta nuestra introducción a las etiquetas Product.

Cómo añadir datos estructurados

Los datos estructurados son un formato estandarizado con el que se puede proporcionar información sobre una página y clasificar su contenido. Consulta cómo funcionan los datos estructurados si aún no te has familiarizado con ellos.

A continuación se explica a grandes rasgos cómo crear, probar y publicar datos estructurados. Si necesitas una guía detallada para añadir datos estructurados a una página web, consulta el codelab de datos estructurados.

  1. Añade las propiedades obligatorias. Consulta más información sobre dónde insertar datos estructurados en una página en función del formato que estés utilizando.
  2. Sigue las directrices.
  3. Valida tu código con la prueba de resultados enriquecidos y corrige los errores críticos. Te recomendamos que también corrijas los problemas no críticos que puedan marcarse en la herramienta, ya que pueden ayudar a mejorar la calidad de los datos estructurados (sin embargo, esto no es necesario para que se muestren los resultados enriquecidos).
  4. Crea varias páginas que incluyan tus datos estructurados y comprueba cómo las ve Google con la herramienta de inspección de URLs. Asegúrate de que Google pueda acceder a tu página y de que no esté bloqueada por un archivo robots.txt, por la etiqueta noindex ni por requisitos de inicio de sesión. Si la página se ve bien, puedes solicitar que Google vuelva a rastrear tus URLs.
  5. Para que Google siempre tenga la versión actualizada de tus páginas, te recomendamos que envíes un sitemap. Puedes automatizar este envío con la API Sitemap de Search Console.

Ejemplos

En los siguientes ejemplos se muestra cómo incluir datos estructurados en tus páginas web en diferentes situaciones.

Página de producto con una oferta

Este es un ejemplo de una página en la que se vende un producto y que incluye reseñas del producto.

JSON-LD


 <html>
  <head>
    <title>Executive Anvil</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Product",
      "name": "Executive Anvil",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "description": "Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height.",
      "sku": "0446310786",
      "mpn": "925872",
      "brand": {
        "@type": "Brand",
        "name": "ACME"
      },
      "review": {
        "@type": "Review",
        "reviewRating": {
          "@type": "Rating",
          "ratingValue": 4,
          "bestRating": 5
        },
        "author": {
          "@type": "Person",
          "name": "Fred Benson"
        }
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": 4.4,
        "reviewCount": 89
      },
      "offers": {
        "@type": "Offer",
        "url": "https://example.com/anvil",
        "priceCurrency": "USD",
        "price": 119.99,
        "priceValidUntil": "2024-11-20",
        "itemCondition": "https://schema.org/UsedCondition",
        "availability": "https://schema.org/InStock"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

RDFa


 <html>
  <head>
    <title>Executive Anvil</title>
  </head>
  <body>
    <div typeof="schema:Product">
        <div rel="schema:review">
          <div typeof="schema:Review">
            <div rel="schema:reviewRating">
              <div typeof="schema:Rating">
                <div property="schema:ratingValue" content="4"></div>
                <div property="schema:bestRating" content="5"></div>
              </div>
            </div>
            <div rel="schema:author">
              <div typeof="schema:Person">
                <div property="schema:name" content="Fred Benson"></div>
              </div>
            </div>
          </div>
        </div>
        <div rel="schema:image" resource="https://example.com/photos/4x3/photo.jpg"></div>
        <div property="schema:mpn" content="925872"></div>
        <div property="schema:name" content="Executive Anvil"></div>
        <div property="schema:description" content="Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height."></div>
        <div rel="schema:image" resource="https://example.com/photos/1x1/photo.jpg"></div>
        <div rel="schema:brand">
          <div typeof="schema:Brand">
            <div property="schema:name" content="ACME"></div>
          </div>
        </div>
        <div rel="schema:aggregateRating">
          <div typeof="schema:AggregateRating">
            <div property="schema:reviewCount" content="89"></div>
            <div property="schema:ratingValue" content="4.4"></div>
          </div>
        </div>
        <div rel="schema:offers">
          <div typeof="schema:Offer">
            <div property="schema:price" content="119.99"></div>
            <div property="schema:availability" content="https://schema.org/InStock"></div>
            <div property="schema:priceCurrency" content="USD"></div>
            <div property="schema:priceValidUntil" datatype="xsd:date" content="2024-11-20"></div>
            <div rel="schema:url" resource="https://example.com/anvil"></div>
            <div property="schema:itemCondition" content="https://schema.org/UsedCondition"></div>
          </div>
        </div>
        <div rel="schema:image" resource="https://example.com/photos/16x9/photo.jpg"></div>
        <div property="schema:sku" content="0446310786"></div>
      </div>
  </body>
</html>

Microdatos


 <html>
  <head>
    <title>Executive Anvil</title>
  </head>
  <body>
  <div>
    <div itemtype="https://schema.org/Product" itemscope>
      <meta itemprop="mpn" content="925872" />
      <meta itemprop="name" content="Executive Anvil" />
      <link itemprop="image" href="https://example.com/photos/16x9/photo.jpg" />
      <link itemprop="image" href="https://example.com/photos/4x3/photo.jpg" />
      <link itemprop="image" href="https://example.com/photos/1x1/photo.jpg" />
      <meta itemprop="description" content="Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height." />
      <div itemprop="offers" itemtype="https://schema.org/Offer" itemscope>
        <link itemprop="url" href="https://example.com/anvil" />
        <meta itemprop="availability" content="https://schema.org/InStock" />
        <meta itemprop="priceCurrency" content="USD" />
        <meta itemprop="itemCondition" content="https://schema.org/UsedCondition" />
        <meta itemprop="price" content="119.99" />
        <meta itemprop="priceValidUntil" content="2024-11-20" />
      </div>
      <div itemprop="aggregateRating" itemtype="https://schema.org/AggregateRating" itemscope>
        <meta itemprop="reviewCount" content="89" />
        <meta itemprop="ratingValue" content="4.4" />
      </div>
      <div itemprop="review" itemtype="https://schema.org/Review" itemscope>
        <div itemprop="author" itemtype="https://schema.org/Person" itemscope>
          <meta itemprop="name" content="Fred Benson" />
        </div>
        <div itemprop="reviewRating" itemtype="https://schema.org/Rating" itemscope>
          <meta itemprop="ratingValue" content="4" />
          <meta itemprop="bestRating" content="5" />
        </div>
      </div>
      <meta itemprop="sku" content="0446310786" />
      <div itemprop="brand" itemtype="https://schema.org/Brand" itemscope>
        <meta itemprop="name" content="ACME" />
      </div>
    </div>
  </div>
  </body>
</html>

Precios

A continuación se muestran dos ejemplos de codificación de precios en JSON-LD.

Para especificar un precio, usa la propiedad price del siguiente modo:

"offers": {
  "@type": "Offer",
  "price": 10.00,
  "priceCurrency": "USD",
  ...
}

También se puede hacer con la propiedad priceSpecification.

"offers": {
  "@type": "Offer",
  "priceSpecification": {
    "@type": "UnitPriceSpecification",
    "price": 10.00,
    "priceCurrency": "USD"
  },
  ...
}

Precios con medidas de precio por unidad

A continuación, se muestra un ejemplo de cómo especificar un precio para 4,5 l de un producto que se vende siempre en múltiplos de 750 ml. Este formato de precios es especialmente importante en la UE para los productos que se venden por volumen o peso.

Si hay una medida de precio por unidad y una medida base de precio por unidad, el precio se especifica en una propiedad UnitPriceSpecification.

"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 81.00,
"priceCurrency": "EUR",
"referenceQuantity": {
  "@type": "QuantitativeValue",
  "value": "4.5",
  "unitCode": "LTR",
  "valueReference": {
    "@type": "QuantitativeValue",
    "value": "750",
    "unitCode": "MLT"
  }
}
}

Detalles del envío

Este es un ejemplo de una página de producto que incluye detalles sobre el envío. En este caso, la tarifa de envío sería de $3.49 para todos los usuarios residentes en EE. UU. Para ver más ejemplos, consulta la sección Envío.

JSON-LD


 <html>
  <head>
    <title>Nice trinket</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Product",
      "sku": "trinket-12345",
      "gtin14": "12345678901234",
      "image": [
        "https://example.com/photos/16x9/trinket.jpg",
        "https://example.com/photos/4x3/trinket.jpg",
        "https://example.com/photos/1x1/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",
        "price": 39.99,
        "priceCurrency": "USD",
        "priceValidUntil": "2024-11-20",
        "shippingDetails": {
          "@type": "OfferShippingDetails",
          "shippingRate": {
            "@type": "MonetaryAmount",
            "value": 3.49,
            "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"
            }
          }
        }
      },
      "review": {
        "@type": "Review",
          "reviewRating": {
            "@type": "Rating",
            "ratingValue": 4,
            "bestRating": 5
          },
          "author": {
            "@type": "Person",
            "name": "Fred Benson"
          }
        },
        "aggregateRating": {
          "@type": "AggregateRating",
          "ratingValue": 4.4,
          "reviewCount": 89
        }
      }
    </script>
  </head>
  <body>
  </body>
</html>

RDFa


 <html>
  <head>
    <title>Nice trinket</title>
  </head>
  <body>
    <div typeof="schema:Product">
      <div property="schema:sku" content="trinket-12345"></div>
      <div property="schema:gtin14" content="12345678901234"></div>
      <div property="schema:name" content="Nice trinket"></div>
      <div rel="schema:image" resource="https://example.com/photos/16x9/trinket.jpg"></div>
      <div rel="schema:image" resource="https://example.com/photos/4x3/trinket.jpg"></div>
      <div rel="schema:image" resource="https://example.com/photos/1x1/trinket.jpg"></div>
      <div property="schema:description" content="Trinket with clean lines"></div>
      <div rel="schema:brand">
        <div typeof="schema:Brand">
          <div property="schema:name" content="MyBrand"></div>
        </div>
      </div>
      <div rel="schema:offers">
        <div typeof="schema:Offer">
          <div rel="schema:url" resource="https://example.com/trinket_offer"></div>
          <div property="schema:itemCondition" content="https://schema.org/NewCondition"></div>
          <div property="schema:availability" content="https://schema.org/InStock"></div>
          <div property="schema:price" content="39.99"></div>
          <div property="schema:priceCurrency" content="USD"></div>
          <div property="schema:priceValidUntil" datatype="xsd:date" content="2024-11-20"></div>
          <div rel="schema:shippingDetails">
            <div typeof="schema:OfferShippingDetails">
              <div rel="schema:shippingRate">
                <div typeof="schema:MonetaryAmount">
                  <div property="schema:value" content="3.49"></div>
                  <div property="schema:currency" content="USD"></div>
                </div>
              </div>
              <div rel="schema:shippingDestination">
                <div typeof="schema:DefinedRegion">
                  <div property="schema:addressCountry" content="US"></div>
                </div>
              </div>
              <div rel="schema:deliveryTime">
                <div typeof="schema:ShippingDeliveryTime">
                  <div rel="schema:handlingTime">
                    <div typeof="schema:QuantitativeValue">
                      <div property="schema:minValue" content="0"></div>
                      <div property="schema:maxValue" content="1"></div>
                      <div property="schema:unitCode" content="DAY"></div>
                    </div>
                  </div>
                  <div rel="schema:transitTime">
                    <div typeof="schema:QuantitativeValue">
                      <div property="schema:minValue" content="1"></div>
                      <div property="schema:maxValue" content="5"></div>
                      <div property="schema:unitCode" content="DAY"></div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div rel="schema:review">
        <div typeof="schema:Review">
          <div rel="schema:reviewRating">
            <div typeof="schema:Rating">
              <div property="schema:ratingValue" content="4"></div>
              <div property="schema:bestRating" content="5"></div>
            </div>
          </div>
          <div rel="schema:author">
            <div typeof="schema:Person">
              <div property="schema:name" content="Fred Benson"></div>
            </div>
          </div>
        </div>
      </div>
      <div rel="schema:aggregateRating">
        <div typeof="schema:AggregateRating">
          <div property="schema:reviewCount" content="89"></div>
          <div property="schema:ratingValue" content="4.4"></div>
        </div>
      </div>
    </div>
  </body>
</html>

Microdatos


 <html>
  <head>
    <title>Nice trinket</title>
  </head>
  <body>
  <div>
    <div itemtype="https://schema.org/Product" itemscope>
      <meta itemprop="sku" content="trinket-12345" />
      <meta itemprop="gtin14" content="12345678901234" />
      <meta itemprop="name" content="Nice trinket" />
      <link itemprop="image" href="https://example.com/photos/16x9/trinket.jpg" />
      <link itemprop="image" href="https://example.com/photos/4x3/trinket.jpg" />
      <link itemprop="image" href="https://example.com/photos/1x1/trinket.jpg" />
      <meta itemprop="description" content="Trinket with clean lines" />
      <div itemprop="brand" itemtype="https://schema.org/Brand" itemscope>
        <meta itemprop="name" content="MyBrand" />
      </div>
      <div itemprop="offers" itemtype="https://schema.org/Offer" itemscope>
        <link itemprop="url" href="https://www.example.com/trinket_offer" />
        <meta itemprop="itemCondition" content="https://schema.org/NewCondition" />
        <meta itemprop="availability" content="https://schema.org/InStock" />
        <meta itemprop="price" content="39.99" />
        <meta itemprop="priceCurrency" content="USD" />
        <meta itemprop="priceValidUntil" content="2024-11-20" />
        <div itemprop="shippingDetails" itemtype="https://schema.org/OfferShippingDetails" itemscope>
          <div itemprop="shippingRate" itemtype="https://schema.org/MonetaryAmount" itemscope>
            <meta itemprop="value" content="3.49" />
            <meta itemprop="currency" content="USD" />
          </div>
          <div itemprop="shippingDestination" itemtype="https://schema.org/DefinedRegion" itemscope>
            <meta itemprop="addressCountry" content="US" />
          </div>
          <div itemprop="deliveryTime" itemtype="https://schema.org/ShippingDeliveryTime" itemscope>
            <div itemprop="handlingTime" itemtype="https://schema.org/QuantitativeValue" itemscope>
              <meta itemprop="minValue" content="0" />
              <meta itemprop="maxValue" content="1" />
              <meta itemprop="unitCode" content="DAY" />
            </div>
            <div itemprop="transitTime" itemtype="https://schema.org/QuantitativeValue" itemscope>
              <meta itemprop="minValue" content="1" />
              <meta itemprop="maxValue" content="5" />
              <meta itemprop="unitCode" content="DAY" />
            </div>
          </div>
        </div>
      </div>
      <div itemprop="review" itemtype="https://schema.org/Review" itemscope>
        <div itemprop="author" itemtype="https://schema.org/Person" itemscope>
          <meta itemprop="name" content="Fred Benson" />
        </div>
        <div itemprop="reviewRating" itemtype="https://schema.org/Rating" itemscope>
          <meta itemprop="ratingValue" content="4" />
          <meta itemprop="bestRating" content="5" />
        </div>
      </div>
      <div itemprop="aggregateRating" itemtype="https://schema.org/AggregateRating" itemscope>
        <meta itemprop="reviewCount" content="89" />
        <meta itemprop="ratingValue" content="4.4" />
      </div>
    </div>
  </div>
  </body>
</html>

Envío gratuito

A continuación, se muestra un ejemplo de cómo ofrecer envío gratuito a compradores del estado de Nueva York en EE. UU.

"shippingDetails": {
  "@type": "OfferShippingDetails",
  "shippingRate": {
    "@type": "MonetaryAmount",
    "value": "0",
    "currency": "USD"
  },
  "shippingDestination": [
    {
      "@type": "DefinedRegion",
      "addressCountry": "US",
      "addressRegion": ["NY"]
    }
  ]
}

Detalles de la devolución

Este es un ejemplo de una página de producto que incluye datos sobre la devolución. Las etiquetas se corresponden a una política de devoluciones que requiere que los productos se devuelvan en un plazo de 60 días, se envíen a EE. UU. y no se aplique ninguna tarifa.

JSON-LD


 <html>
  <head>
    <title>Nice trinket</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Product",
      "sku": "trinket-12345",
      "gtin14": "12345678901234",
      "image": [
        "https://example.com/photos/16x9/trinket.jpg",
        "https://example.com/photos/4x3/trinket.jpg",
        "https://example.com/photos/1x1/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": "PriceSpecification",
          "price": 39.99,
          "priceCurrency": "CHF"
        },
        "hasMerchantReturnPolicy": {
          "@type": "MerchantReturnPolicy",
          "applicableCountry": "CH",
          "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
          "merchantReturnDays": 60,
          "returnMethod": "https://schema.org/ReturnByMail",
          "returnFees": "https://schema.org/FreeReturn"
        }
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

RDFa


 <html>
  <head>
    <title>Nice trinket</title>
  </head>
  <body>
    <div typeof="schema:Product">
      <div property="schema:sku" content="trinket-12345"></div>
      <div property="schema:gtin14" content="12345678901234"></div>
      <div property="schema:name" content="Nice trinket"></div>
      <div rel="schema:image" resource="https://example.com/photos/16x9/trinket.jpg"></div>
      <div rel="schema:image" resource="https://example.com/photos/4x3/trinket.jpg"></div>
      <div rel="schema:image" resource="https://example.com/photos/1x1/trinket.jpg"></div>
      <div property="schema:description" content="Trinket with clean lines"></div>
      <div rel="schema:brand">
        <div typeof="schema:Brand">
          <div property="schema:name" content="MyBrand"></div>
        </div>
      </div>
      <div rel="schema:offers">
        <div typeof="schema:Offer">
          <div rel="schema:url" resource="https://example.com/trinket_offer"></div>
          <div property="schema:itemCondition" content="https://schema.org/NewCondition"></div>
          <div property="schema:availability" content="https://schema.org/InStock"></div>
          <div property="schema:price" content="39.99"></div>
          <div property="schema:priceCurrency" content="CHF"></div>
          <div property="schema:priceValidUntil" datatype="xsd:date" content="2024-11-20"></div>
          <div rel="schema:hasMerchantReturnPolicy">
            <div typeof="schema:MerchantReturnPolicy">
              <div property="schema:applicableCountry" content="US"></div>
              <div property="schema:returnPolicyCategory" content="https://schema.org/MerchantReturnFiniteReturnWindow"></div>
              <div property="schema:merchantReturnDays" content="60"></div>
              <div property="schema:returnMethod" content="https://schema.org/ReturnByMail"></div>
              <div property="schema:returnFees" content="https://schema.org/FreeReturn"></div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </body>
</html>

Microdatos


 <html>
  <head>
    <title>Nice trinket</title>
  </head>
  <body>
  <div>
    <div itemtype="https://schema.org/Product" itemscope>
      <meta itemprop="sku" content="trinket-12345" />
      <meta itemprop="gtin14" content="12345678901234" />
      <meta itemprop="name" content="Nice trinket" />
      <link itemprop="image" href="https://example.com/photos/16x9/trinket.jpg" />
      <link itemprop="image" href="https://example.com/photos/4x3/trinket.jpg" />
      <link itemprop="image" href="https://example.com/photos/1x1/trinket.jpg" />
      <meta itemprop="description" content="Trinket with clean lines" />
      <div itemprop="brand" itemtype="https://schema.org/Brand" itemscope>
        <meta itemprop="name" content="MyBrand" />
      </div>
      <div itemprop="offers" itemtype="https://schema.org/Offer" itemscope>
        <link itemprop="url" href="https://www.example.com/trinket_offer" />
        <meta itemprop="itemCondition" content="https://schema.org/NewCondition" />
        <meta itemprop="availability" content="https://schema.org/InStock" />
        <meta itemprop="price" content="39.99" />
        <meta itemprop="priceCurrency" content="CHF" />
        <meta itemprop="priceValidUntil" content="2024-11-20" />
        <div itemprop="hasMerchantReturnPolicy" itemtype="https://schema.org/MerchantReturnPolicy" itemscope>
          <meta itemprop="applicableCountry" content="US" />
          <meta itemprop="returnPolicyCategory" content="https://schema.org/MerchantReturnFiniteReturnWindow" />
          <meta itemprop="merchantReturnDays" content="60" />
          <meta itemprop="returnMethod" content="https://schema.org/ReturnByMail" />
          <meta itemprop="returnFees" content="https://schema.org/FreeReturn" />
        </div>
      </div>
    </div>
  </div>
  </body>
</html>

Niveles de eficiencia energética

En el siguiente ejemplo se muestra cómo especificar información sobre la eficiencia energética con datos estructurados. En el ejemplo se especifica el nivel de eficiencia energética de la UE "C" con una escala de "A+" a "F" para un calentador de agua.

Ten en cuenta que el valor del atributo de nivel mínimo de eficiencia energética especifica el nivel menos eficiente en la escala de consumo energético (que es "F"), mientras que el valor del atributo de nivel máximo de eficiencia energética especifica el nivel más eficiente ("A+").

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "sku": "1234-5678",
  "image": "https://www.example.com/waterheater.jpg",
  "name": "Water heater",
  "description": "Large capacity water heater",
  "gtin14": "12345678901231",
  "mpn": "WH1234",
  "brand": {
    "@type": "Brand",
    "name": "ExampleWaterHeaterBrand"
  },
  "hasEnergyConsumptionDetails": {
    "@type": "EnergyConsumptionDetails",
    "hasEnergyEfficiencyCategory": "https://schema.org/EUEnergyEfficiencyCategoryC",
    "energyEfficiencyScaleMin": "https://schema.org/EUEnergyEfficiencyCategoryF",
    "energyEfficiencyScaleMax": "https://schema.org/EUEnergyEfficiencyCategoryA1Plus"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://www.example.com/hotwaterheater",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/InStock",
    "price": 1799.00,
    "priceCurrency": "EUR"
  }
}

Modelo 3D

En este ejemplo se muestra cómo vincular un modelo 3D a un producto con la propiedad subjectOf y el tipo 3DModel.

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "sku": "1234-5678",
  "image": "https://www.example.com/sofa.jpg",
  "name": "Water heater",
  "description": "White 3-Seat Sofa",
  "gtin14": "12345678901231",
  "mpn": "S1234W3",
  "brand": {
    "@type": "Brand",
    "name": "ExampleSofaBrand"
  },
  "subjectOf": {
    "@type": "3DModel",
    "encoding": {
      "@type": "MediaObject",
      "contentUrl": "https://example.com/sofa.gltf"
    }
  },
  "offers": {
    "@type": "Offer",
    "url": "https://www.example.com/whitechaiselongue",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/InStock",
    "price": 1299.00,
    "priceCurrency": "USD"
  }
}

Directrices

Para que tu etiqueta Product sea apta para las experiencias de fichas de comerciantes, debes seguir estas directrices:

Directrices técnicas

  • Solo pueden aparecer en páginas en las que los usuarios pueden comprar un producto, no en páginas que incluyan enlaces a otros sitios en los que se vende. Google puede intentar verificar los datos de producto de las fichas de comerciantes antes de mostrar la información en los resultados de búsqueda.
  • Por el momento, los resultados enriquecidos de producto solo admiten páginas que se centran en un solo producto (o en distintas variantes de ese producto). Por ejemplo, "calzado de nuestra tienda" no es un producto concreto. Se incluyen las variantes de productos en las que cada variante del producto tenga una URL distinta. Por este motivo, te recomendamos que marques con datos estructurados páginas de productos concretos, y no páginas que incluyan listas o categorías de productos.
  • Para obtener más información sobre cómo marcar variantes de productos, consulta la documentación de datos estructurados de variantes de productos.
  • Si vendes productos en varias monedas, debes tener una URL distinta por cada moneda. Por ejemplo, si un producto está a la venta en dólares canadienses y estadounidenses, debes utilizar dos URLs distintas, una por cada moneda.
  • Por el momento, Car no se admite automáticamente como subtipo de Product. De momento, incluye los tipos Car y Product si quieres adjuntar valoraciones al contenido y que se pueda ver en la función de resultados de la Búsqueda. Por ejemplo, en JSON-LD:
    {
      "@context": "https://schema.org",
      "@type": ["Product", "Car"],
      ...
    }

Directrices de contenido

  • No permitimos el contenido que promocione productos, servicios o información que estén prohibidos o regulados de forma genérica, y que puedan causar daños graves, inmediatos o a largo plazo a las personas. Este contenido incluye todo lo relacionado con armas y armas de fuego, drogas recreativas, tabaco y cigarrillos electrónicos, y productos relacionados con juegos de azar y apuestas.

Definiciones de tipos de datos estructurados

Debes incluir las propiedades obligatorias para que tu contenido pueda mostrarse como un resultado enriquecido. Si quieres, puedes especificar también las propiedades recomendadas para añadir más información a tus datos estructurados, lo que quizá mejore la experiencia de los usuarios.

Información de productos

Product

La definición completa de Product está disponible en schema.org/Product. Cuando marques tu contenido para dar información sobre un producto, utiliza las siguientes propiedades de tipo Product:

Propiedades obligatorias
name

Text

Es el nombre del producto.

image

Valores ImageObject o URL repetidos

Indica la URL de la fotografía de un producto. Se prefieren imágenes que muestren claramente el producto (por ejemplo, que tengan el fondo blanco).

Directrices de imágenes adicionales:

  • Cada página debe contener al menos una imagen (con o sin etiquetas). Google elegirá la mejor imagen para mostrarla en los resultados de búsqueda teniendo en cuenta su relación de aspecto y su resolución.
  • Las URLs de imagen deben poder rastrearse e indexarse. Comprueba que Google pueda acceder a tus URLs mediante la herramienta de inspección de URLs.
  • Las imágenes deben ser representativas del contenido etiquetado.
  • Las imágenes deben estar en un formato de archivo compatible con Google Imágenes.
  • Para obtener los mejores resultados, recomendamos proporcionar varias imágenes de alta resolución (mínimo de 50.000 píxeles al multiplicar la anchura y la altura) con las siguientes relaciones de aspecto: 16x9, 4x3 y 1x1.

Por ejemplo:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
offers

Offer

Indica un valor Offer anidado para vender el producto.

Los fragmentos de productos aceptan una propiedad Offer o AggregateOffer, pero las fichas de comerciantes requieren la propiedad Offer, ya que el comerciante debe ser el vendedor del producto para poder optar a la experiencia de fichas de comerciantes.

Propiedades recomendadas
aggregateRating

AggregateRating

Un valor aggregateRating anidado del producto. Sigue las directrices de fragmentos de reseñas y la lista de propiedades de AggregateRating obligatorias y recomendadas.

audience

PeopleAudience

Información opcional sobre la audiencia propuesta para el producto, como el sexo y la edad sugeridos. Solo se admite el tipo PeopleAudience. Consulta la lista de propiedades PeopleAudience admitidas por Google.

brand.name

Text

Incluye la marca del producto en la propiedad name del tipo Brand (si se conoce). Incluye como máximo un nombre de marca.

color

Text

El color o la combinación de colores del producto (por ejemplo, "rojo" o "amarillo/azul celeste"). Consulta también el atributo Color en la Ayuda de Google Merchant Center.

description

Text

Proporciona la descripción del producto. Aunque la descripción del producto no es obligatoria, es muy recomendable que proporciones una descripción del producto en esta propiedad.

gtin | gtin8 | gtin12 | gtin13 | gtin14 | isbn

Text

Incluye todos los identificadores internacionales aplicables; que se describen en schema.org/Product. Aunque puedes usar la propiedad genérica gtin en todos los GTINs, te recomendamos que uses el GTIN más específico que se aplique a tu producto para que su representación sea más precisa. El valor de GTIN debe tener un formato numérico; no se admite el formato de URL.

La propiedad isbn solo es válida en Book. Para obtener unos resultados óptimos, usa el formato ISBN‐13. Para usar Book correctamente, inclúyelo junto con Product. De este modo, podrás utilizar propiedades de ambos tipos en el nodo. Ejemplo:

{
  "@context": "https://schema.org",
  "@type": ["Product", "Book"],
  ....
}
hasEnergyConsumptionDetails

EnergyConsumptionDetails

Información sobre el consumo de energía de productos como los electrodomésticos. Esta propiedad es especialmente importante en los países europeos. Consulta también la lista de propiedades EnergyConsumptionDetails admitidas por Google.

inProductGroupWithID

Text

El ID de un grupo de productos al que pertenece esta variante de producto. Consulta también Item Group Id en el Centro de Ayuda de Google Merchant Center. Solo puede especificarse un valor.

Para obtener más información sobre cómo añadir etiquetas de variantes de productos, consulta la documentación de datos estructurados de variantes de productos.
isVariantOf

ProductGroup

Grupo de productos al que pertenece esta variante de producto, si procede. Para obtener más información sobre cómo añadir etiquetas de variantes de productos, consulta la documentación de datos estructurados de variantes de productos.

material

Text

El material o la combinación de materiales del producto, como "Piel" o "algodón/poliéster". Consulta también Material en el Centro de Ayuda de Google Merchant Center.

mpn

Text

El número de pieza del fabricante. Esta propiedad identifica de forma exclusiva el producto de un fabricante determinado.

pattern

Text

El diseño del producto, como "lunares" o "rayas". Consulta también la propiedad Pattern en la página de especificación de datos de producto de Google Merchant Center.

review

Review

Un valor Review anidado del producto. Sigue las directrices de fragmentos de reseñas y la lista de propiedades de reseñas obligatorias y recomendadas. Consulta también la lista de propiedades Review adicionales específicas del tipo Product de schema.org.

Si añades una opinión sobre el producto, el nombre del autor de la reseña debe ser un nombre que pueda indicarse con Person o Team.

No recomendado: 50 % de descuento en el Black Friday

Recomendado: "Laura Torres" o "Reseñador de CNET"

size

Text o SizeSpecification

Talla del producto, como "XL" o "mediana". Consulta también size en la página de especificación de datos de producto de Google Merchant Center. Consulta la lista de propiedades SizeSpecification admitidas por Google. Solo puede especificarse un valor.

sku

Text

Identificador específico del comerciante del producto. Solo puede especificarse un valor.

  • El valor sku debe usar caracteres Unicode válidos para el intercambio.
  • El valor sku no puede incluir caracteres de espacio (tal como se define en la propiedad de espacio Unicode).
  • Recomendamos que el valor sku solo contenga caracteres ASCII.
subjectOf

3DModel

Un modelo 3D del producto, si procede. Consulta la lista de propiedades 3DModel admitidas por Google. Solo puede especificarse un valor 3DModel.

3DModel

Puedes consultar la definición completa de 3DModel en schema.org/3DModel.

Usa las siguientes propiedades para vincular un modelo 3D. Por el momento, solo se admiten modelos en formato glTF.

Propiedades obligatorias
encoding

MediaObject

Contenido multimedia del modelo 3D.

encoding.contentUrl

URL

Enlace a un archivo de definición de modelo 3D en formato glTF. El archivo debe tener un sufijo .gltf o .glb.

Detalles de ofertas

Offer

La definición completa de Offer está disponible en schema.org/Offer. Al marcar ofertas en un producto, utiliza las siguientes propiedades del tipo Offer de schema.org.

Propiedades obligatorias
price o priceSpecification.price

Number

Indica el precio de oferta de un producto. Sigue las directrices de uso de schema.org.

Este es un ejemplo de la propiedad price:

"offers": {
  "@type": "Offer",
  "price": 39.99,
  "priceCurrency": "USD"
}

A diferencia de los fragmentos de productos, las experiencias de fichas de comerciantes requieren un precio superior a cero.

Es obligatorio indicar el precio de la oferta, pero puede estar anidado en una propiedad priceSpecification en vez de proporcionarse a nivel de Offer.

priceCurrency o priceSpecification.priceCurrency

Text

Indica la moneda en la que está el precio de un producto, en formato de tres letras ISO 4217.

La propiedad priceCurrency es obligatoria si se especifica price. Por otro lado, priceSpecification.priceCurrency es obligatoria si se especifica priceSpecification.price.

priceSpecification

UnitPriceSpecification

Los precios complejos se pueden especificar con priceSpecification en lugar de usar la propiedad price. Consulta la lista de propiedades UnitPriceSpecification admitidas y la sección Ejemplos para ver ejemplos de cómo etiquetar distintos formatos de precios.

Se pueden especificar precios con price y priceCurrency, ya sea a nivel de Offer o en la propiedad priceSpecification.

Los precios con medidas de precio por unidad pueden especificar una propiedad referenceQuantity dentro de un objeto UnitPriceSpecification.

Propiedades recomendadas
availability

ItemAvailability

Indica las posibles opciones de disponibilidad del producto. También se admiten nombres cortos sin el prefijo de URL (por ejemplo, BackOrder).

  • https://schema.org/BackOrder: el artículo está pendiente de entrega.
  • https://schema.org/Discontinued: el artículo ha dejado de estar disponible.
  • https://schema.org/InStock: el artículo está en stock.
  • https://schema.org/InStoreOnly: el artículo solo se puede comprar en tienda.
  • https://schema.org/LimitedAvailability: el artículo tiene disponibilidad limitada.
  • https://schema.org/OnlineOnly: el artículo solo está disponible online.
  • https://schema.org/OutOfStock: el artículo está agotado actualmente.
  • https://schema.org/PreOrder: el artículo se puede reservar.
  • https://schema.org/PreSale: el artículo se puede pedir y entregar antes de la disponibilidad general.
  • https://schema.org/SoldOut: el artículo se ha agotado.

No indiques más de un valor.

hasMerchantReturnPolicy

MerchantReturnPolicy

Información anidada sobre las políticas de devoluciones asociadas a Offer. Si decides añadir hasMerchantReturnPolicy, añade las propiedades MerchantReturnPolicy obligatorias y recomendadas.

itemCondition

OfferItemCondition

Estado del artículo que está a la venta. También se admiten nombres cortos sin el prefijo de URL (por ejemplo, NewCondition).

  • https://schema.org/NewCondition: el artículo es nuevo.
  • https://schema.org/RefurbishedCondition: el artículo se ha reacondicionado.
  • https://schema.org/UsedCondition: el artículo se ha usado (no es nuevo).

No indiques más de un valor.

shippingDetails

OfferShippingDetails

Incluye información anidada sobre las políticas y las opciones de envío asociadas con un objeto Offer. Si decides añadir shippingDetails, añade las propiedades OfferShippingDetails obligatorias y recomendadas.

url

URL

Indica la URL de la página web del producto en la que los compradores pueden comprarlo. Puede ser la URL preferida de la página del producto en cuestión con todas las opciones de variante seleccionadas como corresponda. La URL se puede omitir. No incluyas varias URLs.

Para obtener más información sobre cómo añadir etiquetas de variantes de productos, consulta la documentación de datos estructurados de variantes de productos.

UnitPriceSpecification

Puedes consultar la definición completa de UnitPriceSpecification en schema.org/UnitPriceSpecification. Usa las siguientes propiedades para indicar esquemas de precios más complejos.

Propiedades obligatorias
price

Number

Indica el precio de oferta de un producto. Consulta también la propiedad price de Offer.

priceCurrency

Text

Indica la moneda en la que está el precio de un producto, en formato de tres letras ISO 4217. Consulta también la propiedad priceCurrency de Offer.

Propiedades recomendadas
referenceQuantity

QuantitativeValue (para precios por unidad)

La cantidad de referencia se utiliza para los precios en los que se especifica un valor de referencia de precio. Consulta también los ejemplos de Precios con medidas de precio por unidad y Medida de precio por unidad del Centro de Ayuda de Google Merchant Center para obtener información más detallada sobre los precios por unidad.

QuantitativeValue (para precios por unidad)

En esta sección se explica cómo utilizar QuantitativeValue en la propiedad referenceQuantity de una especificación de precio por unidad. (QuantitativeValue también se usa para indicar plazos de envío, pero con otras reglas). Puedes consultar la definición completa de QuantitativeValue en schema.org/QuantitativeValue.

QuantitativeValue se puede utilizar con precios que se basan en una medida de unidad, como la compra de materiales de suelo por metro cuadrado o de líquidos por litro. Consulta información detallada sobre los precios por unidad en el artículo Medida de precio por unidad del Centro de Ayuda de Google Merchant Center.

A continuación, se muestra un ejemplo de precio de venta por 4,5 l de un producto que se puede comprar en múltiplos de 750 ml.

"priceSpecification": {
  "@type": "UnitPriceSpecification",
  "price": 81.00,
  "priceCurrency": "EUR",
  "referenceQuantity": {
    "@type": "QuantitativeValue",
    "value": "4.5",
    "unitCode": "LTR",
    "valueReference": {
      "@type": "QuantitativeValue",
      "value": "750",
      "unitCode": "MLT"
    }
  }
}

Utiliza las siguientes propiedades para especificar detalles de precios por unidad.

Propiedades obligatorias
unitCode

Text o URL

Indica la unidad de medida. Se admiten los códigos CEFACT/ONU o sus equivalentes legibles tal y como se indican en el artículo Medida de precio por unidad del Centro de Ayuda de Google Merchant Center.

value

Text

Es el valor numérico de la unidad vendida.

Propiedades recomendadas
valueReference

QuantitativeValue

El valor de QuantitativeValue de la propiedad referenceQuantity de UnitPriceSpecification debe incluir un elemento QuantitativeValue anidado en esta propiedad valueReference.

SizeSpecification

El tipo SizeSpecification sirve para indicar la talla de un producto. Puedes consultar la definición completa de este tipo en schema.org/SizeSpecification.

Propiedades recomendadas
name

Text

Es un nombre legible del tamaño, como "XL". Consulta el atributo de tamaño en la Ayuda de Google Merchant Center para obtener más información.

sizeGroup

WearableSizeGroupEnumeration o Text

El grupo de tallas recomendado para el producto, si procede. La interpretación del grupo viene definida por la propiedad sizeGroup. Se pueden proporcionar dos grupos de tamaños como máximo. Los valores posibles son:

  • https://schema.org/WearableSizeGroupRegular: el artículo es de talla mediana.
  • https://schema.org/WearableSizeGroupPetite: el artículo es de talla pequeña.
  • https://schema.org/WearableSizeGroupPlus: el artículo es de talla grande.
  • https://schema.org/WearableSizeGroupTall: el artículo es de talla alta.
  • https://schema.org/WearableSizeGroupBig: el artículo es de talla grande.
  • https://schema.org/WearableSizeGroupMaternity: el artículo es de talla premamá.

También se admiten nombres cortos sin el prefijo de URL (por ejemplo, WearableSizeGroupRegular).

Consulta también size_type y el artículo Atributos y valores de datos estructurados admitidos en el Centro de Ayuda de Google Merchant Center para obtener más información sobre los sistemas de tallas admitidos. Google también puede interpretar los valores de texto de size_type (regular, petite, plus, tall, big y maternity), pero puede que otros buscadores no lo hagan, por lo que se recomienda usar los valores de enumeración estándar de schema.org.

sizeSystem

WearableSizeSystemEnumeration o Text

El sistema de tallas para el producto, si procede. Los valores posibles son:

  • https://schema.org/WearableSizeSystemAU: sistema de tallas de Australia.
  • https://schema.org/WearableSizeSystemBR: sistema de tallas de Brasil.
  • https://schema.org/WearableSizeSystemCN: sistema de tallas de China.
  • https://schema.org/WearableSizeSystemDE: sistema de tallas de Alemania.
  • https://schema.org/WearableSizeSystemEurope: sistema de tallas de Europa.
  • https://schema.org/WearableSizeSystemFR: sistema de tallas de Francia.
  • https://schema.org/WearableSizeSystemIT: sistema de tallas de Italia.
  • https://schema.org/WearableSizeSystemJP: sistema de tallas de Japón.
  • https://schema.org/WearableSizeSystemMX: sistema de tallas de México.
  • https://schema.org/WearableSizeSystemUK: sistema de tallas del Reino Unido.
  • https://schema.org/WearableSizeSystemUS: sistema de tallas de Estados Unidos.

También se admiten nombres cortos sin el prefijo de URL (por ejemplo, WearableSizeSystemAU).

Consulta también size_system en el Centro de Ayuda de Google Merchant Center. Google también puede interpretar los valores de texto de size_system (por ejemplo, UR, BR, CN, DE y EU), pero puede que otros buscadores no lo hagan, por lo que se recomienda usar los valores de enumeración estándar de schema.org.

PeopleAudience

Puedes consultar la definición completa de PeopleAudience en schema.org/PeopleAudience.

Cuando indiques la audiencia recomendada de un producto, usa las siguientes propiedades. Consulta también los atributos y valores de datos estructurados admitidos en la Ayuda de Google Merchant Center.

Propiedades recomendadas
suggestedGender

Text o GenderType

Sexo recomendado para el producto. Debe tener uno de los siguientes valores:

  • https://schema.org/Male
  • https://schema.org/Female
  • Unisex: este valor (no distingue entre mayúsculas y minúsculas) no está en el estándar schema.org y no debe tener un prefijo https://schema.org/.

Consulta Gender en el Centro de Ayuda de Google Merchant Center para obtener más información.

Ten en cuenta que Google completará los valores GenderType sin el prefijo schema.org, por lo que también se aceptan valores male y female sin procesar.

suggestedMaxAge (o suggestedAge.maxValue)

Number

Edad máxima sugerida del producto, en años. Google asigna las edades máximas sugeridas para los productos al siguiente conjunto fijo de valores numéricos:

  • 0.25: para recién nacidos
  • 1.0: para niños de 3 a 12 meses
  • 5.0: para niños de 1 a 3 años
  • 13.0: para niños de 5 a 13 años
suggestedMinAge (o suggestedAge.minValue)

Number

Edad mínima sugerida del producto, en años. Google asigna las edades mínimas sugeridas para los productos al siguiente conjunto fijo de valores numéricos:

  • 0: para recién nacidos
  • 0.25: para niños de 3 a 12 meses
  • 1.0: para niños de 1 a 3 años
  • 5.0: para niños de 5 a 13 años
  • 13.0: para adultos

EnergyConsumptionDetails

Puedes consultar la definición completa de EnergyConsumptionDetails en schema.org/EnergyConsumptionDetails.

Utiliza las siguientes propiedades para indicar el consumo de energía de un producto, como los productos eléctricos. Por ahora, solo se admiten los niveles de eficiencia energética de la UE.

Propiedades obligatorias
hasEnergyEfficiencyCategory

EUEnergyEfficiencyEnumeration

Categoría de eficiencia energética del producto. Por ahora, solo se admiten los niveles de eficiencia energética de la UE:

  • https://schema.org/EUEnergyEfficiencyCategoryA3Plus: nivel A+++ de eficiencia energética de la UE.
  • https://schema.org/EUEnergyEfficiencyCategoryA2Plus: nivel A++ de eficiencia energética de la UE.
  • https://schema.org/EUEnergyEfficiencyCategoryA1Plus: nivel A+ de eficiencia energética de la UE.
  • https://schema.org/EUEnergyEfficiencyCategoryA: nivel A de eficiencia energética de la UE.
  • https://schema.org/EUEnergyEfficiencyCategoryB: nivel B de eficiencia energética de la UE.
  • https://schema.org/EUEnergyEfficiencyCategoryC: nivel C de eficiencia energética de la UE.
  • https://schema.org/EUEnergyEfficiencyCategoryD: nivel D de eficiencia energética de la UE.
  • https://schema.org/EUEnergyEfficiencyCategoryE: nivel E de eficiencia energética de la UE.
  • https://schema.org/EUEnergyEfficiencyCategoryF: nivel F de eficiencia energética de la UE.
  • https://schema.org/EUEnergyEfficiencyCategoryG: nivel G de eficiencia energética de la UE.

También se admiten nombres cortos sin el prefijo de URL (por ejemplo, EUEnergyEfficiencyCategoryA).

Propiedades recomendadas
energyEfficiencyScaleMin y energyEfficiencyScaleMax

EUEnergyEfficiencyEnumeration

El nivel de eficiencia energética mínimo y máximo de la escala de consumo energético regulada por la UE correspondiente a la categoría a la que pertenece un producto.

Consulta hasEnergyEfficiencyCategory para ver una lista de los valores admitidos.

La propiedad energyEfficiencyScaleMin indica el nivel menos eficiente en la escala de consumo energético, mientras que energyEfficiencyScaleMax indica el nivel más eficiente. Por ejemplo, con un producto que tenga un nivel de eficiencia energética "C" en una escala de "A+++" a "D", usa este código:

{
  "@type": "EnergyConsumptionDetails",
  "hasEnergyEfficiencyCategory":  "https://schema.org/EUEnergyEfficiencyCategoryC",
  "energyEfficiencyScaleMin": "https://schema.org/EUEnergyEfficiencyCategoryD",
  "energyEfficiencyScaleMax": "https://schema.org/EUEnergyEfficiencyCategoryA3Plus"
}

Si no se proporciona energyEfficiencyScaleMin, se supone que tiene el valor https://schema.org/EUEnergyEfficiencyCategoryG. Si no se proporciona energyEfficiencyScaleMax, se supone que tiene el valor https://schema.org/EUEnergyEfficiencyCategoryA3Plus.

Envío

OfferShippingDetails

OfferShippingDetails permite a los clientes saber los gastos de envío y los plazos de entrega estimados en función de su ubicación y de las políticas de envío de tu empresa. Para que tus productos puedan optar a la mejora de datos de envío, añade las siguientes propiedades de OfferShippingDetails a tus páginas de producto, además de los datos estructurados Product.

A veces, los comercios ofrecen a los usuarios distintas opciones para enviar el producto a su destino (por ejemplo, envío exprés al día siguiente, envío rápido en dos días o envío estándar). Puedes configurar cada una de estas opciones si incluyes varias propiedades shippingDetails, cada una con diferentes combinaciones de las propiedades shippingRate y deliveryTime.

Aunque OfferShippingDetails no es obligatorio, debes especificar las siguientes propiedades si quieres que tus datos de envío se puedan aplicar a la mejora de detalles de envío.

Puedes consultar la definición completa de OfferShippingDetails en schema.org/OfferShippingDetails.

Propiedades obligatorias
deliveryTime

ShippingDeliveryTime

El tiempo total que transcurre entre la recepción del pedido y la entrega del producto al cliente final. Las siguientes propiedades se pueden anidar en la propiedad deliveryTime:

  • handlingTime
  • transitTime

No indiques más de un elemento deliveryTime. Consulta también la lista de propiedades ShippingDeliveryTime admitidas por Google.

shippingDestination

DefinedRegion

Indica destinos de envío. Especifica la información de shippingDestination.addressCountry. Consulta también la lista de propiedades DefinedRegion admitidas por Google.

shippingRate

MonetaryAmount

Información sobre los gastos de envío al destino correspondiente. Se debe especificar al menos shippingRate.value o shippingRate.maxValue, junto con shippingRate.currency.

Solo puedes incluir un valor shippingRate por cada propiedad OfferShippingDetails. Si quieres indicar diversas tarifas en un producto, incluye varias propiedades OfferShippingDetail.

shippingRate.currency

Text

Indica la moneda de los gastos de envío en formato ISO 4217 de tres letras. La moneda debe ser la misma que la de la oferta.

shippingRate.value o shippingRate.maxValue

Number

Indica el coste del envío al shippingDestination. Si proporcionas el valor mediante una cadena, no incluyas símbolos de moneda, separadores de millares ni espacios.

Para indicar que es un envío gratuito, asígnale el valor 0.

DefinedRegion

DefinedRegion se usa para crear zonas personalizadas, de forma que se puedan determinar los gastos de envío y los tiempos de transporte precisos con varios servicios de envío. De momento, esta función solo está disponible en un conjunto restringido de países, como se indica en el artículo Configurar regiones del Centro de Ayuda de Google Merchant Center.

Propiedades obligatorias
addressCountry

Text

Indica el código de país de 2 letras en formato ISO 3166-1 alfa-2.

Propiedades recomendadas
Elige addressRegion o postalCode

Identifica la región de la zona de reparto del cliente. Si se omite, la región definida será todo el país. Se pueden incluir varias regiones, pero no se pueden combinar formas diferentes de especificar las regiones en una misma instancia de DefinedRegion.

addressRegion

Text

Si incluyes esta propiedad, la región debe ser un código de subdivisión ISO 3166-2 de dos o tres dígitos, sin el prefijo de país. Por ahora, la Búsqueda de Google solo admite Australia, Estados Unidos y Japón. Ejemplos: "NY" (para el estado de Nueva York en EE. UU.), "NSW" (para el estado de Nueva Gales del Sur en Australia) o "03" (para la prefectura de Iwate en Japón).

No incluyas tanto información de la región como del código postal.

postalCode

Text

Indica el código postal. Por ejemplo, 94043. Por el momento, los códigos postales solo están disponibles en Australia, Canadá y Estados Unidos.

ShippingDeliveryTime

ShippingDeliveryTime se usa para indicar el tiempo total que transcurre entre la recepción de un pedido y la entrega del producto al cliente final.

Propiedades recomendadas
handlingTime

QuantitativeValue (para plazos de envío)

El tiempo que suele transcurrir entre la recepción del pedido y el momento en que los productos salen del almacén.

transitTime

QuantitativeValue (para plazos de envío)

El tiempo que suele transcurrir entre el momento en que se envía el pedido y la entrega del producto al cliente final.

QuantitativeValue (para plazos de envío)

En este caso, QuantitativeValue se utiliza para representar los plazos de envío. Debes indicar el número mínimo y máximo de días. (QuantitativeValue también se usa para indicar precios por unidad, pero con diferentes reglas de validación de propiedades).

Propiedades obligatorias
maxValue

Number

El número máximo de días. El valor debe ser un número entero no negativo.

minValue

Number

El número mínimo de días. El valor debe ser un número entero no negativo.

unitCode

Text

Unidades de los valores mínimo y máximo. El valor debe ser DAY o d.

Devoluciones

MerchantReturnPolicy

Utiliza las siguientes propiedades para que tu ficha de comerciante pueda mostrar información de la política de devoluciones, incluidas las tarifas de devolución y el plazo para devolver un producto.

Propiedades obligatorias
applicableCountry

Text

El código de país al que se aplica la política de devoluciones, utilizando el formato de código de país de 2 letras ISO 3166-1 alpha-2. Puedes especificar hasta 50 países.

returnPolicyCategory

MerchantReturnEnumeration

El tipo de política de devoluciones. Se debe usar uno de los valores indicados a continuación:

  • https://schema.org/MerchantReturnFiniteReturnWindow: hay un número determinado de días para devolver el producto.
  • https://schema.org/MerchantReturnNotPermitted: no se admiten devoluciones.
  • https://schema.org/MerchantReturnUnlimitedWindow: el plazo para devolver el producto es ilimitado.

Si usas MerchantReturnFiniteReturnWindow, la propiedad merchantReturnDays es obligatoria.

Propiedades recomendadas
merchantReturnDays

Integer

El número de días a partir de la fecha de entrega en que se puede devolver un producto. Esta propiedad solo es obligatoria si se asigna el valor MerchantReturnFiniteReturnWindow a returnPolicyCategory.

returnFees

ReturnFeesEnumeration

El tipo de tarifas de devolución. Utiliza uno de los siguientes valores admitidos:

  • https://schema.org/FreeReturn: no se cobra al consumidor por devolver el producto. Si se usa, no incluyas la propiedad returnShippingFeesAmount.
  • https://schema.org/ReturnFeesCustomerResponsibility: el consumidor debe gestionar y pagar el envío de devolución. Si se utiliza, no incluyas la propiedad returnShippingFeesAmount.
  • https://schema.org/ReturnShippingFees: el comerciante aplica unos gastos de envío al consumidor por devolver el producto. Especifica los gastos de envío (distintos de cero) mediante la propiedad returnShippingFeesAmount.
returnMethod

ReturnMethodEnumeration

El tipo de método de devolución que se ofrece. Solo se recomienda si asignas el valor MerchantReturnFiniteReturnWindow o MerchantReturnUnlimitedWindow a returnPolicyCategory. Usa uno o varios de los siguientes valores:

  • https://schema.org/ReturnAtKiosk: el artículo se puede devolver en un quiosco.
  • https://schema.org/ReturnByMail: el artículo se puede devolver por correo postal.
  • https://schema.org/ReturnInStore: el artículo se puede devolver en tienda.
returnShippingFeesAmount

MonetaryAmount

Los gastos de envío de la devolución de un producto. Esta propiedad solo es obligatoria si los consumidores tienen que pagar una tarifa de envío distinta de cero al comerciante para devolver un producto, en cuyo caso returnFees debe definirse como https://schema.org/ReturnShippingFees). Si la devolución es gratuita, el valor de returnFees debe ser https://schema.org/FreeReturn. Si el consumidor necesita gestionar y pagar los gastos de envío de la devolución, el valor de returnFees debe ser https://schema.org/ReturnFeesCustomerResponsibility.

Método alternativo para configurar opciones de envío y devolución con Google

Las políticas de envío de los comercios pueden ser complejas y cambiar con frecuencia. Si te resulta complicado proporcionar y mantener actualizados tus datos de envío y devolución mediante etiquetas y tienes una cuenta de Google Merchant Center, puedes configurar las políticas de devoluciones y las opciones de envío en el Centro de Ayuda de Google Merchant Center.

Monitorizar resultados enriquecidos con Search Console

Search Console es una herramienta que te ayuda a monitorizar el rendimiento de tus páginas en la Búsqueda de Google. No hace falta que te registres en Search Console para que tu sitio web aparezca en los resultados de la Búsqueda de Google, pero, si lo haces, sabrás cómo lo ve Google y qué puedes hacer para mejorarlo. Te recomendamos que consultes Search Console en los siguientes casos:

  1. Después de implementar datos estructurados por primera vez
  2. Después de publicar plantillas nuevas o modificar el código
  3. Al hacer el análisis periódico del tráfico

Después de implementar datos estructurados por primera vez

Una vez que Google haya indexado tus páginas, puedes comprobar si hay algún problema en el informe de estado de resultados enriquecidos correspondiente. Lo ideal es que haya un aumento en el número de elementos válidos y que no lo haya en el número de elementos no válidos. Si detectas problemas en tus datos estructurados, haz lo siguiente:

  1. Corrige los elementos no válidos.
  2. Inspecciona la URL en tiempo real para ver si el problema continúa.
  3. Solicita que se valide la corrección desde el informe de estado.

Después de publicar plantillas nuevas o modificar el código

Cuando hagas cambios significativos en tu sitio web, observa si se incrementa la cantidad de elementos no válidos de datos estructurados.
  • Si notas que hay más elementos no válidos, quizá sea porque has implementado una plantilla que no funciona, o puede que tu sitio esté interactuando con la plantilla que utilizas de un modo diferente que no es adecuado.
  • Si notas que hay menos elementos válidos, pero no hay un incremento de elementos no válidos, es posible que hayas dejado de insertar datos estructurados en tus páginas. Para saber cuál es la causa del problema, utiliza la herramienta de inspección de URLs.

Al hacer el análisis periódico del tráfico

Consulta el informe de rendimiento para analizar el tráfico de tus páginas en la Búsqueda de Google. En él, verás con qué frecuencia aparece tu página como resultado enriquecido en la Búsqueda, cada cuánto hacen clic en ella los usuarios y cuál es la posición media que ocupa tu sitio web en los resultados de búsqueda. También puedes obtener automáticamente estos resultados con la API de Search Console.

Hay dos informes de Search Console relacionados con los datos estructurados de Product:

Ambos informes incluyen advertencias y errores relacionados con los datos estructurados de Product, pero son independientes debido a los distintos requisitos que deben cumplir las experiencias asociadas. Por ejemplo, el informe de fichas de comerciantes incluye comprobaciones de los fragmentos de productos que incluyen datos estructurados Offer, de modo que solo hace falta consultar el informe de fragmentos de productos en páginas de fichas que no sean de comerciantes.

Solucionar problemas

Si tienes problemas para implementar o depurar datos estructurados, a continuación se incluyen algunos recursos que pueden serte útiles.