Product

Hãy thêm mã đánh dấu vào các trang sản phẩm của bạn để Google có thể cung cấp thông tin chi tiết về sản phẩm trong kết quả nhiều định dạng trên Tìm kiếm — cả trên Google Hình ảnh. Người dùng có thể xem giá, tình trạng còn hàng và thông tin đánh giá xếp hạng ngay trong kết quả Tìm kiếm.

Việc sử dụng mã đánh dấu để kích hoạt kết quả nhiều định dạng về sản phẩm sẽ giúp bạn thu hút người mua tiềm năng trong khi họ đang tìm kiếm các mặt hàng để mua trên Google Tìm kiếm hoặc tìm kiếm hình ảnh về các sản phẩm bạn bán. Hãy duy trì độ chính xác và cập nhật của thông tin sản phẩm để khách hàng của bạn tìm thấy các mặt hàng phù hợp ở thời điểm họ tìm kiếm.

Trang này giải thích cách đánh dấu thông tin sản phẩm của bạn để Google Tìm kiếm có thể hiển thị kết quả nhiều định dạng trong Google Tìm kiếm. Khi thêm mã đánh dấu Product, sản phẩm của bạn cũng sẽ đủ điều kiện xuất hiện kèm theo một huy hiệu trong Google Hình ảnh. Huy hiệu này có thể thu hút thêm nhiều người dùng nhấp vào nội dung của bạn.

Hình ảnh về kết quả nhiều định dạng và kết quả trong Google Hình ảnh chứa thông tin sản phẩm

Bạn thường sử dụng mã đánh dấu này trên hai loại trang sau đây:

  • Trang sản phẩm mô tả một sản phẩm duy nhất
  • Trang mua sắm tổng hợp liệt kê một sản phẩm duy nhất, kèm theo thông tin về những người bán cung cấp sản phẩm đó

Dựa trên cách bạn đánh dấu nội dung của mình, sản phẩm của bạn cũng có thể đủ điều kiện xuất hiện kèm theo các tính năng nâng cao như sau:

Các tính năng nâng cao cho sản phẩm

Thông tin vận chuyển: Giúp người dùng thấy 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ọ và các chính sách vận chuyển của công ty bạn. Thông tin vận chuyển có thể xuất hiện trên thẻ Tổng quan và Cửa hàng trong kết quả về một sản phẩm cụ thể. Tính năng nâng cao này chỉ được cung cấp tại Hoa Kỳ, bằng tiếng Anh và trên thiết bị di động.

Để đủ điều kiện sử dụng tính năng nâng cao này, hãy thêm dữ liệu có cấu trúc OfferShippingDetails. Để xem thêm ví dụ về cách cho biết có ưu đãi vận chuyển miễn phí, khả năng cung cấp nhiều dịch vụ và những khu vực bạn không cung cấp dịch vụ vận chuyển, hãy xem phần Các phương pháp hay nhất về thông tin vận chuyển.

Thông tin vận chuyển trong kết quả của Tìm kiếm

Giảm giá: Giúp mọi người nắm được giá thấp nhất cho sản phẩm của bạn. Dựa trên mức giá trung bình của sản phẩm theo thời gian, Google sẽ tự động tính mức giảm giá. Giao diện giảm giá có sẵn bằng tiếng Anh tại Hoa Kỳ, cả trên máy tính và thiết bị di động.

Để trang của bạn đủ điều kiện xuất hiện trong giao diện giảm giá, hãy thêm thuộc tính Offer vào dữ liệu có cấu trúc Product của bạn. price phải là một mức giá cụ thể, chứ không phải một khoảng giá (ví dụ: không được là 50,99 đến 99,99 USD).

Giao diện giảm giá trong kết quả tìm kiếm

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.
  4. Triển khai một vài trang có chứa dữ liệu có cấu trúc và 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 trang có vẻ 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 đối với các URL này.
  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 hóa quy trình này bằng cách sử dụng API sơ đồ trang web của Search Console.

Xem thử

Trang về một sản phẩm duy nhất

Dưới đây là ví dụ một trang về một sản phẩm duy nhất.

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>

Microdata (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="2020-11-20" />
      </div>
      <div itemprop="aggregateRating" itemtype="https://schema.org/AggregateRating" itemscope>
        <meta itemprop="reviewCount" content="89" />
        <meta itemprop="ratingValue" content="4.4" />
      </div>
      <div itemprop="review" itemtype="https://schema.org/Review" itemscope>
        <div itemprop="author" itemtype="https://schema.org/Person" itemscope>
          <meta itemprop="name" content="Fred Benson" />
        </div>
        <div itemprop="reviewRating" itemtype="https://schema.org/Rating" itemscope>
          <meta itemprop="ratingValue" content="4" />
          <meta itemprop="bestRating" content="5" />
        </div>
      </div>
      <meta itemprop="sku" content="0446310786" />
      <div itemprop="brand" itemtype="https://schema.org/Brand" itemscope>
        <meta itemprop="name" content="ACME" />
      </div>
    </div>
  </div>
  </body>
</html>

Một sản phẩm kèm theo thông tin vận chuyển

Dưới đây là ví dụ về trang về một sản phẩm duy nhất có kèm theo thông tin vận chuyển. Trong ví dụ này, mức phí vận chuyển cho tất cả người dùng sống ở khu vực có mã bưu chính từ 98100 đến 98199 sẽ là $3.49. Để biết thêm ví dụ, hãy xem lại Các phương pháp hay nhất về thông tin 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": "http://www.example.com/trinket_offer",
        "itemCondition": "https://schema.org/NewCondition",
        "availability": "https://schema.org/InStock",
        "price": "39.99",
        "priceCurrency": "USD",
        "priceValidUntil": "2020-11-20",
        "shippingDetails": {
          "@type": "OfferShippingDetails",
          "shippingRate": {
            "@type": "MonetaryAmount",
            "value": "3.49",
            "currency": "USD"
          },
          "shippingDestination": {
            "@type": "DefinedRegion",
            "addressCountry": "US",
            "postalCodeRange": {
              "postalCodeBegin": "98100",
              "postalCodeEnd": "98199"
            }
          },
          "deliveryTime": {
            "@type": "ShippingDeliveryTime",
            "handlingTime": {
              "@type": "QuantitativeValue",
              "minValue": "0",
              "maxValue": "1"
            },
            "transitTime": {
              "@type": "QuantitativeValue",
              "minValue": "1",
              "maxValue": "5"
            },
            "cutOffTime": "19:30-08:00",
            "businessDays": {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": [ "https://schema.org/Monday", "https://schema.org/Tuesday", "https://schema.org/Wednesday", "https://schema.org/Thursday" ]
            }
          }
        }
      },
      "review": {
        "@type": "Review",
          "reviewRating": {
            "@type": "Rating",
            "ratingValue": "4",
            "bestRating": "5"
          },
          "author": {
            "@type": "Person",
            "name": "Fred Benson"
          }
        },
        "aggregateRating": {
          "@type": "AggregateRating",
          "ratingValue": "4.4",
          "reviewCount": "89"
        }
      }
    </script>
  </head>
  <body>
  </body>
</html>

RDFa


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

Microdata (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="http://www.example.com/trinket_offer" />
        <meta itemprop="itemCondition" content="https://schema.org/NewCondition" />
        <meta itemprop="availability" content="https://schema.org/InStock" />
        <meta itemprop="price" content="39.99" />
        <meta itemprop="priceCurrency" content="USD" />
        <meta itemprop="priceValidUntil" content="2020-11-20" />
        <div itemprop="shippingDetails" itemtype="https://schema.org/OfferShippingDetails" itemscope>
          <div itemprop="shippingRate" itemtype="https://schema.org/MonetaryAmount" itemscope>
            <meta itemprop="value" content="3.49" />
            <meta itemprop="currency" content="USD" />
          </div>
          <div itemprop="shippingDestination" itemtype="https://schema.org/DefinedRegion" itemscope>
            <meta itemprop="addressCountry" content="US" />
            <div itemprop="postalCodeRange" itemtype="https://schema.org/PostalCodeRangeSpecification" itemscope>
              <meta itemprop="postalCodeBegin" content="98100" />
              <meta itemprop="postalCodeEnd" content="98199" />
            </div>
          </div>
          <div itemprop="deliveryTime" itemtype="https://schema.org/ShippingDeliveryTime" itemscope>
            <div itemprop="handlingTime" itemtype="https://schema.org/QuantitativeValue" itemscope>
              <meta itemprop="minValue" content="0" />
              <meta itemprop="maxValue" content="1" />
            </div>
            <div itemprop="transitTime" itemtype="https://schema.org/QuantitativeValue" itemscope>
              <meta itemprop="minValue" content="1" />
              <meta itemprop="maxValue" content="5" />
            </div>
            <meta itemprop="cutOffTime" content="19:30-08:00" />
            <div itemprop="businessDays" itemtype="https://schema.org/OpeningHoursSpecification" itemscope>
              <meta itemprop="dayOfWeek" content="https://schema.org/Monday" />
              <meta itemprop="dayOfWeek" content="https://schema.org/Tuesday" />
              <meta itemprop="dayOfWeek" content="https://schema.org/Wednesday" />
              <meta itemprop="dayOfWeek" content="https://schema.org/Thursday" />
            </div>
          </div>
        </div>
      </div>
      <div itemprop="review" itemtype="https://schema.org/Review" itemscope>
        <div itemprop="author" itemtype="https://schema.org/Person" itemscope>
          <meta itemprop="name" content="Fred Benson" />
        </div>
        <div itemprop="reviewRating" itemtype="https://schema.org/Rating" itemscope>
          <meta itemprop="ratingValue" content="4" />
          <meta itemprop="bestRating" content="5" />
        </div>
      </div>
      <div itemprop="aggregateRating" itemtype="https://schema.org/AggregateRating" itemscope>
        <meta itemprop="reviewCount" content="89" />
        <meta itemprop="ratingValue" content="4.4" />
      </div>
    </div>
  </div>
  </body>
</html>

Trang mua sắm tổng hợp

Sau đây là ví dụ về trang mua sắm tổng hợp.

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>

Microdata (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/AggregateOffer" itemscope>
        <meta itemprop="lowPrice" content="119.99" />
        <meta itemprop="highPrice" content="199.99" />
        <meta itemprop="offerCount" content="6" />
        <meta itemprop="priceCurrency" content="USD" />
      </div>
      <div itemprop="aggregateRating" itemtype="https://schema.org/AggregateRating" itemscope>
        <meta itemprop="reviewCount" content="89" />
        <meta itemprop="ratingValue" content="4.4" />
      </div>
      <div itemprop="review" itemtype="https://schema.org/Review" itemscope>
        <div itemprop="author" itemtype="https://schema.org/Person" itemscope>
          <meta itemprop="name" content="Fred Benson" />
        </div>
        <div itemprop="reviewRating" itemtype="https://schema.org/Rating" itemscope>
          <meta itemprop="ratingValue" content="4" />
          <meta itemprop="bestRating" content="5" />
        </div>
      </div>
      <meta itemprop="sku" content="0446310786" />
      <div itemprop="brand" itemtype="https://schema.org/Brand" itemscope>
        <meta itemprop="name" content="ACME" />
      </div>
    </div>
  </div>
  </body>
</html>

Nguyên tắc

Kết quả nhiều định dạng về sản phẩm cung cấp cho người dùng thông tin về một sản phẩm cụ thể, chẳng hạn như mức giá, tình trạng còn hàng và điểm xếp hạng của người đánh giá. Các nguyên tắc sau áp dụng cho mã đánh dấu Product:

  • Sử dụng mã đánh dấu cho một sản phẩm cụ thể, chứ không phải một danh mục hoặc danh sách các 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ể. 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. 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.
  • Google không hỗ trợ sản phẩm có nội dung người lớn.
  • 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"

Để thông tin sản phẩm xuất hiện trong Google Hình ảnh, bạn phải thêm các thuộc tính bổ sung:

  • Để thông tin sản phẩm của bạn xuất hiện trong trình xem hình ảnh chi tiết: Hãy cung cấp các thuộc tính name, image, price, and priceCurrency.
  • Để thông tin sản phẩm của bạn xuất hiện trong tính năng Các mặt hàng có liên quan: Hãy cung cấp các thuộc tính name, image, price, priceCurrencyavailability.

Các phương pháp hay nhất về thông tin vận chuyển

Cho biết có ưu đãi vận chuyển miễn phí

Nếu bạn đưa ra ưu đãi vận chuyển miễn phí cho một số sản phẩm cụ thể, trên các trang sản phẩm, hãy đặt shippingRate bằng 0 cho mọi khu vực nơi bạn có thể vận chuyển các sản phẩm đến đó. Ví dụ: nếu cung cấp ưu đãi vận chuyển miễn phí đến tiểu bang New York, bạn có thể triển khai thuộc tính sau đây cho các sản phẩm mà bạn có thể vận chuyển đến New York:

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

Cho biết có những khu vực bạn không vận chuyển đến

Để chỉ định những khu vực mà bạn không vận chuyển sản phẩm của mình đến đó, hãy thêm thuộc tính doesNotShip. Thuộc tính này sẽ thay thế các chế độ cài đặt khác của bạn về việc vận chuyển. Ví dụ: nếu bạn vận chuyển sản phẩm đến Hoa Kỳ nhưng không vận chuyển sản phẩm đến Alaska hoặc Hawaii, bạn có thể triển khai thuộc tính sau cho những sản phẩm mà bạn không vận chuyển đến các tiểu bang đó:

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

Cho biết có nhiều dịch vụ vận chuyển cho cùng một khu vực vận chuyển

Đôi khi, người bán có thể cung cấp nhiều phương thức vận chuyển sản phẩm đến một địa điểm (ví dụ: Hỏa 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.

Nếu bạn có nhiều thuộc tính shippingRate cho cùng một địa điểm giao hàng, Google sẽ hiển thị dữ liệu dựa trên phương thức vận chuyển rẻ nhất của bạn.

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

Bạn phải thêm 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ể thêm các thuộc tính mà chúng tôi khuyên dùng để bổ sung thông tin về nội dung của bạn và cải thiện trải nghiệm người dùng.

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 thuộc tính schema.org thuộc loại Product sau đây:

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

Text

Tên sản phẩm.

review hoặc aggregateRating hoặc offers

Bạn phải sử dụng một trong các thuộc tính sau:

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

AggregateRating

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

brand

Brand hoặc Organization

Thương hiệu của sản phẩm.

description

Text

Phần mô tả 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õ ràng 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, hãy 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à chiều cao) với các tỷ lệ khung hình sau: 16x9, 4x3 và 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 hoặc AggregateOffer

Một thuộc tính Offer hoặc AggregateOffer dạng lồng ghép để bán sản phẩm. Hãy dùng các thuộc tính bắt buộc và nên dùng cho Offer hoặc AggregateOffer (tùy theo thuộc tính thích hợp cho nội dung của bạn).

Để trang của bạn đủ điều kiện xuất hiện trong giao diện giảm giá, hãy thêm Offer chứ không phải AggregateOffer.

review

Review

Một mã Review 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 nội dung đánh giá và danh sách các thuộc tính đánh giá bắt buộc và nên có.

gtin | gtin8 | gtin13 | gtin14 | mpn | 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ả tương ứng tại schema.org/Product.

sku

Text

Giá trị nhận dạng sản phẩm theo người bán.

Offer

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

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

Number

Giá đề nghị của sản phẩm. Hãy tuân theo nguyên tắc về cách sử dụng trên schema.org.

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. Hãy sử dụng một trong các giá trị sau và thể hiện bằng đường liên kết URL trong mã đánh dấu. Google cũng hiểu được tên ngắn (ví dụ InStock hoặc OutOfStock) dù không có URL đầy đủ.

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

Thing

Mặt hàng đang được bán. Thông thường, thuộc tính này bao gồm một mục sản phẩm lồng ghép, nhưng cũng có thể chứa các loại mục khác hoặc văn bản tự do.

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.

priceValidUntil

Date

Ngày (ở định dạng ISO 8601) mà sau đó giá này sẽ hết hiệu lực. Đoạn trích về sản phẩm của bạn có thể không xuất hiện nếu thuộc tính priceValidUntil chỉ định một ngày trong quá khứ.

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 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 đến trang web của sản phẩm (có chứa Offer).

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ọ và 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 (bên cạnh dữ liệu có cấu trúc Product) vào trang sản phẩm của bạn. Mặc dù thuộc tính OfferShippingDetails là không bắt buộc, nhưng bạn phải thêm các thuộc tính sau nếu bạn 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
shippingDestination

DefinedRegion

Cho biết địa chỉ vận chuyển. Hãy chỉ định shippingDestination.addressCountry. Nếu có thể, hãy chỉ định shippingDestination.addressRegion hoặc thông tin mã bưu chính.

shippingDestination.addressCountry

Text

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

Thuộc tính nên 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. Hãy lồng ghép các thuộc tính sau:

deliveryTime.businessDays

OpeningHoursSpecification

Những ngày trong khoảng thời gian xử lý đơn đặt hàng. Hãy chỉ định các ngày cụ thể bằng thuộc tính deliveryTime.businessDays.dayOfWeek.

deliveryTime.businessDays.dayOfWeek

DayOfWeek

Tên của những ngày trong khoảng thời gian xử lý đơn đặt hàng. Đối với các đơn đặt hàng nhận được ngoài các ngày làm việc, quá trình xử lý sẽ bắt đầu vào ngày làm việc tiếp theo. Những ngày không làm việc trong khoảng thời gian này sẽ được thêm vào thời gian xử lý.

Hãy sử dụng cách đánh số như sau:

deliveryTime.cutOffTime

Time

Mốc thời gian mà sau đó bạn không còn xử lý các đơn đặt hàng mới trong cùng ngày, ở định dạng ISO 8601. Khoảng thời gian xử lý sẽ được cộng thêm một ngày.

deliveryTime.handlingTime

QuantitativeValue

Khoảng thời gian thường thấy từ khi bạn tiếp nhận đơn đặt hàng cho đến khi hàng được xuất kho hoặc sẵn sàng để giao (trong trường hợp phương thức giao là đến lấy hàng tận nơi). Hãy chỉ định các thuộc tính deliveryTime.handlingTime.minValuedeliveryTime.handlingTime.maxValue.

deliveryTime.handlingTime.minValue

Number

Số ngày tối thiểu để vận chuyển sản phẩm từ khi bạn tiếp nhận đơn đặt hàng cho đến khi hàng được xuất kho hoặc sẵn sàng để giao (trong trường hợp phương thức giao là đến lấy hàng tận nơi).

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

deliveryTime.handlingTime.maxValue

Number

Số ngày tối đa để vận chuyển sản phẩm từ khi bạn tiếp nhận đơn đặt hàng cho đến khi hàng được xuất kho hoặc sẵn sàng để giao (trong trường hợp phương thức giao hàng là đến lấy tận nơi).

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

deliveryTime.transitTime

QuantitativeValue

Khoảng thời gian thường thấy từ khi bắt đầu giao hàng cho đến khi khách hàng cuối nhận được hàng.

deliveryTime.transitTime.maxValue

Number

Số ngày tối đa để vận chuyển sản phẩm từ khi bắt đầu giao hàng cho đến khi khách hàng cuối nhận được hàng.

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

deliveryTime.transitTime.minValue

Number

Số ngày tối thiểu để vận chuyển sản phẩm từ khi bắt đầu giao hàng cho đến khi khách hàng cuối nhận được hàng.

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

doesNotShip

Boolean

Cho biết rằng bạn không thể vận chuyển tới một shippingDestination cụ thể. Để cho biết rằng bạn không thể vận chuyển mặt hàng này đến shippingDestination, hãy đặt thành True. Nếu bạn đặt giá trị này là True, thì bạn chỉ cần phải chỉ định thuộc tính shippingDestination.

shippingDestination.addressRegion hoặc mã bưu chính

Thông tin mã khu vực hoặc mã bưu chính, nếu có. Đừng cung cấp cả thông tin mã khu vực và mã bưu chính cùng lúc.

Nếu bạn chỉ định cả shippingDestination.addressRegion, 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, không có tiền tố quốc gia. Hiện tại, Google Tìm kiếm chỉ hỗ trợ Hoa Kỳ. Ví dụ: "NY", "NSW" hoặc "03".

Nếu bạn chỉ định mã bưu chính, thì đó phải là một trong các thuộc tính sau:

shippingDestination.postalCode

Text

Mã bưu chính. Ví dụ: 94043.

shippingDestination.postalCodePrefix

Text

Một phạm vi mã bưu chính nhất định được biểu thị bằng một tiền tố văn bản chung. Hãy sử dụng thuộc tính này cho các hệ thống không phải dạng số, chẳng hạn như Vương quốc Anh.

shippingDestination.postalCodeRange

PostalCodeRangeSpecification

Một phạm vi mã bưu chính nhất định.

shippingRate

MonetaryAmount

Thông tin về chi phí vận chuyển đến địa điểm đã chỉ định. Hãy chỉ định các thuộc tính shippingRate.currencyshippingRate.value.

Bạn chỉ có thể chỉ định một shippingRate cho mỗi thuộc tính OfferShippingDetails. Để chỉ định nhiều mức giá 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ệ của chi phí vận chuyển, ở định dạng ISO 4217 gồm 3 ký tự. Đơn vị tiền tệ này phải giống với đơn vị tiền tệ đã quy định trong thuộc tính offer.priceCurrency.

shippingRate.value

Number

Chi phí vận chuyển đến shippingDestination. Đừng chỉ định ký hiệu đơn vị tiền tệ, dấu phân tách hàng nghìn hoặc dấu cách.

Để cho biết rằng bạn cung cấp ưu đãi vận chuyển miễn phí, hãy đặt giá trị này thành 0.

Các thuộc tính sau đây đang trong giai đoạn thử nghiệm (và không bắt buộc) và hiện không xuất hiện dưới dạng thông tin vận chuyển trong kết quả nhiều định dạng về sản phẩm. Tuy nhiên, bạn nên cung cấp thông tin này để giúp Google hiểu được mối quan hệ giữa một sản phẩm và các trang vận chuyển liên quan khác trên trang web của bạn. Google có thể sử dụng thông tin này để phát triển các kết quả nhiều định dạng khác.

Beta: các thuộc tính nên có
shippingSettingsLink

URL

URL đến một trang trên trang web của bạn, trong đó trình bày các chính sách vận chuyển của công ty bạn. Trang này phải chứa ít nhất một chính sách áp dụng cho sản phẩm này.

Phương pháp khác để thiết lập thông tin vận chuyển trên 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 bạn gặp vấn đề khi cho biết và cập nhật thông tin vận chuyển bằng mã đánh dấu, hãy thử thiết lập chế độ cài đặt thông tin vận chuyển trong Google Merchant Center.

AggregateOffer

Bạn có thể xem định nghĩa đầy đủ về AggregateOffer tại schema.org/AggregateOffer. AggregateOffer là một loại Offer thể hiện tổng hợp các offer (đề nghị) khác. Khi đánh dấu các đề nghị tổng hợp trong một sản phẩm, hãy sử dụng các thuộc tính sau của loại AggregateOffer trên schema.org:

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

Number

Giá thấp nhất của tất cả các đề nghị có sẵn. Hãy sử dụng số thập phân.

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.

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

Number

Giá cao nhất của tất cả các đề nghị có sẵn. Hãy sử dụng số thập phân.

offerCount

Number

Số lượng đề nghị về sản phẩm.

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 các 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. Kết quả lý tưởng nhất là bạn sẽ thấy sự gia tăng về số trang hợp lệ, đồng thời số lỗi hoặc cảnh báo không tăng. Nếu tìm thấy vấn đề trong dữ liệu có cấu trúc, bạn hãy:

  1. Sửa lỗi.
  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ã của bạn

Khi bạn thực hiện những thay đổi đáng kể cho trang web của mình, hãy theo dõi xem số lỗi và cảnh báo về dữ liệu có cấu trúc có tăng không.
  • Nếu bạn thấy số lỗi 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 một 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ố lỗi không tăng), thì có thể bạn không còn nhúng dữ liệu có cấu trúc trong 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 API Search Console.

Troubleshooting

If you're having trouble implementing or debugging structured data, here are some resources that may help you.