Producto

Agrega lenguaje de marcado a las páginas de producto para que Google pueda brindar información detallada del producto en los resultados de la Búsqueda enriquecidos, incluido Google Imágenes. Los usuarios pueden ver el precio, la disponibilidad y las calificaciones por opiniones directamente en los resultados de la Búsqueda.

Si usas lenguaje de marcado para habilitar los resultados enriquecidos de productos, puedes atraer posibles compradores mientras buscan artículos para comprar en la Búsqueda de Google o en imágenes que incluyan productos que vendes. Asegúrate de que la información de los productos sea siempre precisa y esté actualizada para que los clientes encuentren los artículos relevantes y actuales que buscan.

En esta página, se explica el uso del lenguaje de marcado en la información de tus productos para que la Búsqueda de Google pueda mostrar resultados enriquecidos. El lenguaje de marcado de Product también permite que tus productos se muestren con una insignia en Google Imágenes, lo que puede alentar a más usuarios a hacer clic en tu contenido.

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

Hay dos tipos de páginas en las que podrías usar el lenguaje de marcado:

  • Una página del producto que describe un solo producto
  • Una página de agregador de compras que detalla un solo producto, junto con información sobre distintos vendedores que ofrecen ese producto

Según el lenguaje de marcado del contenido, es posible que tus productos también sean aptos para obtener las siguientes mejoras:

Mejoras de producto

Detalles de envío: Ayuda a los usuarios a ver los costos de envío y los plazos de entrega estimados en función de su ubicación y las políticas de envío de tu empresa. Los detalles de envío pueden aparecer en las pestañas Descripción general y Tiendas de los resultados de un producto específico. Esta mejora solo está disponible en EE.UU., en inglés y en dispositivos móviles.

Para tener la posibilidad de recibir esta mejora, agrega datos estructurados de OfferShippingDetails. Si quieres ver más ejemplos sobre cómo crear envíos gratuitos, indicar varios servicios y regiones a las que no haces envíos, consulta las Prácticas recomendadas para configurar los detalles de envío.

Detalles de envío en los resultados de la 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 generar, 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. Para obtener información sobre dónde colocar los datos estructurados en la página, mira el video JSON-LD Structured Data: Where to insert in a page?.
  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.

Pruébalo

Página de un solo producto

Este es un ejemplo de una página de 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="http://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="http://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="http://schema.org/AggregateRating" itemscope>
        <meta itemprop="reviewCount" content="89" />
        <meta itemprop="ratingValue" content="4.4" />
      </div>
      <div itemprop="review" itemtype="http://schema.org/Review" itemscope>
        <div itemprop="author" itemtype="http://schema.org/Person" itemscope>
          <meta itemprop="name" content="Fred Benson" />
        </div>
        <div itemprop="reviewRating" itemtype="http://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="http://schema.org/Brand" itemscope>
        <meta itemprop="name" content="ACME" />
      </div>
    </div>
  </div>
  </body>
</html>

Un producto con detalles de envío

Este es un ejemplo de una página de un solo producto con detalles de envío. El resultado es una tarifa de envío de $3.49 para todos los usuarios que vivan en regiones con códigos postales entre 98100 y 98199. Si quieres ver más ejemplos, revisa las Prácticas recomendadas para configurar los detalles de envío.

JSON-LD


 <html>
  <head>
    <title>Nice trinket</title>
    <script type="application/ld+json">
    {
      "@context": "http://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": "http://schema.org/NewCondition",
        "availability": "http://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="http://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="http://schema.org/Brand" itemscope>
        <meta itemprop="name" content="MyBrand" />
      </div>
      <div itemprop="offers" itemtype="http://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="http://schema.org/OfferShippingDetails" itemscope>
          <div itemprop="shippingRate" itemtype="http://schema.org/MonetaryAmount" itemscope>
            <meta itemprop="value" content="3.49" />
            <meta itemprop="currency" content="USD" />
          </div>
          <div itemprop="shippingDestination" itemtype="http://schema.org/DefinedRegion" itemscope>
            <meta itemprop="addressCountry" content="US" />
            <div itemprop="postalCodeRange" itemtype="http://schema.org/PostalCodeRangeSpecification" itemscope>
              <meta itemprop="postalCodeBegin" content="98100" />
              <meta itemprop="postalCodeEnd" content="98199" />
            </div>
          </div>
          <div itemprop="deliveryTime" itemtype="http://schema.org/ShippingDeliveryTime" itemscope>
            <div itemprop="handlingTime" itemtype="http://schema.org/QuantitativeValue" itemscope>
              <meta itemprop="minValue" content="0" />
              <meta itemprop="maxValue" content="1" />
            </div>
            <div itemprop="transitTime" itemtype="http://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="http://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="http://schema.org/Review" itemscope>
        <div itemprop="author" itemtype="http://schema.org/Person" itemscope>
          <meta itemprop="name" content="Fred Benson" />
        </div>
        <div itemprop="reviewRating" itemtype="http://schema.org/Rating" itemscope>
          <meta itemprop="ratingValue" content="4" />
          <meta itemprop="bestRating" content="5" />
        </div>
      </div>
      <div itemprop="aggregateRating" itemtype="http://schema.org/AggregateRating" itemscope>
        <meta itemprop="reviewCount" content="89" />
        <meta itemprop="ratingValue" content="4.4" />
      </div>
    </div>
  </div>
  </body>
</html>

Página de agregador de compras

Este es un ejemplo de una página de 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="http://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="http://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="http://schema.org/AggregateRating" itemscope>
        <meta itemprop="reviewCount" content="89" />
        <meta itemprop="ratingValue" content="4.4" />
      </div>
      <div itemprop="review" itemtype="http://schema.org/Review" itemscope>
        <div itemprop="author" itemtype="http://schema.org/Person" itemscope>
          <meta itemprop="name" content="Fred Benson" />
        </div>
        <div itemprop="reviewRating" itemtype="http://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="http://schema.org/Brand" itemscope>
        <meta itemprop="name" content="ACME" />
      </div>
    </div>
  </div>
  </body>
</html>

Lineamientos

Los resultados de productos enriquecidos proporcionan a los usuarios información sobre un producto específico, como precio, disponibilidad y opiniones de usuarios. Se aplican los siguientes lineamientos al lenguaje de marcado de Product:

  • Usa lenguaje de marcado para un producto específico, no para categorías ni para listas de productos. Por ejemplo, "calzado de nuestra tienda" no es un producto específico. Actualmente, los resultados enriquecidos de productos solo admiten páginas que se centran en un solo producto. Te recomendamos que te enfoques en agregar lenguaje de marcado a las páginas de productos en lugar de a las páginas que enumeran productos o una categoría de productos.
  • No se admiten productos con contenido para adultos.
  • Si agregas una opinión sobre el producto, el nombre del autor de la opinión debe ser un nombre válido de una persona (Person) o de un equipo (Team).

    No recomendado: 50% de descuento durante Black Friday

    Recomendado: "Juan Pérez" o "Revisores de CNET"

Si quieres incluir información del producto en Google Imágenes, debes agregar las siguientes propiedades:

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

Prácticas recomendadas para configurar los detalles de envío

Cómo crear envíos gratuitos

Si ofreces envíos gratuitos para productos específicos, establece shippingRate en cero para todas las regiones a las que envías esos productos en las páginas de productos. Por ejemplo, puedes implementar lo siguiente en los productos que envías a Nueva York si ofreces envíos gratuitos a este estado:

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

Cómo indicar las regiones a las que no realizas envíos

Para configurar las regiones a las que no haces envíos, agrega la propiedad doesNotShip. Esta propiedad sustituye las demás configuraciones de envío. Por ejemplo, si envías productos a EE.UU., pero no a Alaska o Hawái, puedes implementar el siguiente código para tus productos que no se envían a esos estados:

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

Cómo indicar varios servicios de envío para la misma región de entrega

A veces, los comercios pueden ofrecer varias opciones para que los usuarios seleccionen cuando envíen un producto a un destino (por ejemplo, Expreso en una noche, Urgente en 2 días y estándar). Puedes configurar cada una de ellas utilizando varias propiedades shippingDetails, cada una con diferentes combinaciones de las propiedades shippingRate y deliveryTime.

Si tienes varias propiedades shippingRate para el mismo destino de entrega, Google mostrará los datos según la opción de envío más económica.

Definiciones de tipos de datos estructurados

Debes incluir las propiedades obligatorias a fin de que tu contenido pueda para aparecer como resultado enriquecido. También puedes incluir las propiedades recomendadas para agregar más información sobre tu contenido, lo que podría brindar una mejor experiencia al usuario.

Product

La definición completa de Product está disponible en schema.org/Product. Cuando incluyas lenguaje de marcado en el contenido de la información del producto, usa las siguientes propiedades del 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

Corresponde a una propiedad aggregateRating anidada del producto. Sigue los lineamientos para los fragmentos de opiniones y la lista de propiedades AggregateRating obligatorias y recomendadas.

brand

Brand o Organization

Es la marca del producto.

description

Text

Es la descripción del producto.

image

Valor repetido de ImageObject o URL

Es la URL de una foto del producto. Se recomienda el uso de imágenes que muestren claramente el producto (por ejemplo, con un fondo blanco).

Lineamientos adicionales de imagen:

  • Cada página debe contener al menos una imagen (independientemente de si se incluye lenguaje de marcado o no). Google elegirá la mejor para mostrar en los resultados de la Búsqueda según la relación de aspecto y resolución.
  • Las URL de las imágenes se deben poder rastrear e indexar.
  • Deben representar el contenido con lenguaje de marcado.
  • Las imágenes deben estar en un formato de archivo compatible con Google Imágenes.
  • Para obtener mejores resultados, proporciona varias imágenes en alta resolución (mínimo de 50,000 píxeles al multiplicar el ancho por el alto) con la siguiente relación de aspecto: 16 × 9, 4 × 3 y 1 × 1.

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

Corresponde a un objeto Offer o AggregateOffer anidado para vender el producto. Incluye las propiedades obligatorias y recomendadas para Offer o AggregateOffer (la que sea aplicable a tu contenido).

review

Review

Corresponde a un Review anidado del producto. Sigue los lineamientos para los fragmentos de opiniones, así como la lista de propiedades de opiniones obligatorias y recomendadas.

gtin8 | gtin13 | gtin14 | mpn | isbn

Text

Incluye todos los identificadores globales correspondientes que se describen en schema.org/Product.

sku

Text

Corresponde al identificador específico del comercio para el producto.

Offer

La definición completa de Offer está disponible en schema.org/Offer. Cuando incluyas lenguaje de marcado en ofertas en un producto, usa las siguientes propiedades del tipo Offer de schema.org:

Propiedades obligatorias
price

Number

Es el precio de oferta de un producto. Sigue los lineamientos de uso de schema.org.

Propiedades recomendadas
availability

ItemAvailability

Son las posibles opciones de disponibilidad del producto. Usa uno de los siguientes valores y exprésalo con un vínculo de URL en el lenguaje de marcado. Google también comprende los nombres cortos (por ejemplo, InStock o OutOfStock) sin el alcance completo de la URL.

  • 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

Corresponde al artículo que está en venta. En general, incluye un producto anidado, pero también puede contar con otros tipos de artículo o texto libre.

priceCurrency

Text

Corresponde a la moneda que se utiliza para describir el precio del producto con el formato ISO 4217 de tres letras.

priceValidUntil

Date

Es la fecha (con el formato de fecha de ISO 8601) después de la cual el precio ya no estará disponible. Es posible que el fragmento del producto no aparezca si la propiedad priceValidUntil indica una fecha pasada.

shippingDetails

OfferShippingDetails

Información anidada sobre las políticas y las opciones de envío asociadas a una Offer. Si decides agregar shippingDetails, agrega las propiedades de OfferShippingDetails properties obligatorias y recomendadas.

url

URL

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

OfferShippingDetails

OfferShippingDetails permite que las personas vean los costos de envío y los plazos de entrega estimados en función de su ubicación y las políticas de envío de la empresa. A fin de que tus productos sean aptos para la mejora en los detalles de envío, agrega las siguientes propiedades de OfferShippingDetails y datos estructurados de Product a la página del producto. Si bien no es obligatorio incluir OfferShippingDetails, debes agregar las siguientes propiedades si quieres que los detalles de envío de tu producto sean aptos para la mejora.

La definición completa de OfferShippingDetails se encuentra disponible en schema.org/OfferShippingDetails.

Propiedades obligatorias
shippingDestination

DefinedRegion

Indica cuáles son los destinos de envío. Especifica shippingDestination.addressCountry. Si corresponde, especifica shippingDestination.addressRegion o la información de código postal.

shippingDestination.addressCountry

Text

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

Propiedades recomendadas
deliveryTime

ShippingDeliveryTime

El tiempo total de demora desde que se recibe la orden hasta que los productos llegan al cliente final. Anida estas propiedades:

deliveryTime.businessDays

OpeningHoursSpecification

Los días en que se procesan los pedidos. Indica los días específicos con la propiedad deliveryTime.businessDays.dayOfWeek.

deliveryTime.businessDays.dayOfWeek

DayOfWeek

Los días en que se procesan los pedidos. Si los pedidos se reciben en días que no son hábiles, el procesamiento comienza el siguiente día hábil. Los días de ese período que no son hábiles se incluyen en tiempo_preparación.

Usa las siguientes enumeraciones:

deliveryTime.cutOffTime

Time

El horario en el cual se dejan de procesar los pedidos en el día, en formato ISO 8601. A partir de ese momento, se agrega un día a tiempo_preparación.

deliveryTime.handlingTime

QuantitativeValue

El tiempo típico de demora desde que se recibe la orden hasta que los productos salen del almacén o se preparan para su retiro, en caso de que el método de entrega sea retiro en las instalaciones. Especifica las propiedades deliveryTime.handlingTime.minValue y deliveryTime.handlingTime.maxValue.

deliveryTime.handlingTime.minValue

Number

La cantidad mínima de días en los que un producto está en tránsito entre la recepción del pedido y la salida del almacén o la preparación para su retiro, en caso de que el método de entrega sea retiro en las instalaciones.

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

deliveryTime.handlingTime.maxValue

Number

La cantidad máxima de días en los que un producto está en tránsito entre la recepción del pedido y la salida del almacén o la preparación para su retiro, en caso de que el método de entrega sea retiro en las instalaciones.

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

deliveryTime.transitTime

QuantitativeValue

El tiempo típico de demora desde que se envía la orden hasta que los productos llegan al cliente final.

deliveryTime.transitTime.maxValue

Number

La cantidad máxima de días en los que un producto está en tránsito desde que se envía para la entrega hasta que llega al cliente final.

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

deliveryTime.transitTime.minValue

Number

La cantidad mínima de días en los que un producto está en tránsito desde que se envía para la entrega hasta que llega al cliente final.

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

doesNotShip

Boolean

Indica si el envío a un shippingDestination específico no está disponible. Si quieres especificar que el envío del artículo no está disponible para shippingDestination, configúralo en True. Si estableces este valor en True, solo se requiere la propiedad shippingDestination.

Puede ser shippingDestination.addressRegion o un código postal

La información de región o código postal, si corresponde. No proporciones ambos datos.

Si incluyes shippingDestination.addressRegion, la región debe ser un código de subdivisión de 2 o 3 dígitos, sin prefijo del país, en formato ISO 3166-2. Por el momento, la Búsqueda de Google solo admite códigos de EE.UU., como "NY", "NSW" o "03".

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

shippingDestination.postalCode

Text

Corresponde al código postal, por ejemplo, 94043.

shippingDestination.postalCodePrefix

Text

Indica un intervalo definido de códigos postales mediante un prefijo de texto común. Usa esta propiedad para sistemas no numéricos, como el del Reino Unido.

shippingDestination.postalCodeRange

PostalCodeRangeSpecification

Es un intervalo definido de códigos postales

shippingRate

MonetaryAmount

Información sobre el costo del envío al destino especificado. Especifica las propiedades shippingRate.currency y shippingRate.value.

Solo puedes especificar una shippingRate por propiedad OfferShippingDetails. Si quieres asignar varias tarifas para un producto, especifica varias propiedades OfferShippingDetail.

shippingRate.currency

Text

La moneda del costo de envío en formato ISO 4217 de 3 letras. Debe ser la misma que se especificó en la propiedad offer.priceCurrency.

shippingRate.value

Number

El costo de envío a shippingDestination. No incluyas símbolos de moneda, separadores de miles ni espacios.

Para indicar que el envío es gratis, establece el valor en 0.

Las siguientes propiedades se encuentran en versión beta (y no son obligatorias). Además, no se muestran actualmente como detalles de envío en los resultados enriquecidos de productos. Sin embargo, proporcionar esta información ayuda a Google a comprender la relación entre un producto y otras páginas de envío relacionadas en tu sitio, y Google puede usarla para desarrollar otros resultados enriquecidos.

Propiedades recomendadas de la versión beta
shippingSettingsLink

URL

La URL de una página de tu sitio que detalla las políticas de envío de la empresa. La página debe contener una o más políticas aplicables a este producto.

Enfoque alternativo para configurar las opciones de envío con Google

Las políticas de envío de los minoristas pueden complicarse y cambiar con frecuencia. Si tienes problemas para crear detalles de envío y mantenerlos actualizados con lenguaje de marcado, te recomendamos que ajustes la configuración de envío en Google Merchant Center.

AggregateOffer

La definición completa de AggregateOffer está disponible en schema.org/AggregateOffer. AggregateOffer es un tipo de Offer que representa una agregación de otras ofertas. Cuando incluyas lenguaje de marcado en ofertas agregadas de un producto, usa las siguientes propiedades del tipo AggregateOffer de schema.org:

Propiedades obligatorias
lowPrice

Number

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

priceCurrency

Text

Corresponde a la moneda que se utiliza para describir el precio del producto con el formato ISO 4217 de tres letras.

Propiedades recomendadas
highPrice

Number

Es el precio más alto de todas las ofertas disponibles. Usa un número de punto flotante.

offerCount

Number

Es la cantidad de ofertas del producto.

Cómo supervisar resultados enriquecidos con Search Console

Search Console es una herramienta que te ayuda a supervisar el rendimiento de tus páginas en la Búsqueda de Google. Si bien no es necesario que te registres en Search Console para que se incluya tu contenido en los resultados de la Búsqueda de Google, te puede ayudar a comprender y mejorar la forma en que Google ve tu sitio. Te recomendamos que revises Search Console en los siguientes casos:

  1. Después de implementar datos estructurados por primera vez
  2. Después de lanzar plantillas nuevas o actualizar código
  3. Para analizar tráfico periódicamente

Después de implementar datos estructurados por primera vez

Después de que Google haya indexado tus páginas, busca problemas con el informe de estado de resultados enriquecidos relevante. Lo ideal sería ver que hayan aumentado las páginas válidas, y no los errores ni las advertencias. Si encuentras problemas en los datos estructurados, haz lo siguiente:

  1. Corrige los errores.
  2. Inspecciona una URL publicada para verificar si el problema persiste.
  3. Solicitar una validación mediante el informe de estado.

Después de lanzar plantillas nuevas o actualizar código

Cuando realices cambios significativos en tu sitio web, supervisa los aumentos en las advertencias y los errores de los datos estructurados.
  • Si notas un aumento en la cantidad de errores, tal vez se deba a que implementaste una plantilla que no funciona o a que tu sitio interactúa con la plantilla actual de una forma diferente e incorrecta.
  • Si notas una disminución total de los datos estructurados (que no coincide con un aumento en la cantidad de errores), es posible que ya no estés incorporando datos estructurados en tus páginas. Usa la Herramienta de inspección de URL para saber cuál es la causa del problema.

Para analizar tráfico periódicamente

Analiza el tráfico de la Búsqueda de Google con el Informe de rendimiento. Los datos te mostrarán con qué frecuencia tu página aparece como resultado enriquecido en la Búsqueda, con qué frecuencia los usuarios hacen clic en ella y cuál es la posición promedio en la que apareces en los resultados de la búsqueda. También puedes extraer esos resultados automáticamente con la API de Search Console.

Solución de problemas

Si tienes problemas para implementar datos estructurados, aquí tienes algunos recursos que pueden ayudarte.