Product

Marca las páginas de tus productos para que Google pueda ofrecer información detallada de esos productos en los resultados de búsqueda enriquecidos, incluso en Google Imágenes. Los usuarios pueden ver el precio, la disponibilidad y las puntuaciones de reseñas directamente en los resultados de búsqueda.

Si utilizas etiquetas para habilitar resultados enriquecidos de productos, podrás atraer compradores potenciales cuando buscan artículos para comprar con Google o imágenes de productos que vendes. Ten actualizada la información de los productos para que tus clientes encuentren los artículos que les interesen en cada momento.

En esta página se explica cómo etiquetar la información de tu producto para que Google pueda mostrar resultados enriquecidos en la Búsqueda. Con las etiquetas Product, también aparece una insignia en los resultados de Google Imágenes de tus productos, lo que puede alentar a más usuarios a hacer clic en tu contenido.

Imagen de un resultado enriquecido y de un resultado de Google Imágenes con información del producto

Estas etiquetas se suelen utilizar en dos tipos de páginas:

  • Páginas de producto que describen un solo producto
  • Páginas con agregadores de compras que incluyen un solo producto e información sobre diferentes vendedores que lo ofrecen

En función de cómo marques tu contenido, es posible que tus productos puedan optar a las siguientes mejoras:

Mejoras de producto

Datos de envío: ayuda a los clientes a 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. Los datos de envío pueden aparecer en las pestañas Información general y Tiendas de un resultado de producto concreto. Esta mejora solo está disponible en Estados Unidos, en inglés y en dispositivos móviles.

Para poder optar a esta mejora, añade datos estructurados de OfferShippingDetails. Para ver más ejemplos sobre cómo indicar envíos gratuitos, varios servicios de envío y las regiones a las que no envías tus productos, consulta las prácticas recomendadas sobre datos de envíos.

Datos de envíos en los resultados de búsqueda

Bajada de precio: ayuda a los usuarios a saber cuál es el precio más bajo de tu producto. A partir de la media del historial de precios de tu producto, Google calcula automáticamente la bajada de precio. Esta función está disponible en inglés en EE. UU., tanto para ordenadores como para dispositivos móviles.

Para poder aprovechar esta función, añade Offer a los datos estructurados de Product. El valor de price debe ser un precio concreto, no un intervalo (por ejemplo, no es válido indicar "De 50,99 $ a 99,99 $").

Bajadas de precio en los resultados de búsqueda

Cómo agregar datos estructurados

Los datos estructurados son un formato estandarizado para proporcionar información sobre una página y clasificar su contenido. Si aún no estás familiarizado con los datos estructurados, obtén más información sobre cómo funcionan.

A continuación, presentamos una descripción general de cómo compilar, probar y actualizar datos estructurados. Si quieres obtener una guía paso a paso para agregar datos estructurados a una página web, consulta el codelab de datos estructurados.

  1. Agrega las propiedades obligatorias. Según el formato que uses, obtén información sobre dónde insertar datos estructurados en la página.
  2. Sigue los lineamientos.
  3. Valida tu código con la Prueba de resultados enriquecidos.
  4. Implementa algunas páginas que incluyan tus datos estructurados y utiliza la Herramienta de inspección de URL para probar el modo en el que Google ve la página. Asegúrate de que Google pueda acceder a la página y que no esté bloqueada por un archivo robots.txt, una etiqueta noindex ni requisitos de acceso. Si la página se ve bien, puedes pedirle a Google que vuelva a rastrear tus URL.
  5. Para mantener informado a Google sobre los cambios futuros, te recomendamos que envíes un mapa del sitio. Puedes automatizar este proceso con la API del mapa del sitio de Search Console.

Probarlo

Páginas con un solo producto

Este es un ejemplo de una página con un solo 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": "2020-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="2020-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="2020-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>

Un solo producto con datos de envío

Este es un ejemplo de una página con un solo producto que incluye datos de envío. En este caso, los gastos de envío serán de $3.49 para todos los usuarios que vivan en direcciones cuyo código postal esté entre el 98100 y el 98199. Para ver más ejemplos, consulta las prácticas recomendadas sobre datos de 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": "http://www.example.com/trinket_offer",
        "itemCondition": "https://schema.org/NewCondition",
        "availability": "https://schema.org/InStock",
        "price": "39.99",
        "priceCurrency": "USD",
        "priceValidUntil": "2020-11-20",
        "shippingDetails": {
          "@type": "OfferShippingDetails",
          "shippingRate": {
            "@type": "MonetaryAmount",
            "value": "3.49",
            "currency": "USD"
          },
          "shippingDestination": {
            "@type": "DefinedRegion",
            "addressCountry": "US",
            "postalCodeRange": {
              "postalCodeBegin": "98100",
              "postalCodeEnd": "98199"
            }
          },
          "deliveryTime": {
            "@type": "ShippingDeliveryTime",
            "handlingTime": {
              "@type": "QuantitativeValue",
              "minValue": "0",
              "maxValue": "1"
            },
            "transitTime": {
              "@type": "QuantitativeValue",
              "minValue": "1",
              "maxValue": "5"
            },
            "cutOffTime": "19:30-08:00",
            "businessDays": {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": [ "https://schema.org/Monday", "https://schema.org/Tuesday", "https://schema.org/Wednesday", "https://schema.org/Thursday" ]
            }
          }
        }
      },
      "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="2020-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 rel="schema:postalCodeRange">
                    <div typeof="schema:PostalCodeRangeSpecification">
                      <div property="schema:postalCodeBegin" content="98100"></div>
                      <div property="schema:postalCodeEnd" content="98199"></div>
                    </div>
                  </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>
                  </div>
                  <div rel="schema:transitTime">
                    <div typeof="schema:QuantitativeValue">
                      <div property="schema:minValue" content="1"></div>
                      <div property="schema:maxValue" content="5"></div>
                    </div>
                  </div>
                  <div property="schema:cutOffTime" content="19:30-08:00"></div>
                  <div rel="schema:businessDays">
                    <div typeof="schema:OpeningHoursSpecification">
                      <div property="schema:dayOfWeek" content="https://schema.org/Monday"></div>
                      <div property="schema:dayOfWeek" content="https://schema.org/Tuesday"></div>
                      <div property="schema:dayOfWeek" content="https://schema.org/Wednesday"></div>
                      <div property="schema:dayOfWeek" content="https://schema.org/Thursday"></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="http://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="2020-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 itemprop="postalCodeRange" itemtype="https://schema.org/PostalCodeRangeSpecification" itemscope>
              <meta itemprop="postalCodeBegin" content="98100" />
              <meta itemprop="postalCodeEnd" content="98199" />
            </div>
          </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" />
            </div>
            <div itemprop="transitTime" itemtype="https://schema.org/QuantitativeValue" itemscope>
              <meta itemprop="minValue" content="1" />
              <meta itemprop="maxValue" content="5" />
            </div>
            <meta itemprop="cutOffTime" content="19:30-08:00" />
            <div itemprop="businessDays" itemtype="https://schema.org/OpeningHoursSpecification" itemscope>
              <meta itemprop="dayOfWeek" content="https://schema.org/Monday" />
              <meta itemprop="dayOfWeek" content="https://schema.org/Tuesday" />
              <meta itemprop="dayOfWeek" content="https://schema.org/Wednesday" />
              <meta itemprop="dayOfWeek" content="https://schema.org/Thursday" />
            </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>

Páginas con agregadores de compras

Este es un ejemplo de una página con agregador de compras.

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": "AggregateOffer",
          "offerCount": "5",
          "lowPrice": "119.99",
          "highPrice": "199.99",
          "priceCurrency": "USD"
        }
      }
    </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: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: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:offers">
        <div typeof="schema:AggregateOffer">
          <div property="schema:offerCount" content="5"></div>
          <div property="schema:lowPrice" content="119.99"></div>
          <div property="schema:highPrice" content="199.99"></div>
          <div property="schema:priceCurrency" content="USD"></div>
          <div rel="schema:url" resource="https://example.com/anvil"></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/AggregateOffer" itemscope>
        <meta itemprop="lowPrice" content="119.99" />
        <meta itemprop="highPrice" content="199.99" />
        <meta itemprop="offerCount" content="6" />
        <meta itemprop="priceCurrency" content="USD" />
      </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>

Directrices

Los resultados enriquecidos de productos proporcionan a los usuarios información sobre un producto específico, como su precio, disponibilidad y puntuaciones de los reseñadores. Al usar etiquetas Product, ten en cuenta las siguientes directrices:

  • Marca con datos estructurados productos concretos, no categorías o listas de productos. Por ejemplo, "calzado de nuestra tienda" no es un producto concreto. De momento, en los resultados enriquecidos de productos solo se admiten páginas centradas en un solo producto. 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.
  • No se admiten productos relacionados con contenido para adultos.
  • Si añades una opinión sobre el producto, el nombre del reseñador debe ser un nombre que pueda indicarse con Person o Team.

    No se recomienda: 50 % de descuento en el Black Friday

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

Para incluir información de producto en Google Imágenes, debes añadir propiedades adicionales:

  • Para mostrar la información de tu producto en el visor de imágenes enriquecidas: incluye las propiedades name, image, price y priceCurrency.
  • Para mostrar la información de tu producto en la función Artículos relacionados: incluye las propiedades name, image, price, priceCurrency y availability.

Prácticas recomendadas sobre datos de envío

Indicar que el envío es gratuito

Si ofreces envío gratuito con determinados productos, asigna el valor cero a shippingRate para todas las regiones a las que envíes esos productos. Por ejemplo, si ofreces envío gratuito en el estado de Nueva York, puedes implementar lo siguiente en los productos que se envíen a ese destino:

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

Indicar regiones a las que no haces envíos

Para indicar las regiones a las que no envías tus productos, añade la propiedad doesNotShip, que sustituye al resto de las opciones de envío. Por ejemplo, si envías productos a Estados Unidos, pero no a Alaska ni a Hawái, puedes implementar lo siguiente en los productos que no envías a esos estados:

"shippingDetails": {
  "@type": "OfferShippingDetails",
  "doesNotShip": true,
  "shippingDestination": {
    "@type": "DefinedRegion",
    "addressCountry": "US",
    "addressRegion": ["AK", "HI"]
  }
}

Indicar varios servicios de envío en una misma región

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.

Si tienes configuradas varias propiedades shippingRate en el mismo destino de envío, Google mostrará los datos de la opción de envío más barata.

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 proporcionar más información sobre tu contenido y, así, ofrecer una mejor experiencia a los usuarios.

Product

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

Propiedades obligatorias
name

Text

Es el nombre del producto.

review, aggregateRating o offers

Debes incluir una de las siguientes propiedades:

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.

brand

Brand o Organization

Indica la marca de un producto.

description

Text

Proporciona la descripción 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 lograr los mejores resultados, incluye varias imágenes de alta resolución (mínimo de 50.000 píxeles al multiplicar la anchura por la altura) cuya relación de aspecto sea 16x9, 4x3 o 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 o AggregateOffer

Indica valores Offer o AggregateOffer anidados para vender el producto. Añade las propiedades obligatorias y recomendadas de Offer o deAggregateOffer, según lo que corresponda a tu contenido.

Para poder aprovechar la aparición de bajadas de precio, añade Offer, no AggregateOffer.

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.

gtin | gtin8 | gtin13 | gtin14 | mpn | isbn

Text

Incluye todos los identificadores internacionales aplicables; que se describen en schema.org/Product.

sku

Text

Indica el identificador del vendedor de un producto.

Offer

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

Propiedades obligatorias
price

Number

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

Propiedades recomendadas
availability

ItemAvailability

Indica las posibles opciones de disponibilidad del producto. Elige uno de los valores que se muestran a continuación e inclúyelo en las etiquetas con la URL completa, aunque Google también puede interpretar los nombres cortos (por ejemplo, InStock o OutOfStock).

  • https://schema.org/BackOrder
  • https://schema.org/Discontinued
  • https://schema.org/InStock
  • https://schema.org/InStoreOnly
  • https://schema.org/LimitedAvailability
  • https://schema.org/OnlineOnly
  • https://schema.org/OutOfStock
  • https://schema.org/PreOrder
  • https://schema.org/PreSale
  • https://schema.org/SoldOut
itemOffered

Thing

Indica el artículo que se vende. Normalmente, incluye un producto anidado, pero también puede contener otros tipos de elemento o cualquier texto.

priceCurrency

Text

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

priceValidUntil

Date

Indica la fecha (en formato de fecha ISO 8601) tras la cual el precio dejará de estar disponible. Es posible que el fragmento de tu producto no se muestre si la propiedad priceValidUntil indica una fecha pasada.

shippingDetails

OfferShippingDetails

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

url

URL

Indica una URL que dirige a la página web del producto (que incluye Offer).

OfferShippingDetails

Con OfferShippingDetails, puedes proporcionar a los clientes información sobre 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. Si bien incluir OfferShippingDetails no es obligatorio, debes añadir las siguientes propiedades si quieres que tus datos de envío puedan mostrarse en la mejora de datos de envío.

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

Propiedades obligatorias
shippingDestination

DefinedRegion

Indica destinos de envío. Especifica el shippingDestination.addressCountry. Si procede, introduce shippingDestination.addressRegion o bien información sobre el código postal.

shippingDestination.addressCountry

Text

El código de país de dos dígitos, en formato ISO 3166-1.

Propiedades recomendadas
deliveryTime

ShippingDeliveryTime

El tiempo total que transcurre entre la recepción del pedido y la entrega del producto al cliente final. Debes incluir las siguientes propiedades anidadas:

deliveryTime.businessDays

OpeningHoursSpecification

Los días en que se tramitan los pedidos. Indica los días concretos con la propiedad deliveryTime.businessDays.dayOfWeek.

deliveryTime.businessDays.dayOfWeek

DayOfWeek

El nombre de los días en que se tramitan los pedidos. Si se reciben pedidos en días no laborables, empiezan a tramitarse el siguiente día laborable. Los días no laborables que haya entre medias se añaden al tiempo de preparación.

Puede ser uno de estos valores:

deliveryTime.cutOffTime

Time

La hora a partir de la cual dejan de tramitarse pedidos nuevos recibidos el mismo día, en formato ISO 8601. En este caso, se añade un día al tiempo de preparación.

deliveryTime.handlingTime

QuantitativeValue

El tiempo que suele transcurrir entre la recepción del pedido y el momento en que los productos salen del almacén o están preparados para recogerse, en el caso de que la opción de entrega sea esta última. Incluye las propiedades deliveryTime.handlingTime.minValue y deliveryTime.handlingTime.maxValue.

deliveryTime.handlingTime.minValue

Number

El número mínimo de días que pasan entre se recibe un pedido y los productos salen del almacén o están preparados para recogerse, en el caso de que la opción de entrega sea esta última.

El valor debe ser un número entero no negativo.

deliveryTime.handlingTime.maxValue

Number

El número máximo de días que un producto está en tránsito entre la recepción del pedido y el momento en que los productos salen del almacén o están preparados para recogerse, en el caso de que la opción de entrega sea esta última.

El valor debe ser un número entero no negativo.

deliveryTime.transitTime

QuantitativeValue

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

deliveryTime.transitTime.maxValue

Number

El número máximo de días que el producto está en tránsito desde que sale el envío hasta que el cliente final lo recibe.

El valor debe ser un número entero no negativo.

deliveryTime.transitTime.minValue

Number

El número mínimo de días que el producto está en tránsito desde que sale el envío hasta que el cliente final lo recibe.

El valor debe ser un número entero no negativo.

doesNotShip

Boolean

Indica que el envío a un shippingDestination concreto no está disponible. Si quieres indicar que el envío del artículo no está disponible en un shippingDestination, asígnale el valor True. Si le asignas el valor True, solo es obligatoria la propiedad shippingDestination.

shippingDestination.addressRegion o un código postal

Indica la información de una región o de un código postal, si procede. No incluyas ambas opciones.

Si incluyes shippingDestination.addressRegion, 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 Estados Unidos. Ejemplos: "NY", "NSW" o "03".

Si incluyes un código postal, debe ser una de las siguientes propiedades:

shippingDestination.postalCode

Text

Indica el código postal. Por ejemplo, 94043.

shippingDestination.postalCodePrefix

Text

Un intervalo definido de códigos postales indicado con el prefijo textual común. Esta propiedad se utiliza con sistemas no numéricos, como los del Reino Unido.

shippingDestination.postalCodeRange

PostalCodeRangeSpecification

Un intervalo definido de códigos postales.

shippingRate

MonetaryAmount

Información sobre los gastos de envío al destino correspondiente. Especifica las propiedades shippingRate.currency y shippingRate.value.

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. Debe ser la misma moneda especificada en la propiedad offer.priceCurrency.

shippingRate.value

Number

Indica el coste del envío al shippingDestination. No incluyas símbolos de moneda, separadores de millares ni espacios.

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

Las siguientes propiedades están en versión beta, no son obligatorias y por ahora no se muestran como datos de envío en los resultados enriquecidos de productos. No obstante, si facilitas esta información, ayudas a Google a entender mejor la relación entre los productos y otras páginas de envío relacionadas de tu sitio. Google puede aprovechar esta información para desarrollar otros resultados enriquecidos.

Beta: propiedades recomendadas
shippingSettingsLink

URL

Es la URL de una página de tu sitio en la que se describen las políticas de envío de tu empresa. Esta página debe contener al menos una política aplicable al producto.

Método alternativo para configurar opciones de envío 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 marcándolos con datos estructurados, puedes configurar tus opciones de envío en Google Merchant Center.

AggregateOffer

Puedes consultar la definición completa de AggregateOffer en schema.org/AggregateOffer. Un elemento AggregateOffer es un tipo de Offer en el que aparecen agregadas otras ofertas. Al marcar ofertas agregadas en un producto, utiliza las siguientes propiedades de tipo AggregateOffer de schema.org:

Propiedades obligatorias
lowPrice

Number

Indica el precio más bajo de todas las ofertas disponibles. Utiliza un número de punto flotante.

priceCurrency

Text

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

Propiedades recomendadas
highPrice

Number

Indica el precio más elevado de todas las ofertas disponibles. Utiliza un número de punto flotante.

offerCount

Number

Indica el número de ofertas del producto.

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 páginas válidas y que no lo haya en la cantidad de errores y advertencias. Si detectas problemas en tus datos estructurados, sigue estos pasos:

  1. Corrige los errores.
  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 importantes en tu sitio web, mira si se incrementa la cantidad de errores y advertencias de datos estructurados.
  • Si notas que hay más errores, 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 más errores, 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.

Solucionar problemas

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