Dữ liệu có cấu trúc Trang thông tin của người bán (Product, Offer)

hình minh hoạ bảng tri thức về mua sắm trong kết quả tìm kiếm

Khi bạn thêm mã đánh dấu Product vào trang của mình, mã đánh dấu đó có thể đủ điều kiện xuất hiện trong trải nghiệm trên trang thông tin của người bán ở trên Google Tìm kiếm, chẳng hạn như bảng tri thức về mua sắm, Google Hình ảnh, kết quả tìm kiếm sản phẩm phổ biến và đoạn trích về sản phẩm. Trang thông tin của người bán có thể làm nổi bật những dữ liệu cụ thể hơn về một sản phẩm, chẳng hạn như giá, tình trạng còn hàng, cũng như thông tin vận chuyển và trả lại hàng.

Hướng dẫn này tập trung vào những yêu cầu về dữ liệu có cấu trúc Product đối với trang thông tin của người bán. Nếu bạn không biết nên sử dụng mã đánh dấu nào, hãy đọc giới thiệu về mã đánh dấu Product.

Cách thêm dữ liệu có cấu trúc

Dữ liệu có cấu trúc là một định dạng chuẩn để cung cấp thông tin về một trang và phân loại nội dung trên trang. Nếu mới làm quen với dữ liệu có cấu trúc, bạn có thể tìm hiểu thêm về cách thức hoạt động của dữ liệu có cấu trúc.

Sau đây là thông tin tổng quan về cách xây dựng, kiểm tra và phát hành dữ liệu có cấu trúc. Để xem hướng dẫn từng bước về cách thêm dữ liệu có cấu trúc vào một trang web, hãy tham khảo lớp học lập trình về dữ liệu có cấu trúc.

  1. Thêm các thuộc tính bắt buộc. Tùy theo định dạng bạn đang sử dụng, hãy tìm hiểu nơi chèn dữ liệu có cấu trúc trên trang.
  2. Tuân theo các nguyên tắc.
  3. Xác thực mã của bạn bằng công cụ Kiểm tra kết quả nhiều định dạng rồi sửa mọi lỗi nghiêm trọng. Bạn cũng nên cân nhắc việc khắc phục mọi vấn đề không nghiêm trọng có thể bị gắn cờ trong công cụ này, vì những vấn đề này có thể giúp cải thiện chất lượng của dữ liệu có cấu trúc của bạn (tuy nhiên, bạn không nhất thiết thực hiện việc này để nội dung đủ điều kiện xuất hiện dưới dạng kết quả nhiều định dạng).
  4. Triển khai một vài trang có chứa dữ liệu có cấu trúc và sử dụng Công cụ kiểm tra URL để kiểm tra xem Google nhìn thấy trang đó như thế nào. Hãy đảm bảo rằng Google có thể truy cập trang của bạn và bạn không chặn trang bằng tệp robots.txt, thẻ noindex hoặc yêu cầu đăng nhập. Nếu có vẻ như trang không gặp vấn đề nào, bạn có thể yêu cầu Google thu thập lại dữ liệu các URL của mình.
  5. Để thông báo cho Google về các thay đổi sau này, bạn nên gửi một sơ đồ trang web. Bạn có thể tự động hoá quy trình này bằng Search Console Sitemap API.

Ví dụ

Các ví dụ sau đây minh hoạ cách đưa dữ liệu có cấu trúc vào các trang trên trang web của bạn trong nhiều tình huống.

Trang sản phẩm có thông tin chào bán

Sau đây là ví dụ về trang sản phẩm có bán một sản phẩm kèm theo bài đánh giá.

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>

Vi dữ liệu


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

Giá

Sau đây là hai ví dụ về cách mã hoá giá bằng JSON-LD.

Bạn có thể chỉ định giá bằng thuộc tính price như sau:

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

Ngoài ra, bạn cũng có thể chỉ định giá bằng thuộc tính priceSpecification.

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

Dùng số lượng đo lường để định giá theo đơn vị

Sau đây là ví dụ về cách chỉ định giá bán 4,5l của một sản phẩm luôn được bán theo bội số của 750ml. Cách thức định giá này đặc biệt quan trọng ở Liên minh Châu Âu đối với những sản phẩm được bán theo thể tích hoặc trọng lượng.

Khi có số lượng đo lường để định giá theo đơn vịsố lượng đo lường cơ sở để định giá theo đơn vị, mức giá sẽ được chỉ định bên trong UnitPriceSpecification.

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

Thông tin vận chuyển

Sau đây là ví dụ về trang sản phẩm có kèm theo thông tin vận chuyển. Trong ví dụ này, mức phí vận chuyển cho mọi người dùng sống ở Hoa Kỳ là $3.49. Để xem thêm ví dụ, hãy tham khảo phần Vận chuyển.

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>

Vi dữ liệu


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

Vận chuyển miễn phí

Sau đây là ví dụ về việc cung cấp dịch vụ vận chuyển miễn phí cho người mua ở tiểu bang New York của Hoa Kỳ.

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

Thông tin về việc trả lại hàng

Sau đây là ví dụ về trang sản phẩm có thông tin về việc trả lại hàng. Mã đánh dấu này khớp với chính sách trả lại hàng quy định sản phẩm phải được trả lại trong vòng 60 ngày, được vận chuyển đến Hoa Kỳ và không bị tính phí trả lại hàng.

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>

Vi dữ liệu


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

Điểm xếp hạng hiệu suất năng lượng

Ví dụ sau đây minh hoạ cách dùng dữ liệu có cấu trúc để chỉ định thông tin về hiệu suất năng lượng. Ví dụ này cho thấy cấp "C" hiệu suất năng lượng của Liên minh Châu Âu với thang đo từ "A+" đến "F" cho bình nóng lạnh.

Xin lưu ý rằng giá trị cấp hiệu suất năng lượng tối thiểu cho biết cấp hiệu suất năng lượng thấp nhất trên thang đo mức tiêu thụ năng lượng (trong trường hợp này là "F"), trong khi giá trị cấp hiệu suất năng lượng tối đa cho biết cấp hiệu suất cao nhất (trong trường hợp này là "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"
  }
}

Mô hình 3D

Ví dụ này cho thấy cách liên kết mô hình 3D với một sản phẩm bằng tài sản subjectOf và loại 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"
  }
}

Nguyên tắc

Để mã đánh dấu Product của bạn đạt đủ điều kiện cho trải nghiệm trên trang thông tin của người bán, bạn phải tuân theo những nguyên tắc sau:

Nguyên tắc kỹ thuật

  • Chỉ những trang nơi người mua sắm có thể mua được sản phẩm mới đủ điều kiện xuất hiện cho trải nghiệm trên trang thông tin của người bán (các trang có đường liên kết đến trang web khác bán sản phẩm đó không thể đáp ứng điều kiện này). Google có thể cố gắng xác minh dữ liệu sản phẩm trên trang thông tin của người bán trước khi cho thấy thông tin đó trong kết quả tìm kiếm.
  • Hiện tại, kết quả nhiều định dạng về sản phẩm chỉ hỗ trợ các trang tập trung vào một sản phẩm duy nhất (hoặc nhiều biến thể của cùng một sản phẩm). Ví dụ: "giày trong cửa hàng của chúng tôi" không phải là một sản phẩm cụ thể. Trong số các trang này có cả những trang về biến thể sản phẩm mà trong đó mỗi biến thể sản phẩm có một URL riêng biệt. Bạn nên tập trung vào việc thêm mã đánh dấu vào các trang sản phẩm thay vì các trang liệt kê sản phẩm hoặc danh mục sản phẩm.
  • Để biết chi tiết về cách đánh dấu các biến thể sản phẩm, hãy tham khảo tài liệu về dữ liệu có cấu trúc loại biến thể sản phẩm.
  • Khi bán sản phẩm bằng nhiều đơn vị tiền tệ, hãy dành một URL riêng cho từng đơn vị tiền tệ. Ví dụ: Nếu một sản phẩm được bán bằng cả đô la Canada và đô la Mỹ, hãy sử dụng hai URL riêng biệt, mỗi URL cho một đơn vị tiền tệ.
  • Hiện nay, Car không được tự động hỗ trợ dưới dạng loại phụ của Product. Hiện tại, hãy thêm cả loại CarProduct nếu bạn muốn cho thấy điểm xếp hạng và đủ điều kiện sử dụng tính năng Tìm kiếm. Ví dụ trong JSON-LD:
    {
      "@context": "https://schema.org",
      "@type": ["Product", "Car"],
      ...
    }

Nguyên tắc về nội dung

  • Chúng tôi không chấp nhận nội dung quảng bá rộng rãi hàng hoá, dịch vụ thuộc diện quản lý hoặc thông tin có thể hỗ trợ hành vi gây hại nghiêm trọng, tức thì hoặc lâu dài đối với mọi người. Trong đó có cả nội dung liên quan đến súng và vũ khí, chất tiêu khiển, thuốc lá và sản phẩm liên quan đến thuốc lá điện tử cũng như sản phẩm có liên quan đến cờ bạc.

Định nghĩa các loại dữ liệu có cấu trúc

Bạn phải cung cấp các thuộc tính bắt buộc để nội dung của mình đủ điều kiện xuất hiện dưới dạng kết quả nhiều định dạng. Bạn cũng có thể sử dụng các thuộc tính nên có để bổ sung thông tin vào dữ liệu có cấu trúc nhằm mang lại trải nghiệm tốt hơn cho người dùng.

Thông tin sản phẩm

Product

Bạn có thể xem định nghĩa đầy đủ về Product tại schema.org/Product. Khi bạn đánh dấu thông tin sản phẩm trong nội dung của mình, hãy sử dụng các tài sản sau đây thuộc loại Product:

Thuộc tính bắt buộc
name

Text

Tên sản phẩm.

image

ImageObject hoặc URL trùng lặp

URL của một bức ảnh về sản phẩm. Bạn nên sử dụng hình ảnh thể hiện rõ sản phẩm (ví dụ như trên nền trắng).

Nguyên tắc bổ sung về hình ảnh:

  • Mỗi trang phải chứa ít nhất một hình ảnh (cho dù bạn có đánh dấu hình ảnh đó hay không). Google sẽ chọn hình ảnh tốt nhất để hiển thị trong kết quả tìm kiếm trên Google dựa trên tỷ lệ khung hình và độ phân giải.
  • URL của hình ảnh phải cho phép Google thu thập dữ liệu và lập chỉ mục. Để kiểm tra xem Google truy cập được URL của bạn hay không, hãy dùng Công cụ kiểm tra URL.
  • Hình ảnh phải mang tính đại diện cho nội dung được đánh dấu.
  • Tệp hình ảnh phải thuộc một định dạng mà Google Hình ảnh hỗ trợ.
  • Để có kết quả tốt nhất, bạn nên cung cấp nhiều hình ảnh có độ phân giải cao (tối thiểu 50.000 pixel khi nhân chiều rộng với chiều cao) và theo tỷ lệ khung hình 16x9, 4x3 hoặc 1x1.

Ví dụ:

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

Offer

Một thuộc tính Offer dạng lồng ghép để bán sản phẩm.

Offer hoặc AggregateOffer dùng được cho đoạn trích về sản phẩm nhưng trang thông tin của người bán thì lại đòi hỏi Offer, do người bán phải là bên thực sự bán sản phẩm thì mới có thể đáp ứng điều kiện cho trải nghiệm trên trang thông tin của người bán.

Thuộc tính nên có
aggregateRating

AggregateRating

Một thuộc tính aggregateRating dạng lồng ghép về sản phẩm. Bạn cần tuân thủ nguyên tắc về đoạn trích thông tin đánh giá cũng như danh sách thuộc tính AggregateRating bắt buộc và nên có.

audience

PeopleAudience

Thông tin không bắt buộc về đối tượng được đề xuất cho sản phẩm, chẳng hạn như giới tính và nhóm tuổi đề xuất. Chỉ hỗ trợ loại PeopleAudience. Xem danh sách thuộc tính PeopleAudience mà Google hỗ trợ.

brand.name

Text

Đưa thương hiệu của sản phẩm vào thuộc tính name của loại Brand nếu đã biết. Đưa vào tối đa một tên thương hiệu.

color

Text

Màu sắc hoặc sự kết hợp màu sắc của sản phẩm (ví dụ: "đỏ" hoặc "vàng/xanh da trời"). Xem thêm Thuộc tính màu sắc trong Trung tâm trợ giúp của Google Merchant Center.

description

Text

Phần mô tả sản phẩm. Tuy nội dung mô tả sản phẩm là không bắt buộc, nhưng bạn rất nên cung cấp nội dung mô tả sản phẩm trong thuộc tính này.

gtin | gtin8 | gtin12 | gtin13 | gtin14 | isbn

Text

Bao gồm tất cả giá trị nhận dạng toàn cầu thích hợp. Bạn có thể tìm nội dung mô tả về những loại giá trị như vậy tại schema.org/Product. Tuy có thể sử dụng thuộc tính chung gtin cho tất cả mã GTIN, nhưng bạn nên sử dụng mã GTIN cụ thể nhất áp dụng cho sản phẩm của mình, vì đây là cách thể hiện chính xác nhất cho sản phẩm. Hãy đảm bảo giá trị GTIN ở dạng số; chúng tôi không hỗ trợ biểu mẫu URL cho GTIN.

isbn chỉ là một thuộc tính hợp lệ trên Book. Để có kết quả tốt nhất, hãy sử dụng định dạng ISBN-13. Để sử dụng Book đúng cách, hãy nhập cùng với Product. Việc này sẽ cho phép bạn dùng thuộc tính của cả hai loại trên một nút. Ví dụ:

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

EnergyConsumptionDetails

Thông tin về mức tiêu thụ năng lượng của các sản phẩm như đồ điện. Thuộc tính này đặc biệt quan trọng ở các quốc gia Châu Âu. Hãy xem thêm danh sách thuộc tính EnergyConsumptionDetails mà Google hỗ trợ.

inProductGroupWithID

Text

Mã của nhóm sản phẩm chứa biến thể sản phẩm này. Xem thêm về Item Group Id trong Trung tâm trợ giúp của Google Merchant Center. Chỉ định tối đa một giá trị.

Để biết thông tin cụ thể về cách thêm mã đánh dấu đối với các biến thể sản phẩm, hãy tham khảo tài liệu về dữ liệu có cấu trúc loại Biến thể sản phẩm.
isVariantOf

ProductGroup

Một nhóm sản phẩm chứa biến thể sản phẩm này (nếu có). Để biết thông tin cụ thể về cách thêm mã đánh dấu đối với các biến thể sản phẩm, hãy tham khảo tài liệu về dữ liệu có cấu trúc loại Biến thể sản phẩm.

material

Text

Chất liệu hoặc tổ hợp chất liệu làm ra sản phẩm, chẳng hạn như "Da thuộc" hoặc "Cotton/Polyester". Xem thêm bài viết về Material trong trung tâm trợ giúp của Google Merchant Center.

mpn

Text

Mã số linh kiện của nhà sản xuất. Thuộc tính này xác định duy nhất sản phẩm của một nhà sản xuất cụ thể.

pattern

Text

Hoa văn của sản phẩm, chẳng hạn như "chấm bi" hoặc "sọc". Xem thêm nội dung về Pattern trên trang Quy cách dữ liệu sản phẩm của Google Merchant Center.

review

Review

Một mục Review lồng ghép về sản phẩm. Hãy tuân theo các nguyên tắc về đoạn trích thông tin đánh giá và danh sách thuộc tính đánh giá bắt buộc và nên có. Xem thêm danh sách thuộc tính Review khác dành riêng cho loại schema.org Product.

Khi bạn thêm bài đánh giá cho sản phẩm, tên của người đánh giá phải là tên hợp lệ cho Person hoặc Team.

Không nên: Giảm 50% vào Thứ Sáu Đen

Nên: "James Smith" hoặc "Người đánh giá của CNET"

size

Text hoặc SizeSpecification

Kích thước của sản phẩm, chẳng hạn như "XL" hoặc "trung bình". Xem thêm size trong trang Quy cách dữ liệu sản phẩm của Google Merchant Center. Xem danh sách thuộc tính SizeSpecification mà Google hỗ trợ. Chỉ định tối đa một giá trị.

sku

Text

Giá trị nhận dạng sản phẩm theo từng người bán. Chỉ định tối đa một giá trị.

  • Giá trị sku phải sử dụng các ký tự Unicode hợp lệ cho việc hoán đổi.
  • Giá trị sku không được chứa bất kỳ ký tự khoảng trắng nào (như xác định trong thuộc tính khoảng trắng Unicode).
  • Giá trị sku chỉ nên chứa các ký tự ASCII.
subjectOf

3DModel

Mô hình 3D cho sản phẩm, nếu có. Xem danh sách tài sản 3DModel mà Google hỗ trợ. Chỉ định tối đa một giá trị 3DModel.

3DModel

Bạn có thể xem định nghĩa đầy đủ về 3DModel tại schema.org/3DModel.

Sử dụng các tài sản sau để liên kết với mô hình 3D. Chúng tôi hiện chỉ hỗ trợ mô hình ở định dạng glTF.

Thuộc tính bắt buộc
encoding

MediaObject

Nội dung nghe nhìn cho mô hình 3D.

encoding.contentUrl

URL

Đường liên kết đến tệp định nghĩa mô hình 3D ở định dạng glTF. Tệp phải có hậu tố .gltf hoặc .glb.

Thông tin về ưu đãi

Offer

Bạn có thể xem định nghĩa đầy đủ về Offer tại schema.org/Offer. Khi đánh dấu các ưu đãi trong một sản phẩm, hãy sử dụng các thuộc tính sau đây của loại schema.org Offer.

Thuộc tính bắt buộc
price hoặc priceSpecification.price

Number

Giá chào bán sản phẩm. Hãy tuân theo nguyên tắc về cách sử dụng trên schema.org.

Sau đây là ví dụ về thuộc tính price:

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

Không giống như đoạn trích về sản phẩm, trải nghiệm trên trang thông tin của người bán đòi hỏi một mức giá lớn hơn 0.

Bạn bắt buộc phải cung cấp giá bán đề nghị, nhưng có thể được lồng trong một thuộc tính priceSpecification thay vì được cung cấp ở cấp Offer.

priceCurrency hoặc priceSpecification.priceCurrency

Text

Đơn vị tiền tệ dùng để mô tả giá sản phẩm, ở định dạng ISO 4217 gồm ba chữ cái.

priceCurrency là bắt buộc nếu bạn chỉ định price, trong khi priceSpecification.priceCurrency là bắt buộc nếu bạn chỉ định priceSpecification.price.

priceSpecification

UnitPriceSpecification

Bạn có thể chỉ định giá phức tạp bằng cách sử dụng priceSpecification thay vì sử dụng thuộc tính price. Xem danh sách thuộc tính UnitPriceSpecification được hỗ trợ và Ví dụ để biết ví dụ về cách đánh dấu nhiều cách thức định giá.

Bạn có thể chỉ định giá bằng cách sử dụng pricepriceCurrency ở cấp Offer hoặc bên trong thuộc tính priceSpecification.

Giá dùng số lượng đo lường để định giá theo đơn vị có thể chỉ định thuộc tính referenceQuantity bên trong một UnitPriceSpecification.

Thuộc tính nên có
availability

ItemAvailability

Các trạng thái tương ứng với tình trạng còn hàng của sản phẩm. Chúng tôi cũng hỗ trợ tên ngắn không có tiền tố URL (ví dụ: BackOrder).

  • https://schema.org/BackOrder: Mặt hàng chưa có hàng.
  • https://schema.org/Discontinued: Mặt hàng đã ngừng cung cấp.
  • https://schema.org/InStock: Mặt hàng này vẫn còn.
  • https://schema.org/InStoreOnly: Mặt hàng chỉ bán tại cửa hàng.
  • https://schema.org/LimitedAvailability: Mặt hàng số lượng có hạn.
  • https://schema.org/OnlineOnly: Mặt hàng chỉ bán trên mạng.
  • https://schema.org/OutOfStock: Mặt hàng đang hết hàng.
  • https://schema.org/PreOrder: Mặt hàng cho phép đặt trước.
  • https://schema.org/PreSale: Mặt hàng cho phép đặt trước và giao trước khi mở bán rộng rãi.
  • https://schema.org/SoldOut: Mặt hàng đã bán hết.

Đừng chỉ định nhiều giá trị.

hasMerchantReturnPolicy

MerchantReturnPolicy

Thông tin lồng về chính sách trả lại hàng liên kết với Offer. Nếu bạn quyết định thêm hasMerchantReturnPolicy, hãy thêm cả thuộc tính MerchantReturnPolicy bắt buộc và nên có.

itemCondition

OfferItemCondition

Tình trạng của mặt hàng đang rao bán. Chúng tôi cũng hỗ trợ tên ngắn không có tiền tố URL (ví dụ: NewCondition).

  • https://schema.org/NewCondition: Mặt hàng mới.
  • https://schema.org/RefurbishedCondition: Mặt hàng đã được tân trang.
  • https://schema.org/UsedCondition: Mặt hàng đã qua sử dụng (không phải hàng mới).

Đừng chỉ định nhiều giá trị.

shippingDetails

OfferShippingDetails

Thông tin lồng ghép về các phương thức và chính sách vận chuyển liên kết với một Offer. Nếu bạn quyết định thêm shippingDetails, hãy thêm cả thuộc tính OfferShippingDetails bắt buộc và nên có.

url

URL

URL của trang web sản phẩm nơi người mua sắm có thể mua sản phẩm trên đó. URL này có thể là URL ưu tiên cho trang hiện tại với mọi biến thể phù hợp đều được chọn. Có thể bỏ qua URL này. Đừng cung cấp nhiều URL.

Để biết thông tin cụ thể về cách thêm mã đánh dấu đối với các biến thể sản phẩm, hãy tham khảo tài liệu về dữ liệu có cấu trúc loại Biến thể sản phẩm.

UnitPriceSpecification

Bạn có thể xem định nghĩa đầy đủ về UnitPriceSpecification tại schema.org/UnitPriceSpecification. Hãy dùng các tài sản sau đây để ghi nhận những quy tắc đặt giá phức tạp hơn.

Thuộc tính bắt buộc
price

Number

Giá chào bán sản phẩm. Xem thêm thuộc tính price của Offer.

priceCurrency

Text

Đơn vị tiền tệ dùng để mô tả giá sản phẩm, ở định dạng ISO 4217 gồm ba chữ cái. Xem thêm thuộc tính priceCurrency của Offer.

Thuộc tính nên có
referenceQuantity

QuantitativeValue (để định giá theo đơn vị)

Số lượng tham chiếu được sử dụng cho các mức giá có chỉ định giá trị tham chiếu cho giá. Hãy xem thêm ví dụ Dùng số lượng đo lường để định giá theo đơn vịSố lượng đo lường để định giá theo đơn vị trong Trung tâm trợ giúp của Google Merchant Center để nắm được nội dung thảo luận chi tiết về cách định giá theo đơn vị.

QuantitativeValue (để định giá theo đơn vị)

Phần này nói về việc sử dụng QuantitativeValue cho thuộc tính referenceQuantity của quy cách định giá theo đơn vị. (QuantitativeValue cũng được dùng cho thời gian vận chuyển, nhưng với các quy tắc khác biệt.) Bạn có thể xem định nghĩa đầy đủ về QuantitativeValue tại schema.org/QuantitativeValue.

Bạn có thể dùng QuantitativeValue để định giá dựa trên đơn vị đo lường, chẳng hạn như mua gạch lót sàn theo mét vuông hoặc chất lỏng theo gallon. Xem nội dung Số lượng đo lường để định giá theo đơn vị trong Trung tâm trợ giúp của Google Merchant Center để nắm được nội dung thảo luận chi tiết về cách định giá theo đơn vị.

Sau đây là ví dụ về giá bán 4,5l sản phẩm có thể mua theo bội số của 750ml.

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

Hãy sử dụng các thuộc tính sau đây để ghi nhận thông tin chi tiết về giá theo đơn vị.

Thuộc tính bắt buộc
unitCode

Text hoặc URL

Đơn vị đo lường. Chúng tôi hỗ trợ cả mã UN/CEFACT và phiên bản tương đương mà con người dễ đọc (như ghi nhận trong nội dung về Số lượng đo lường để định giá theo đơn vị trên Trung tâm trợ giúp của Google Merchant Center).

value

Text

Giá trị bằng số của đơn vị bán.

Thuộc tính nên có
valueReference

QuantitativeValue

QuantitativeValue trong thuộc tính referenceQuantity của UnitPriceSpecification phải bao gồm một QuantitativeValue lồng ghép trong thuộc tính valueReference này.

SizeSpecification

Loại SizeSpecification được dùng để cho biết kích thước của một sản phẩm. Bạn có thể xem định nghĩa đầy đủ về loại này tại schema.org/SizeSpecification.

Thuộc tính nên có
name

Text

Tên kích thước mà con người dễ đọc, chẳng hạn như "XL". Xem nội dung về thuộc tính kích thước trong Trung tâm trợ giúp của Google Merchant Center để biết thêm chi tiết.

sizeGroup

WearableSizeGroupEnumeration hoặc Text

Nhóm kích thước đề xuất cho sản phẩm này, nếu có. Thuộc tính sizeGroup xá định cách diễn giải nhóm này. Bạn có thể cung cấp tối đa hai nhóm kích thước. Sau đây là các giá trị được hỗ trợ:

  • https://schema.org/WearableSizeGroupRegular: Kích thước của mặt hàng là "regular" (thông thường).
  • https://schema.org/WearableSizeGroupPetite: Kích thước của mặt hàng là "nhỏ".
  • https://schema.org/WearableSizeGroupPlus: Kích thước của mặt hàng là "lớn".
  • https://schema.org/WearableSizeGroupTall: Kích thước của mặt hàng là "dài".
  • https://schema.org/WearableSizeGroupBig: Kích thước của mặt hàng là "to".
  • https://schema.org/WearableSizeGroupMaternity: Kích thước của mặt hàng là "cho phụ nữ mang thai"

Chúng tôi cũng hỗ trợ tên ngắn không có tiền tố URL (ví dụ: WearableSizeGroupRegular).

Xem thêm nội dung về size_type trong Trung tâm trợ giúp của Google Merchant Center và Các loại và giá trị dữ liệu có cấu trúc được hỗ trợ trong Trung tâm trợ giúp của Google Merchant Center để biết thêm thông tin về hệ thống kích thước được hỗ trợ. Google cũng hiểu được giá trị dạng văn bản của size_type (regular, petite, plus, tall, bigmaternity), nhưng có thể các công cụ tìm kiếm khác thì không, vì vậy, bạn nên sử dụng các giá trị enum tiêu chuẩn theo schema.org.

sizeSystem

WearableSizeSystemEnumeration hoặc Text

Hệ thống kích thước của sản phẩm, nếu có. Sau đây là các giá trị được hỗ trợ:

  • https://schema.org/WearableSizeSystemAU: Hệ thống kích thước tại Úc.
  • https://schema.org/WearableSizeSystemBR: Hệ thống kích thước tại Brazil.
  • https://schema.org/WearableSizeSystemCN: Hệ thống kích thước tại Trung Quốc.
  • https://schema.org/WearableSizeSystemDE: Hệ thống kích thước tại Đức.
  • https://schema.org/WearableSizeSystemEurope: Hệ thống kích thước tại Châu Âu.
  • https://schema.org/WearableSizeSystemFR: Hệ thống kích thước tại Pháp.
  • https://schema.org/WearableSizeSystemIT: Hệ thống kích thước tại Ý.
  • https://schema.org/WearableSizeSystemJP: Hệ thống kích thước tại Nhật Bản.
  • https://schema.org/WearableSizeSystemMX: Hệ thống kích thước tại Mexico.
  • https://schema.org/WearableSizeSystemUK: Hệ thống kích thước tại Vương quốc Anh.
  • https://schema.org/WearableSizeSystemUS: Hệ thống kích thước tại Hoa Kỳ.

Chúng tôi cũng hỗ trợ tên ngắn không có tiền tố URL (ví dụ: WearableSizeSystemAU).

Xem thêm nội dung về size_system trong Trung tâm trợ giúp của Google Merchant Center. Google cũng hiểu được các giá trị dạng văn bản của size_system (UR, BR, CN, DE, EU, v.v.), nhưng có thể các công cụ tìm kiếm khác thì không, do đó, bạn nên sử dụng các giá trị enum tiêu chuẩn theo schema.org.

PeopleAudience

Bạn có thể xem định nghĩa đầy đủ về PeopleAudience tại schema.org/PeopleAudience.

Hãy sử dụng các thuộc tính sau đây khi chỉ định đối tượng đề xuất cho một sản phẩm. Xem thêm Các thuộc tính và giá trị dữ liệu có cấu trúc được hỗ trợ trong Trung tâm trợ giúp của Google Merchant Center.

Thuộc tính nên có
suggestedGender

Text hoặc GenderType

Giới tính đề xuất phù hợp với sản phẩm. Phải là một trong các giá trị sau đây:

  • https://schema.org/Male
  • https://schema.org/Female
  • Unisex: Giá trị này (không phân biệt chữ hoa chữ thường) không theo tiêu chuẩn của schema.org và không được có tiền tố https://schema.org/.

Xem nội dung về Gender trong Trung tâm trợ giúp của Google Merchant Center để biết thêm thông tin.

Xin lưu ý rằng Google sẽ hoàn tất các giá trị GenderType không có tiền tố theo schema.org, do đó các giá trị malefemale thô cũng được chấp nhận.

suggestedMaxAge (hoặc suggestedAge.maxValue)

Number

Độ tuổi đề xuất tối đa cho sản phẩm (tính theo năm). Google liên kết độ tuổi đề xuất tối đa cho các sản phẩm dựa vào tập hợp các giá trị số cố định như sau:

  • 0.25: Cho trẻ 0 đến 3 tháng tuổi
  • 1.0: Cho trẻ 3 đến 12 tháng tuổi
  • 5.0: Cho trẻ 1 đến 5 tuổi
  • 13.0: Cho trẻ 5 đến 13 tuổi
suggestedMinAge (hoặc suggestedAge.minValue)

Number

Độ tuổi đề xuất tối thiểu cho sản phẩm (tính theo năm). Google liên kết độ tuổi đề xuất tối thiểu cho các sản phẩm dựa trên tập hợp các giá trị số cố định như sau:

  • 0: Cho trẻ 0 đến 3 tháng tuổi
  • 0.25: Cho trẻ 3 đến 12 tháng tuổi
  • 1.0: Cho trẻ 1 đến 5 tuổi
  • 5.0: Cho trẻ 5 đến 13 tuổi
  • 13.0: Cho người lớn

EnergyConsumptionDetails

Bạn có thể xem định nghĩa đầy đủ về EnergyConsumptionDetails tại schema.org/EnergyConsumptionDetails.

Hãy sử dụng các thuộc tính sau đây để cho biết mức tiêu thụ năng lượng của một sản phẩm, chẳng hạn như đồ điện. Hiện chúng tôi chỉ hỗ trợ cách phân loại hiệu suất năng lượng của Liên minh Châu Âu.

Thuộc tính bắt buộc
hasEnergyEfficiencyCategory

EUEnergyEfficiencyEnumeration

Danh mục hiệu suất năng lượng của sản phẩm. Hiện chúng tôi chỉ hỗ trợ cách phân loại hiệu suất năng lượng của Liên minh Châu Âu.

  • https://schema.org/EUEnergyEfficiencyCategoryA3Plus: Cấp hiệu suất năng lượng A+++ của Liên minh Châu Âu.
  • https://schema.org/EUEnergyEfficiencyCategoryA2Plus: Cấp hiệu suất năng lượng A++ của Liên minh Châu Âu.
  • https://schema.org/EUEnergyEfficiencyCategoryA1Plus: Cấp hiệu suất năng lượng A+ của Liên minh Châu Âu.
  • https://schema.org/EUEnergyEfficiencyCategoryA: Cấp hiệu suất năng lượng A+ của Liên minh Châu Âu.
  • https://schema.org/EUEnergyEfficiencyCategoryB: Cấp hiệu suất năng lượng B tại Liên minh Châu Âu.
  • https://schema.org/EUEnergyEfficiencyCategoryC: Cấp hiệu suất năng lượng C tại Liên minh Châu Âu.
  • https://schema.org/EUEnergyEfficiencyCategoryD: Cấp hiệu suất năng lượng D tại Liên minh Châu Âu.
  • https://schema.org/EUEnergyEfficiencyCategoryE: Cấp hiệu suất năng lượng E tại Liên minh Châu Âu.
  • https://schema.org/EUEnergyEfficiencyCategoryF: Cấp hiệu suất năng lượng F của Liên minh Châu Âu.
  • https://schema.org/EUEnergyEfficiencyCategoryG: Cấp hiệu suất năng lượng G của Liên minh Châu Âu.

Chúng tôi cũng hỗ trợ tên ngắn không có tiền tố URL (ví dụ: EUEnergyEfficiencyCategoryA).

Thuộc tính nên có
energyEfficiencyScaleMinenergyEfficiencyScaleMax

EUEnergyEfficiencyEnumeration

Cấp hiệu suất năng lượng thấp nhất và cao nhất trong thang đo mức tiêu thụ năng lượng theo quy định của Liên minh Châu Âu cho danh mục sản phẩm tương ứng.

Xem nội dung về hasEnergyEfficiencyCategory để nắm được danh sách giá trị được hỗ trợ.

Thuộc tính energyEfficiencyScaleMin chỉ định lớp có hiệu suất thấp nhất trên thang đo mức tiêu thụ năng lượng, trong khi energyEfficiencyScaleMax chỉ định lớp có hiệu suất cao nhất. Ví dụ: đối với sản phẩm có cấp hiệu suất năng lượng "C" trên thang điểm từ "A+++" đến "D", hãy sử dụng:

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

Nếu bạn không cung cấp energyEfficiencyScaleMin, giá trị đó được giả định là https://schema.org/EUEnergyEfficiencyCategoryG. Nếu bạn không cung cấp energyEfficiencyScaleMax, giá trị đó được giả định là https://schema.org/EUEnergyEfficiencyCategoryA3Plus.

Vận chuyển

OfferShippingDetails

OfferShippingDetails giúp người dùng xem chi phí vận chuyển và khung thời gian vận chuyển ước tính dựa trên vị trí của họ cũng như các chính sách vận chuyển của công ty bạn. Để sản phẩm của bạn đủ điều kiện cho tính năng nâng cao về thông tin vận chuyển, hãy thêm các thuộc tính OfferShippingDetails sau đây cùng dữ liệu có cấu trúc Product vào trang sản phẩm của bạn.

Cũng có lúc người bán đưa ra nhiều phương thức vận chuyển sản phẩm đến một địa điểm (ví dụ: Hoả tốc, Nhanh trong 2 ngày và Tiêu chuẩn) để người dùng lựa chọn. Bạn có thể cho biết từng phương thức bằng cách dùng nhiều thuộc tính shippingDetails tương ứng với các tổ hợp thuộc tính shippingRatedeliveryTime.

Mặc dù thuộc tính OfferShippingDetails là không bắt buộc, nhưng bạn phải có các thuộc tính sau đây nếu muốn thông tin vận chuyển của mình đủ điều kiện cho tính năng nâng cao.

Bạn có thể xem định nghĩa đầy đủ về dữ liệu có cấu trúc OfferShippingDetails tại schema.org/OfferShippingDetails.

Thuộc tính bắt buộc
deliveryTime

ShippingDeliveryTime

Tổng thời gian từ khi bạn tiếp nhận đơn đặt hàng đến khi khách hàng cuối nhận được hàng. Các thuộc tính sau đây có thể được lồng trong thuộc tính deliveryTime:

  • handlingTime
  • transitTime

Đừng cung cấp nhiều deliveryTime. Xem thêm danh sách thuộc tính ShippingDeliveryTime mà Google hỗ trợ.

shippingDestination

DefinedRegion

Cho biết địa chỉ vận chuyển. Hãy chỉ định thông tin shippingDestination.addressCountry. Xem thêm danh sách thuộc tính DefinedRegion mà Google hỗ trợ.

shippingRate

MonetaryAmount

Thông tin về chi phí vận chuyển đến địa điểm đã chỉ định. Bạn phải chỉ định ít nhất một trong hai thuộc tính shippingRate.value hoặc shippingRate.maxValue, cùng với shippingRate.currency.

Bạn chỉ có thể chỉ định một shippingRate cho mỗi thuộc tính OfferShippingDetails. Để chỉ định nhiều mức cước phí cho sản phẩm của bạn, hãy chỉ định nhiều thuộc tính OfferShippingDetail.

shippingRate.currency

Text

Đơn vị tiền tệ cho chi phí vận chuyển, ở định dạng ISO 4217 gồm 3 ký tự. Đơn vị tiền tệ ở đây phải giống với đơn vị tiền tệ của mặt hàng.

shippingRate.value hoặc shippingRate.maxValue

Number

Chi phí vận chuyển đến shippingDestination. Nếu bạn dùng một chuỗi để đưa ra giá trị, thì đừng cung cấp ký hiệu tiền tệ, dấu phân tách hàng nghìn hoặc dấu cách.

Để cho biết loại hình vận chuyển miễn phí, hãy đặt giá trị này thành 0.

DefinedRegion

DefinedRegion dùng để tạo khu vực tuỳ chỉnh nhằm thiết lập thông tin chính xác về chi phí và thời gian vận chuyển cho nhiều dịch vụ vận chuyển. Thuộc tính này hiện chỉ được hỗ trợ cho một số quốc gia, như được nêu trong nội dung Thiết lập các khu vực trên Trung tâm trợ giúp của Google Merchant Center.

Thuộc tính bắt buộc
addressCountry

Text

Mã quốc gia gồm hai chữ cái, ở định dạng ISO 3166-1 alpha-2.

Thuộc tính nên có
Chọn addressRegion hoặc postalCode

Xác định khu vực cho khu vực giao hàng của khách hàng. Nếu bạn bỏ qua thuộc tính này, toàn bộ quốc gia đều là khu vực được xác định. Có thể liệt kê nhiều khu vực, nhưng bạn không thể kết hợp nhiều cách để chỉ định khu vực trong một phiên bản DefinedRegion.

addressRegion

Text

Nếu bạn chỉ định thuộc tính này, thì mã khu vực phải là mã phân vùng gồm 2 hoặc 3 chữ số theo định dạng ISO 3166-2 và không có tiền tố quốc gia. Hiện tại, Google Tìm kiếm chỉ hỗ trợ thuộc tính này tại Hoa Kỳ, Úc và Nhật Bản. Ví dụ: "NY" (tiểu bang New York của Hoa Kỳ), "NSW" (tiểu bang New South Wales của Úc) hoặc "03" (tỉnh Iwate của Nhật Bản).

Đừng cung cấp đồng thời cả mã khu vực và mã bưu chính.

postalCode

Text

Mã bưu chính. Ví dụ: 94043. Hiện chúng tôi chỉ hỗ trợ mã bưu chính tại Úc, Canada và Hoa Kỳ.

ShippingDeliveryTime

ShippingDeliveryTime dùng để chia sẻ tổng thời gian từ khi bạn tiếp nhận đơn đặt hàng đến khi khách hàng cuối nhận được hàng.

Thuộc tính nên có
handlingTime

QuantitativeValue (cho thời gian vận chuyển)

Khoảng thời gian thông thường từ khi bạn tiếp nhận đơn đặt hàng cho đến khi hàng xuất kho.

transitTime

QuantitativeValue (cho thời gian vận chuyển)

Khoảng thời gian thông thường từ khi gửi đơn đặt hàng cho đến khi khách hàng cuối nhận được hàng.

QuantitativeValue (cho thời gian vận chuyển)

QuantitativeValue được dùng ở đây để thể hiện thời gian vận chuyển. Bạn phải chỉ định số ngày tối thiểu và tối đa. (QuantitativeValue cũng được dùng để đặt giá thống nhất, theo quy tắc xác thực riêng cho từng thuộc tính.)

Thuộc tính bắt buộc
maxValue

Number

Số ngày tối đa. Giá trị này phải là số nguyên và không được là số âm.

minValue

Number

Số ngày tối thiểu. Giá trị này phải là số nguyên và không được là số âm.

unitCode

Text

Đơn vị của giá trị tối thiểu/tối đa. Giá trị phải là DAY hoặc d.

Trả lại hàng

MerchantReturnPolicy

Hãy dùng các thuộc tính sau đây để trang thông tin của người bán đủ điều kiện cho thấy thông tin về chính sách trả lại hàng, bao gồm cả chi phí và thời hạn trả lại sản phẩm.

Thuộc tính bắt buộc
applicableCountry

Text

Mã quốc gia áp dụng cho chính sách trả lại hàng sử dụng định dạng mã quốc gia gồm hai chữ cái theo ISO 3166-1 alpha-2. Bạn có thể chỉ định tối đa 50 quốc gia.

returnPolicyCategory

MerchantReturnEnumeration

Loại chính sách trả lại hàng. Hãy dùng một trong những giá trị sau:

  • https://schema.org/MerchantReturnFiniteReturnWindow: Có một số ngày được quy định để trả lại sản phẩm.
  • https://schema.org/MerchantReturnNotPermitted: Không được trả lại.
  • https://schema.org/MerchantReturnUnlimitedWindow: Có thời gian không giới hạn để trả lại sản phẩm.

Nếu sử dụng MerchantReturnFiniteReturnWindow thì bắt buộc bạn phải có thuộc tính merchantReturnDays.

Thuộc tính nên có
merchantReturnDays

Integer

Số ngày kể từ ngày giao hàng mà khách hàng có thể trả lại sản phẩm. Bạn chỉ phải cung cấp thuộc tính này nếu đặt returnPolicyCategory thành MerchantReturnFiniteReturnWindow.

returnFees

ReturnFeesEnumeration

Loại phí trả lại hàng. Hãy sử dụng một trong các giá trị được hỗ trợ sau:

  • https://schema.org/FreeReturn: Người tiêu dùng không mất phí khi trả lại sản phẩm. Nếu sử dụng giá trị này, đừng thêm thuộc tính returnShippingFeesAmount.
  • https://schema.org/ReturnFeesCustomerResponsibility: Người tiêu dùng cần phải tự xử lý và thanh toán phí vận chuyển hàng trả lại. Nếu sử dụng giá trị này, đừng thêm thuộc tính returnShippingFeesAmount.
  • https://schema.org/ReturnShippingFees: Người bán sẽ tính phí vận chuyển đối với người tiêu dùng khi trả lại sản phẩm. Chỉ định phí vận chuyển (khác 0) bằng thuộc tính returnShippingFeesAmount.
returnMethod

ReturnMethodEnumeration

Loại phương thức trả lại hàng được cung cấp. Bạn chỉ nên sử dụng thuộc tính này khi đặt returnPolicyCategory thành MerchantReturnFiniteReturnWindow hoặc MerchantReturnUnlimitedWindow. Hãy sử dụng một hoặc nhiều giá trị sau đây:

  • https://schema.org/ReturnAtKiosk: Có thể trả lại mặt hàng tại kiosk.
  • https://schema.org/ReturnByMail: Có thể trả lại mặt hàng qua đường bưu điện.
  • https://schema.org/ReturnInStore: Có thể trả lại mặt hàng này tại cửa hàng.
returnShippingFeesAmount

MonetaryAmount

Chi phí vận chuyển khi trả lại sản phẩm. Bạn chỉ phải cung cấp thuộc tính này trong trường hợp người tiêu dùng phải trả cho người bán phí vận chuyển khác 0 để trả lại sản phẩm. Trong trường hợp đó, bạn phải thiết lập returnFees thành https://schema.org/ReturnShippingFees). Trong trường hợp không mất phí trả lại hàng, bạn phải thiết lập returnFees thành https://schema.org/FreeReturn. Nếu người tiêu dùng cần xử lý và thanh toán thì bạn phải thiết lập phí vận chuyển hàng trả lại returnFees thành https://schema.org/ReturnFeesCustomerResponsibility.

Các phương pháp khác để thiết lập thông tin vận chuyển và trả lại hàng qua Google

Chính sách vận chuyển của một nhà bán lẻ có thể phức tạp và thay đổi thường xuyên. Nếu có tài khoản Google Merchant Center nhưng gặp vấn đề khi cho biết và cập nhật thông tin vận chuyển và trả lại hàng bằng mã đánh dấu, bạn nên thiết lập chế độ cài đặt thông tin vận chuyểnchính sách trả lại hàng trong trang Trợ giúp của Google Merchant Center. Ngoài ra, bạn có thể định cấu hình chính sách vận chuyển và trả lại hàng trong Search Console ở cấp tài khoản; chính sách này sẽ được tự động thêm vào Merchant Center.

Kết hợp nhiều cấu hình thông tin vận chuyển và trả lại hàng

Nếu bạn kết hợp nhiều chế độ thiết lập thông tin vận chuyển và trả lại hàng, hãy lưu ý về cách ghi đè thông tin chính sách dựa trên thứ tự ưu tiên. Ví dụ: nếu bạn cung cấp cả mã đánh dấu ở cấp tổ chức trên trang web của bạn và chế độ cài đặt chính sách trả lại hàng trong Search Console, Google sẽ chỉ sử dụng thông tin được cung cấp trong Search Console. Nếu bạn gửi nguồn cấp dữ liệu sản phẩm trong Merchant Center và thiết lập chế độ cài đặt thông tin vận chuyển trong Search Console, thông tin nguồn cấp dữ liệu Merchent Center sẽ ghi đè chế độ cài đặt của bạn trong Search Console.

Dưới đây là những mức độ ưu tiên đối với thông tin về chính sách vận chuyển và trả lại hàng (được sắp xếp mức độ ưu tiên cao, trong đó nguồn cấp dữ liệu có mức độ ưu tiên cao nhất):

Theo dõi kết quả nhiều định dạng bằng Search Console

Search Console là công cụ giúp bạn theo dõi hiệu quả hoạt động của các trang web trong Google Tìm kiếm. Bạn không cần đăng ký sử dụng Search Console để đưa trang web vào Google Tìm kiếm, nhưng việc làm vậy có thể giúp bạn hiểu và cải thiện cách Google nhìn thấy trang web của bạn. Bạn nên kiểm tra Search Console trong những trường hợp sau:

  1. Sau lần đầu triển khai dữ liệu có cấu trúc
  2. Sau khi phát hành mẫu mới hoặc cập nhật mã của bạn
  3. Phân tích lưu lượng truy cập định kỳ

Sau lần đầu triển khai dữ liệu có cấu trúc

Sau khi Google lập chỉ mục các trang của bạn, hãy tìm vấn đề bằng cách sử dụng Báo cáo trạng thái kết quả nhiều định dạng có liên quan. Lý tưởng nhất là số mục hợp lệ tăng lên và số mục không hợp lệ không tăng. Nếu bạn tìm thấy vấn đề trong dữ liệu có cấu trúc:

  1. Sửa các mục không hợp lệ.
  2. Kiểm tra URL đang hoạt động để xem vấn đề còn tồn tại không.
  3. Yêu cầu xác thực bằng cách sử dụng báo cáo trạng thái.

Sau khi phát hành các mẫu mới hoặc cập nhật mã

Khi bạn thực hiện những thay đổi đáng kể trên trang web của mình, hãy theo dõi xem số lượng mục dữ liệu có cấu trúc không hợp lệ có tăng lên hay không.
  • Nếu bạn thấy số mục không hợp lệ gia tăng, thì có lẽ bạn đã triển khai một mẫu mới không hoạt động được hoặc trang web của bạn tương tác với mẫu hiện có theo cách mới và không hợp lệ.
  • Nếu bạn thấy số mục hợp lệ giảm (nhưng số mục không hợp lệ không tăng), thì có thể bạn không còn nhúng dữ liệu có cấu trúc trên các trang của mình nữa. Hãy sử dụng Công cụ kiểm tra URL để tìm hiểu nguyên nhân gây ra vấn đề.

Phân tích lưu lượng truy cập định kỳ

Phân tích lưu lượng truy cập bạn nhận được qua Google Tìm kiếm bằng cách sử dụng Báo cáo hiệu suất. Dữ liệu báo cáo sẽ cho bạn biết bạn tần suất trang web xuất hiện dưới dạng kết quả nhiều định dạng trong Tìm kiếm, tần suất người dùng nhấp vào trang và vị trí trung bình của trang trong kết quả tìm kiếm. Bạn cũng có thể tự động lấy các kết quả này bằng Search Console API.

Có hai báo cáo trong Search Console liên quan đến dữ liệu có cấu trúc Product:

Cả hai báo cáo này đều đưa ra các lỗi và cảnh báo liên quan đến dữ liệu có cấu trúc Product, nhưng chúng tách biệt với nhau do những yêu cầu riêng đối với trải nghiệm tương ứng. Ví dụ: báo cáo Trang thông tin của người bán đưa ra các bước kiểm tra đối với đoạn trích về sản phẩm chứa dữ liệu có cấu trúc Offer, vì vậy những trang thông tin không bán sản phẩm chỉ cần tham khảo báo cáo Đoạn trích về sản phẩm.

Khắc phục sự cố

Nếu gặp sự cố khi triển khai hoặc gỡ lỗi dữ liệu có cấu trúc, thì bạn có thể tham khảo một số tài nguyên trợ giúp sau đây.