Băng chuyền dữ liệu có cấu trúc (thử nghiệm)

Google sử dụng dữ liệu có cấu trúc để hiểu nội dung trên trang và trình bày nội dung đó theo nhiều dạng thức hơn trong kết quả tìm kiếm, còn gọi là kết quả nhiều định dạng. Hướng dẫn này tập trung vào một kết quả nhiều định dạng mới dạng băng chuyền đang trong giai đoạn thử nghiệm. Đây là một kết quả nhiều định dạng ở dạng danh sách mà mọi người có thể di chuyển theo chiều ngang để xem các thực thể khác trên một trang web nhất định (còn gọi là băng chuyền theo máy chủ). Mỗi ô trong băng chuyền có thể chứa thông tin của trang web của bạn về giá, điểm xếp hạng và hình ảnh của các thực thể trên trang.

Để đủ điều kiện làm xuất hiện kết quả nhiều định dạng thử nghiệm này, hãy thêm dữ liệu có cấu trúc ItemList kết hợp với ít nhất một trong các mục dữ liệu có cấu trúc được hỗ trợ sau đây:

Sau đây là cách băng chuyền có thể xuất hiện trên Google Tìm kiếm khi bạn thêm mã đánh dấu ItemList kết hợp với một loại nội dung được hỗ trợ:

Kết quả nhiều định dạng mới dạng băng chuyền

Phạm vi cung cấp tính năng

Hiện chúng tôi đang phát triển tính năng này nên bạn có thể thấy sự thay đổi trong các yêu cầu hoặc nguyên tắc. Nếu doanh nghiệp của bạn có trụ sở tại EEA hoặc phục vụ người dùng ở EEA và bạn muốn tìm hiểu thêm cũng như thể hiện sự quan tâm đến những trải nghiệm mới này, thì bạn có thể bắt đầu bằng cách điền vào biểu mẫu thích hợp (đối với các cụm từ tìm kiếm về chuyến bay, hãy sử dụng biểu mẫu bày tỏ sự quan tâm đối với cụm từ tìm kiếm về chuyến bay).

Tính năng này hiện chỉ có ở các quốc gia thuộc Khu vực kinh tế Châu Âu (EEA), trên cả máy tính và thiết bị di động. Tính năng này được cung cấp cho các cụm từ tìm kiếm về du lịch, địa phương và mua sắm. Đối với cụm từ tìm kiếm về mua sắm, trước tiên, Google sẽ thử nghiệm tính năng này ở Đức, Pháp, Cộng hoà Séc và Vương quốc Anh.

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 thêm dữ liệu có cấu trúc vào trang web của bạn.

  1. Chọn một trang tóm tắt chứa một số thông tin về mỗi thực thể trong danh sách. Ví dụ: một trang danh mục liệt kê "Các khách sạn hàng đầu ở Paris", trong đó có các đường liên kết dẫn đến các trang chi tiết cụ thể trên trang web của bạn để biết thêm thông tin về từng khách sạn. Bạn có thể kết hợp nhiều loại thực thể (ví dụ: khách sạn, nhà hàng) nếu cần thiết cho trường hợp của mình. Ví dụ: nếu bạn có bài viết "Điểm tham quan ở Thuỵ Sĩ" trong đó liệt kê cả sự kiện tại địa phương và doanh nghiệp địa phương.
  2. Thêm các tài sản bắt buộc vào trang tóm tắt đó. Bạn không cần thêm mã đánh dấu vào trang chi tiết để đủ điều kiện sử dụng tính năng thử nghiệm này. Tuỳ 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.
  3. Thêm thuộc tính bắt buộc và nên dùng cho loại nội dung cụ thể trong băng chuyền:

    Tuỳ vào trường hợp cụ thể của mình, bạn có thể chọn loại phù hợp nhất để sử dụng. Ví dụ: nếu bạn có một danh sách khách sạn và căn hộ du lịch trên trang của mình, hãy sử dụng cả hai loại HotelVacationRental. Mặc dù lý tưởng nhất là sử dụng loại gần với trường hợp của bạn nhất, nhưng bạn cũng có thể chọn sử dụng một loại chung chung hơn (ví dụ: LocalBusiness).

  4. Tuân theo các nguyên tắc.
  5. 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.
  6. 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 yêu cầu đăng nhập, thẻ noindex hoặc tệp robots.txt. Nếu có vẻ như trang không gặp vấn đề gì, bạn có thể yêu cầu Google thu thập lại dữ liệu các URL của mình.
  7. Để thông báo cho Google về những 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.

Nguyên tắc

Để trang của bạn đủ điều kiện sử dụng kết quả nhiều định dạng ở dạng băng chuyền (thử nghiệm), bạn phải tuân theo Nguyên tắc cơ bản của Tìm kiếmnguyên tắc chung về dữ liệu có cấu trúc. Ngoài ra, các nguyên tắc sau đây cũng áp dụng cho kết quả nhiều định dạng ở dạng băng chuyền (thử nghiệm):

  • Được phép sử dụng loại chung. Tuy nhiên, để sử dụng các thuộc tính được đề xuất, bạn phải dùng các loại tương ứng. Ví dụ: để sử dụng amenityFeature, hãy sử dụng loại LodgingBusiness.
  • Được phép sử dụng các trường phụ hoặc trường bổ sung, nhưng có thể chúng không xuất hiện trong kết quả nhiều định dạng.
  • Trang web của bạn phải có một trang tóm tắt và nhiều trang chi tiết. Hiện tại, tính năng này không được thiết kế để hỗ trợ các trường hợp khác (chẳng hạn như một trang đầy đủ nơi "chi tiết" là các điểm neo trong cùng một trang.
  • Mã đánh dấu phải nằm trên một trang tóm tắt hoặc trang danh mục, tức là một trang giống như danh sách có chứa thông tin về ít nhất 3 thực thể, sau đó liên kết đến các trang khác trên trang web của bạn để biết thêm thông tin về những thực thể đó. Tuy không cần thêm thẻ đánh dấu vào trang chi tiết, nhưng bạn phải đưa URL trang chi tiết vào thẻ đánh dấu của trang tóm tắt.
  • Đánh dấu tất cả mục trên trang tóm tắt hoặc trang danh mục. Đối với các danh mục được phân trang, hãy thêm ItemList vào mỗi trang tiếp theo và đưa các thực thể được liệt kê trên trang đó vào. Đối với chức năng cuộn vô hạn, hãy tập trung vào việc đánh dấu các đối tượng được tải ban đầu trong khung nhìn.

Ví dụ

Sau đây là cấu trúc cấp cao của băng chuyền. Thứ tự được chỉ định trong mã đánh dấu chính là thứ tự sẽ được dùng để sắp xếp các ô trong kết quả dạng băng chuyền.


  <html>
    <head>
      <title>Top 5 Restaurants in Italy</title>
      <script type="application/ld+json">
        {
        "@context": "https://schema.org",
        "@type": "ItemList",
          "itemListElement": [
            {
              "@type": "ListItem",
                "position": 1,
                "item": {
                  "@type": "Restaurant",
                  "name": "Trattoria Luigi",
                  "image": [
                    "https://example.com/photos/1x1/photo.jpg",
                    "https://example.com/photos/4x3/photo.jpg",
                    "https://example.com/photos/16x9/photo.jpg"
                  ],
                  "priceRange": "$$$",
                  "servesCuisine": "Italian",
                  "aggregateRating": {
                    "@type": "AggregateRating",
                    "ratingValue": 4.5,
                    "reviewCount": 250
                  },
                "url": "https://www.example.com/trattoria-luigi"
              }
            },
            {
              "@type": "ListItem",
                "position": 2,
                "item": {
                  "@type": "Restaurant",
                  "name": "La Pergola",
                  "image": [
                    "https://example.com/photos/1x1/photo.jpg",
                    "https://example.com/photos/4x3/photo.jpg",
                    "https://example.com/photos/16x9/photo.jpg"
                  ],
                  "priceRange": "$$$",
                  "servesCuisine": "Italian",
                  "aggregateRating": {
                    "@type": "AggregateRating",
                    "ratingValue": 4.9,
                    "reviewCount": 1150
                  },
                "url": "https://www.example.com/la-pergola"
              }
            },
            {
              "@type": "ListItem",
              "position": 3,
              "item": {
                "@type": "Restaurant",
                "name": "Pasta e Basta",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "priceRange": "$$$",
                "servesCuisine": "Italian",
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.2,
                  "reviewCount": 690
                },
              "url": "https://www.example.com/pasta-e-basta"
              }
            }
          ]
        }
      </script>
    </head>
    <body>
    </body>
  </html>
  

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

Bạn phải bao gồm các thuộc tính bắt buộc để nội dung của mình đủ điều kiện hiển thị 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 cho nội dung của mình, qua đó nâng cao chất lượng trải nghiệm người dùng.

ItemList

ItemList là mục chứa mọi thành phần trong danh sách. Tất cả URL của các phần tử trong danh sách này đều phải trỏ đến các trang khác nhau trên cùng một miền.

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

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

ListItem

Danh sách các mục. Để chỉ định một danh sách, hãy xác định một ItemList chứa ít nhất 3 phần tử itemListElement.item.

itemListElement.item

Loại phụ của LocalBusiness, Product hoặc Event

Một mục riêng lẻ trong danh sách. Điền đối tượng này bằng:

Ví dụ: Đối với khách sạn, hãy cung cấp các thuộc tính priceRangeamenityFeature.

itemListElement.position

Integer

Vị trí của mục trong băng chuyền. Số này là bội số của 1.

Các thuộc tính phổ biến cho mục trong danh sách (LocalBusiness, Product, hoặc Event)

Tất cả các loại mục băng chuyền đều có những thuộc tính sau.

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

URL hoặc ImageObject trùng lặp

Một hoặc nhiều hình ảnh về thực thể hoặc mục (ví dụ: hình ảnh về khách sạn). Đừng đưa biểu trưng vào tài sản hình ảnh này.

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"
]
name

Text

Tên chuỗi của thực thể hoặc mục. Ví dụ: tên khách sạn hoặc trang thông tin về kỳ nghỉ. item.name hiển thị dưới dạng tiêu đề của một mục riêng lẻ trong băng chuyền. Thông tin định dạng HTML bị bỏ qua.

url

URL

URL chính tắc của trang chi tiết về mục (ví dụ: trang độc lập của một khách sạn hoặc trang thông tin về kỳ nghỉ được dẫn chiếu trên trang tóm tắt). Tất cả URL trong danh sách đều phải khác biệt, nhưng nằm trên cùng một miền (cùng miền hoặc miền con với trang tóm tắt).

Tài sản nên có
aggregateRating.bestRating

Number

Giá trị cao nhất được phép sử dụng trong hệ thống xếp hạng này (ví dụ: 5 / 10). Nếu bạn bỏ qua bestRating, thì 5 sẽ được dùng.

aggregateRating.ratingCount

Number

Tổng số lượt xếp hạng cho mục này trên trang web của bạn.

aggregateRating.ratingValue

Number hoặc Text

Điểm xếp hạng chất lượng bằng số cho mục này, có thể ở dạng một số, phân số hoặc tỷ lệ phần trăm (ví dụ: 4, 60% hoặc 6 / 10). Google hiểu được các thang điểm theo phân số và tỷ lệ phần trăm, do thang điểm đã thể hiện chính phân số hoặc tỷ lệ phần trăm đó. Thang điểm mặc định dạng số là thang điểm 5, trong đó 1 là giá trị thấp nhất và 5 là giá trị cao nhất. Nếu bạn dự định sử dụng thang điểm khác, hãy sử dụng bestRatingworstRating.

Đối với số thập phân, hãy sử dụng dấu chấm thay vì dấu phẩy để chỉ định giá trị (ví dụ: 4.4 thay vì 4,4). Trong Microdata và RDFa, bạn có thể sử dụng thuộc tính content để ghi đè nội dung xuất hiện. Khi đó, bạn có thể cho người dùng thấy bất kỳ quy ước định kiểu nào mà bạn muốn, trong khi vẫn đáp ứng yêu cầu về dấu chấm cho dữ liệu có cấu trúc. Ví dụ:

<span itemprop="ratingValue" content="4.4">4,4</span> stars

Các định nghĩa khác về thuộc tính cụ thể của từng loại

LocalBusiness (và loại phụ)

Ngoài các thuộc tính ListItem, Google cũng hỗ trợ những thuộc tính LocalBusiness sau (bao gồm cả các loại phụ) cho kết quả dạng băng chuyền. Hãy lồng các thuộc tính này trong itemListElement.item.

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

LocationFeatureSpecification

Chỉ dành cho LodgingBusiness: Một tiện nghi (ví dụ: đặc điểm hoặc dịch vụ) của cơ sở lưu trú.

"amenityFeature": {
  "@type": "LocationFeatureSpecification",
  "name" : "beachAccess",
  "value": true
}
priceRange

Text

Khoảng giá tương đối của một doanh nghiệp, thường được chỉ định theo số ký hiệu tiền tệ chuẩn hoá. Hãy cung cấp khoảng giá bằng một trong các định dạng sau:

  • Mức giá: chẳng hạn như "$", "$$", "$$$"
  • Phạm vi: chẳng hạn như "$-$$"

Thông tin trong trường này phải ngắn hơn 12 ký tự. Nếu thông tin này dài hơn 12 ký tự, Google sẽ không hiển thị khoảng giá cho doanh nghiệp.

servesCuisine

Text

Chỉ dành cho nhà hàng: Loại món ăn mà nhà hàng phục vụ.

Product

Ngoài các thuộc tính ListItem, Google hỗ trợ những thuộc tính Product sau cho kết quả dạng băng chuyền. Hãy lồng những thuộc tính này trong itemListElement.item.

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

Offer hoặc AggregateOffer

Một thuộc tính Offer hoặc AggregateOffer được lồng để bán sản phẩm. Đưa các thuộc tính được đề xuất vào Offer hoặc AggregateOffer (miễn là phù hợp với nội dung của bạn).

Nếu bạn đang sử dụng Offer, hãy thêm những thuộc tính sau:

  • offers.price
  • offers.priceCurrency

Nếu bạn đang sử dụng AggregateOffer, hãy thêm những thuộc tính sau:

  • offers.highPrice
  • offers.lowPrice
  • offers.priceCurrency
offers.highPrice

Number

Giá cao nhất trong số tất cả đề nghị hiện có. Nếu đang chỉ định một mức giá bằng price thì bạn không cần thêm các tài sản highPricelowPrice.

offers.lowPrice

Number

Giá thấp nhất trong số tất cả đề nghị hiện có. Nếu đang chỉ định một mức giá bằng price thì bạn không cần thêm các tài sản highPricelowPrice.

offers.price

Number

Giá ưu đãi của một sản phẩm hoặc của một cấu phần giá khi đi kèm với PriceSpecification và các loại phụ. Nếu bạn đang chỉ định khoảng giá bằng lowPricehighPrice thì đừng thêm tài sản price.

offers.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. Nếu bạn không cung cấp đơn vị tiền tệ, Google sẽ dùng giá trị mặc định là USD.

Event

Ngoài các thuộc tính ListItem, Google hỗ trợ các thuộc tính Event sau cho kết quả dạng băng chuyền. Hãy lồng những thuộc tính này trong itemListElement.item.

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

Offer hoặc AggregateOffer

Một thuộc tính Offer hoặc AggregateOffer được lồng để bán sản phẩm. Đưa các thuộc tính được đề xuất vào Offer hoặc AggregateOffer (miễn là phù hợp với nội dung của bạn).

Nếu bạn đang sử dụng Offer, hãy thêm những thuộc tính sau:

  • offers.price
  • offers.priceCurrency

Nếu bạn đang sử dụng AggregateOffer, hãy thêm những thuộc tính sau:

  • offers.highPrice
  • offers.lowPrice
  • offers.priceCurrency
offers.highPrice

Number

Giá cao nhất trong số tất cả đề nghị hiện có. Nếu đang chỉ định một mức giá bằng price thì bạn không cần thêm các tài sản highPricelowPrice.

offers.lowPrice

Number

Giá thấp nhất trong số tất cả đề nghị hiện có. Nếu đang chỉ định một mức giá bằng price thì bạn không cần thêm các tài sản highPricelowPrice.

offers.price

Number

Giá vé, gồm cả các khoản phí và phí dịch vụ. Đừng quên cập nhật giá trị này khi thay đổi giá hoặc bán hết vé. Nếu bạn đang chỉ định khoảng giá bằng lowPricehighPrice thì đừng thêm tài sản price.

Nếu sự kiện diễn ra mà không cần thanh toán, thu phí hay phí dịch vụ, hãy đặt price thành 0.

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

Text

Đơn vị tiền tệ dùng để mô tả giá vé sự kiện, ở định dạng ISO 4217 gồm ba chữ cái. Nếu bạn không cung cấp đơn vị tiền tệ, Google sẽ dùng giá trị mặc định là USD.

Ví dụ minh hoạ các trường hợp phổ biến

Ví dụ về Restaurant

Dưới đây là ví dụ về băng chuyền nhà hàng ở dạng JSON-LD.


<html>
    <head>
      <title>Top 5 Restaurants in Paris</title>
      <script type="application/ld+json">
        {
          "@context": "https://schema.org",
          "@type": "ItemList",
          "itemListElement": [
            {
              "@type": "ListItem",
              "position": 1,
              "item": {
                "@type": "Restaurant",
                "name": "Trattoria Luigi",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "priceRange": "$$$",
                "servesCuisine": "Italian",
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.5,
                  "reviewCount": 250
                },
                "url": "https://www.example.com/restaurant-location-1"
              }
            },
            {
              "@type": "ListItem",
              "position": 2,
              "item": {
                "@type": "Restaurant",
                "name": "La Pergola",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "priceRange": "$$$",
                "servesCuisine": "Italian",
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.9,
                  "reviewCount": 1150
                },
                "url": "https://www.example.com/restaurant-location-2"
              }
            },
            {
              "@type": "ListItem",
              "position": 3,
              "item": {
                "@type": "Restaurant",
                "name": "Pasta e Basta",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "priceRange": "$$$",
                "servesCuisine": "Italian",
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.2,
                  "reviewCount": 690
                },
                "url": "https://www.example.com/restaurant-location-3"
              }
            }
          ]
        }
      </script>
    </head>
    <body>
    </body>
  </html>

Ví dụ về cơ sở lưu trú (HotelsVacationRental)

Dưới đây là ví dụ về băng chuyền cơ sở lưu trú ở dạng JSON-LD.


<html>
    <head>
      <title>Top 5 Hotels in Paris</title>
      <script type="application/ld+json">
        {
        "@context": "https://schema.org",
        "@type": "ItemList",
            "itemListElement": [
              {
                "@type": "ListItem",
                "position": 1,
                "item": {
                  "@type": "Hotel",
                  "name": "Four Seasons Hotel George V, Paris",
                  "image": [
                    "https://example.com/photos/1x1/photo.jpg",
                    "https://example.com/photos/4x3/photo.jpg",
                    "https://example.com/photos/16x9/photo.jpg"
                  ],
                  "priceRange": "$$$$",
                  "amenityFeature": {
                      "@type": "LocationFeatureSpecification",
                      "name" : "internetType",
                      "value": "Free"
                  },
                  "aggregateRating": {
                    "@type": "AggregateRating",
                    "ratingValue": 4.9,
                    "reviewCount": 50
                  },
                  "url": "https://www.example.com/four-seasons"
                }
              },
              {
                "@type": "ListItem",
                "position": 2,
                "item": {
                  "@type": "VacationRental",
                  "name": "Downtown Condo",
                  "image": [
                    "https://example.com/photos/1x1/photo.jpg",
                    "https://example.com/photos/4x3/photo.jpg",
                    "https://example.com/photos/16x9/photo.jpg"
                  ],
                  "priceRange": "$$",
                  "amenityFeature": {
                    "@type": "LocationFeatureSpecification",
                    "name" : "instantBookable",
                    "value": true
                  },
                  "aggregateRating": {
                    "@type": "AggregateRating",
                    "ratingValue": 4.7,
                    "reviewCount": 827
                  },
                  "url": "https://www.example.com/downtown-condo"
                }
              },
              {
                "@type": "ListItem",
                "position": 3,
                "item": {
                  "@type": "Hotel",
                  "name": "Ritz Paris",
                  "image": [
                    "https://example.com/photos/1x1/photo.jpg",
                    "https://example.com/photos/4x3/photo.jpg",
                    "https://example.com/photos/16x9/photo.jpg"
                  ],
                  "priceRange": "$$$$",
                  "amenityFeature": {
                    "@type": "LocationFeatureSpecification",
                    "name" : "freeBreakfast",
                    "value": true
                },
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.9,
                  "reviewCount": 1290
                },
                "url": "https://www.example.com/ritz-paris"
              }
            }
          ]
        }
      </script>
    </head>
    <body>
    </body>
  </html>

Ví dụ về điểm tham quan

Dưới đây là ví dụ về băng chuyền điểm tham quan ở dạng JSON-LD.


<html>
    <head>
      <title>Top 5 Things To Do in Paris</title>
      <script type="application/ld+json">
        {
          "@context": "https://schema.org",
          "@type": "ItemList",
          "itemListElement": [
            {
              "@type": "ListItem",
              "position": 1,
              "item": {
                "@type": "Event",
                "name": "Paris Seine River Dinner Cruise",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "offers": {
                  "@type": "Offer",
                  "price": 45.00,
                  "priceCurrency": "EUR"
                },
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.2,
                  "reviewCount": 690
                },
                "url": "https://www.example.com/event-location1"
              }
            },
            {
              "@type": "ListItem",
              "position": 2,
              "item": {
                "@type": "LocalBusiness",
                "name": "Notre-Dame Cathedral",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "priceRange": "$",
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.8,
                  "reviewCount": 4220
                },
                "url": "https://www.example.com/localbusiness-location"
              }
            },
            {
              "@type": "ListItem",
              "position": 3,
              "item": {
                "@type": "Event",
                "name": "Eiffel Tower With Host Summit Tour",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "offers": {
                  "@type": "Offer",
                  "price": 59.00,
                  "priceCurrency": "EUR"
                },
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.9,
                  "reviewCount": 652
                },
                "url": "https://www.example.com/event-location2"
              }
            }
          ]
        }
      </script>
    </head>
    <body>
    </body>
  </html>
  

Ví dụ về Product

Dưới đây là ví dụ về băng chuyền sản phẩm ở dạng JSON-LD.


<html>
    <head>
      <title>Top coats of the season</title>
      <script type="application/ld+json">
        {
          "@context": "https://schema.org",
          "@type": "ItemList",
          "itemListElement": [
            {
              "@type": "ListItem",
              "position": 1,
              "item": {
                "@type": "Product",
                "name": "Puffy Coat Series by Goat Coat",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "offers": {
                  "@type": "AggregateOffer",
                  "lowPrice": 45.00,
                  "highPrice": 60.00,
                  "priceCurrency": "EUR"
                },
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.9,
                  "reviewCount": 50
                },
                "url": "https://www.example.com/puffy-coats"
              }
            },
            {
              "@type": "ListItem",
              "position": 2,
              "item": {
                "@type": "Product",
                "name": "Wool Coat Series by Best Coats Around",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "offers": {
                  "@type": "AggregateOffer",
                  "lowPrice": 189.00,
                  "highPrice": 200.00,
                  "priceCurrency": "EUR"
                },
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.7,
                  "reviewCount": 827
                },
                "url": "https://www.example.com/wool-coats"
              }
            },
            {
              "@type": "ListItem",
              "position": 3,
              "item": {
                "@type": "Product",
                "name": "Antartic Coat by Cold Coats",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "offers": {
                  "@type": "Offer",
                  "price": 45.00,
                  "priceCurrency": "EUR"
                },
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.9,
                  "reviewCount": 1290
                },
                "url": "https://www.example.com/antartic-coat"
              }
            }
          ]
        }
      </script>
    </head>
    <body>
    </body>
  </html>
  

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.