Băng chuyền dữ liệu có cấu trúc: Cách tối ưu hoá kết quả nhiều định dạng trên Google

Trong kỷ nguyên số hóa, việc hiển thị nổi bật trên các công cụ tìm kiếm như Google là mục tiêu của nhiều doanh nghiệp trực tuyến. Một trong những phương pháp hiệu quả để đạt được điều này là sử dụng dữ liệu có cấu trúc để tạo ra các kết quả nhiều định dạng hấp dẫn. Đặc biệt, băng chuyền dữ liệu có cấu trúc là một dạng kết quả đang được Google thử nghiệm, cho phép nội dung của bạn được trình bày một cách trực quan và thu hút người dùng. Bài viết này sẽ hướng dẫn chi tiết về băng chuyền dữ liệu có cấu trúc và cách triển khai nó để tối ưu hoá khả năng hiển thị của trang web trên Google.

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

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

  • LocalBusiness và các loại phụ, ví dụ:
    • Restaurant
    • Hotel
    • VacationRental
  • Product
  • Event

Dưới đâ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 trong các loại nội dung được hỗ trợ này:

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

Hiện tại, tính năng này đang trong giai đoạn phát triển, do đó, các yêu cầu hoặc nguyên tắc có thể thay đổi theo thời gian. Nếu doanh nghiệp của bạn có trụ sở tại Khu vực kinh tế Châu Âu (EEA) hoặc phục vụ người dùng tại EEA và bạn muốn tìm hiểu thêm cũng như đăng ký tham gia các trải nghiệm mới này, 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 liên quan đến chuyến bay, hãy sử dụng biểu mẫu bày tỏ sự quan tâm đối với các cụm từ tìm kiếm liên quan.

Tính năng này hiện chỉ khả dụng tại các quốc gia thuộc EEA, trên cả máy tính và thiết bị di động. Nó được áp dụng cho các cụm từ tìm kiếm liên quan đến du lịch, địa phương và mua sắm. Đối với các cụm từ tìm kiếm liên quan đến mua sắm, Google sẽ thử nghiệm tính năng này trước tiên tại Đức, Pháp, Cộng hòa 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 tiêu chuẩn giúp cung cấp thông tin về một trang web và phân loại nội dung trên trang đó. Nếu bạn mới làm quen với dữ liệu có cấu trúc, hãy tìm hiểu cách thức hoạt động của nó để tối ưu hóa trang web của mình.

Dưới đây là các bước cơ bản để 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 các thông tin về mỗi thực thể trong danh sách. Ví dụ: một trang danh mục có tiêu đề “Các khách sạn hàng đầu ở Paris,” với các liên kết dẫn đến các trang chi tiết cụ thể trên trang web của bạn để cung cấp thêm thông tin về từng khách sạn. Nếu cần thiết, bạn có thể kết hợp nhiều loại thực thể, chẳng hạn như khách sạn và nhà hàng, trên cùng một trang danh mục.
  2. Thêm các thuộc tính bắt buộc vào trang tóm tắt. Không cần thiết phải thêm mã đánh dấu vào các trang chi tiết để đủ điều kiện tham gia tính năng thử nghiệm này. Tuỳ thuộc vào định dạng bạn sử dụng, hãy xác định vị trí chèn dữ liệu có cấu trúc trên trang.
    • Nếu bạn sử dụng hệ thống quản lý nội dung (CMS), việc thêm dữ liệu có cấu trúc có thể dễ dàng hơn thông qua các plugin hoặc tiện ích tích hợp.
    • Nếu bạn sử dụng JavaScript, hãy tìm hiểu cách tạo dữ liệu có cấu trúc bằng JavaScript.
  3. Thêm các thuộc tính bắt buộc và khuyến nghị cho loại nội dung cụ thể trong băng chuyền, bao gồm các loại như:
    • LocalBusiness và các loại phụ như Restaurant, Hotel, VacationRental
    • Product
    • Event

    Tuỳ theo trường hợp cụ thể của bạn, hãy chọn loại dữ liệu phù hợp nhất. Ví dụ, nếu trang của bạn có danh sách khách sạn và căn hộ du lịch, hãy sử dụng cả hai loại dữ liệu Hotel và VacationRental. Nếu cần, bạn cũng có thể sử dụng một loại chung hơn như LocalBusiness.

  4. Tuân thủ các nguyên tắc liên quan đến dữ liệu có cấu trú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 để đảm bảo không có lỗi.
  6. Triển khai một số trang chứa dữ liệu có cấu trúc và sử dụng Công cụ kiểm tra URL để xem Google nhận diện trang đó như thế nào. Đảm bảo rằng Google có thể truy cập vào trang của bạn và không gặp trở ngại như yêu cầu đăng nhập, thẻ noindex hoặc tệp robots.txt. Nếu không có vấn đề gì, bạn có thể yêu cầu Google thu thập lại dữ liệu các URL này.
    • Lưu ý: Hãy chờ một khoảng thời gian để Google thu thập và lập chỉ mục lại dữ liệu. Có thể mất vài ngày kể từ khi bạn xuất bản trang để Google tìm thấy và thu thập dữ liệu trang đó.
  7. Gửi sơ đồ trang web để thông báo cho Google về các thay đổi sau này. Bạn có thể tự động hóa quy trình này bằng Search Console Sitemap API.

Nguyên tắc

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

  1. Sử dụng loại dữ liệu chung: Bạn được phép sử dụng các loại dữ liệu chung. Tuy nhiên, để tận dụng các thuộc tính được đề xuất, bạn cần sử dụng loại dữ liệu tương ứng. Ví dụ: để sử dụng thuộc tính amenityFeature, bạn phải sử dụng loại LodgingBusiness.
  2. Sử dụng các trường phụ và bổ sung: Bạn có thể sử dụng các trường phụ hoặc bổ sung, nhưng lưu ý rằng không phải lúc nào chúng cũng sẽ xuất hiện trong kết quả nhiều định dạng.
  3. Cấu trúc trang web: Trang web của bạn cần có một trang tóm tắt và nhiều trang chi tiết riêng biệt. Tính năng băng chuyền này không hỗ trợ các trường hợp như một trang duy nhất mà các chi tiết chỉ là các điểm neo trên cùng một trang.
  4. Đánh dấu trên trang tóm tắt hoặc danh mục: Mã đánh dấu phải được đặt trên trang tóm tắt hoặc trang danh mục, tức là một trang danh sách chứa thông tin về ít nhất 3 thực thể. Trang này sau đó liên kết đến các trang chi tiết khác trên website của bạn để cung cấp thêm thông tin về các thực thể đó. Mặc dù không bắt buộc phải thêm mã đánh dấu vào các trang chi tiết, bạn vẫn phải đưa URL của trang chi tiết vào mã đánh dấu của trang tóm tắt.
  5. Đánh dấu tất cả các mục: Bạn phải đánh dấu tất cả các mục trên trang tóm tắt hoặc 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à đảm bảo rằng các thực thể được liệt kê trên trang đó đều được đánh dấu. Đối với chức năng cuộn vô hạn, hãy tập trung đánh dấu các đối tượng được tải ban đầu trong khung nhìn.

Ví dụ

Dưới đây là cấu trúc cấp cao của một băng chuyền. Thứ tự được chỉ định trong mã đánh dấu sẽ quyết định thứ tự sắp xếp các ô trong kết quả 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

Để nội dung của bạn đủ điều kiện hiển thị dưới dạng kết quả nhiều định dạng, bạn cần bao gồm các thuộc tính bắt buộc trong dữ liệu có cấu trúc. Bên cạnh đó, việc thêm các thuộc tính khuyến nghị có thể giúp cải thiện chất lượng trải nghiệm người dùng và tối ưu hóa sự hiển thị của nội dung trong kết quả tìm kiếm.

ItemList

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

Bạn có thể tham khảo định nghĩa chi tiết về ItemList tại schema.org/ItemList.

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

  • itemListElement
    Loại: ListItem
    Mô tả: Danh sách các mục trong ItemList. Để chỉ định một danh sách, bạn cần 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ột mục riêng lẻ trong danh sách. Đối tượng này cần bao gồm:

    • Các thuộc tính chung mà tất cả băng chuyền đều phải có (image, url, name).
    • Mọi thuộc tính bắt buộc khác tương ứng với loại dữ liệu của bạn, ví dụ:
      • Đối với LocalBusiness và các loại phụ.
      • Đối với Product.
      • Đối với Event. Ví dụ: Đối với khách sạn, bạn cần cung cấp các thuộc tính như priceRangeamenityFeature.
  • itemListElement.position
    Loại: Integer
    Mô tả: Vị trí của mục trong băng chuyền. Giá trị này là số nguyên và thường bắt đầu từ 1.

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

Mọi loại mục trong băng chuyền đều yêu cầu các thuộc tính sau để đảm bảo tính chính xác và tối ưu hóa trong kết quả tìm kiếm.

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

  • image
    Loại: URL hoặc ImageObject
    Mô tả: Một hoặc nhiều hình ảnh đại diện cho thực thể hoặc mục (ví dụ: hình ảnh khách sạn). Lưu ý không sử dụng biểu trưng trong trường hình ảnh này.Nguyên tắc bổ sung về hình ảnh:

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

    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
    Loại: Text
    Mô tả: Tên của thực thể hoặc mục, chẳng hạn như tên khách sạn hoặc trang thông tin về kỳ nghỉ. item.name sẽ xuất hiện 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 sẽ bị bỏ qua.
  • url
    Loại: URL
    Mô tả: URL chính tắc của trang chi tiết về mục (ví dụ: trang độc lập của khách sạn hoặc trang thông tin về kỳ nghỉ được liên kết từ trang tóm tắt). Tất cả các URL trong danh sách phải khác nhau nhưng phải thuộc cùng một miền (cùng miền hoặc miền con với trang tóm tắt).

    • Đường liên kết neo trong trang tóm tắt hoặc trang danh mục sẽ không được hỗ trợ. Trang web của bạn phải có các trang chi tiết độc lập cho từng mục trong danh sách.

Thuộc tính nên có

  • aggregateRating.bestRating
    Loại: Number
    Mô tả: Giá trị cao nhất có thể trong hệ thống xếp hạng này (ví dụ: 5/10). Nếu bỏ qua bestRating, giá trị mặc định là 5 sẽ được sử dụng.
  • aggregateRating.ratingCount
    Loại: Number
    Mô tả: Tổng số lượt xếp hạng cho mục này trên trang web của bạn.
  • aggregateRating.ratingValue
    Loại: Number hoặc Text
    Mô tả: Điểm xếp hạng chất lượng của mục này, có thể ở dạng số nguyên, 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 dưới dạng phân số và tỷ lệ phần trăm. Nếu bạn sử dụng thang điểm khác, hãy xác định giá trị bằng bestRatingworstRating.

    • Đối với số thập phân, hãy 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. Điều này cho phép bạn hiển thị định dạng tùy chỉnh cho người dùng, đồng thời đáp ứng yêu cầu về dấu chấm trong 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ể cho từng loại

LocalBusiness (và các loại phụ)

Ngoài các thuộc tính của ListItem, Google còn hỗ trợ những thuộc tính dưới đây cho LocalBusiness và các loại phụ liên quan trong kết quả dạng băng chuyền. Những thuộc tính này cần được lồng trong itemListElement.item.

  • amenityFeature
    Loại: LocationFeatureSpecification
    Mô tả: Chỉ áp dụng cho LodgingBusiness. Đây là các tiện nghi hoặc dịch vụ của cơ sở lưu trú.Ví dụ:

    "amenityFeature": {
    "@type": "LocationFeatureSpecification",
    "name": "beachAccess",
    "value": true
    }
  • priceRange
    Loại: Text
    Mô tả: Khoảng giá tương đối của doanh nghiệp, thường được biểu thị bằng ký hiệu tiền tệ chuẩn hóa. 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ư “$-$$”

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

  • servesCuisine
    Loại: Text
    Mô tả: Chỉ áp dụng cho nhà hàng. Đây là loại món ăn mà nhà hàng phục vụ.

Product

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

  • offers
    Loại: Offer hoặc AggregateOffer
    Mô tả: Một thuộc tính Offer hoặc AggregateOffer được lồng để mô tả các ưu đãi bán sản phẩm. Hãy đưa vào các thuộc tính đề xuất trong Offer hoặc AggregateOffer nếu 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
      Loại: Number
      Mô tả: Giá cao nhất trong số tất cả các đề nghị hiện có. Nếu bạn đã chỉ định mức giá bằng price, không cần thêm highPricelowPrice.
    • offers.lowPrice
      Loại: Number
      Mô tả: Giá thấp nhất trong số tất cả các đề nghị hiện có. Nếu bạn đã chỉ định mức giá bằng price, không cần thêm highPricelowPrice.
    • offers.price
      Loại: Number
      Mô tả: Giá ưu đãi của một sản phẩm hoặc một 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, không cần thêm tài sản price.
    • offers.priceCurrency
      Loại: Text
      Mô tả: Đơn vị tiền tệ dùng để mô tả giá sản phẩm, theo định dạng ISO 4217 gồm ba chữ cái. Nếu không cung cấp đơn vị tiền tệ, Google sẽ mặc định sử dụng USD.

Event

Ngoài các thuộc tính của ListItem, Google hỗ trợ thêm các thuộc tính dành cho Event trong kết quả dạng băng chuyền. Các thuộc tính này cần được lồng vào trong itemListElement.item.

Thuộc tính nên có

  • offers
    Loại: Offer hoặc AggregateOffer
    Mô tả: Một thuộc tính Offer hoặc AggregateOffer được lồng để hiển thị các ưu đãi liên quan đến sự kiện. Thêm các thuộc tính được đề xuất vào Offer hoặc AggregateOffer nếu 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 các thuộc tính sau:

    • offers.price
      Loại: Number
      Mô tả: Giá vé của sự kiện, bao gồm tất cả các khoản phí và dịch vụ. Đảm bảo cập nhật giá trị này khi có sự thay đổi giá hoặc khi vé đã bán hết. Nếu bạn đã chỉ định khoảng giá bằng lowPricehighPrice, không cần thêm thuộc tính price.Lưu ý: Nếu sự kiện diễn ra miễn phí, hãy đặt price thành 0.

      "offers": {
      "@type": "Offer",
      "price": 0
      }
    • offers.priceCurrency
      Loại: Text
      Mô tả: Đơn vị tiền tệ sử dụng để mô tả giá vé sự kiện, theo định dạng ISO 4217 gồm ba chữ cái. Nếu không cung cấp đơn vị tiền tệ, Google sẽ mặc định sử dụng USD.

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

    • offers.highPrice
      Loại: Number
      Mô tả: Giá cao nhất trong số tất cả các đề nghị hiện có. Nếu đã chỉ định một mức giá cụ thể bằng thuộc tính price, bạn không cần thêm highPricelowPrice.
    • offers.lowPrice
      Loại: Number
      Mô tả: Giá thấp nhất trong số tất cả các đề nghị hiện có. Nếu đã chỉ định một mức giá cụ thể bằng thuộc tính price, bạn không cần thêm highPricelowPrice.
    • offers.priceCurrency
      Loại: Text
      Mô tả: Đơn vị tiền tệ sử dụng để mô tả giá vé sự kiện, theo định dạng ISO 4217 gồm ba chữ cái. Nếu không cung cấp đơn vị tiền tệ, Google sẽ mặc định sử dụng USD.

Ví dụ

Ví dụ về Restaurant

Dưới đây là một ví dụ về băng chuyền nhà hàng được triển khai dưới 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ú (Hotels và VacationRental)

Dưới đây là một ví dụ về băng chuyền cơ sở lưu trú, được triển khai dưới 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à một ví dụ về băng chuyền điểm tham quan được triển khai dưới 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à một ví dụ về băng chuyền sản phẩm được triển khai dưới 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 bạn gặp phải sự cố khi triển khai hoặc gỡ lỗi dữ liệu có cấu trúc, dưới đây là một số nguồn tài nguyên có thể giúp bạn giải quyết vấn đề:

  • Hỗ trợ từ hệ thống quản lý nội dung (CMS): Nếu bạn sử dụng hệ thống quản lý nội dung (CMS) hoặc có người khác quản lý trang web của bạn, hãy liên hệ với họ để nhận hỗ trợ kỹ thuật. Đừng quên chuyển tiếp các thông báo từ Google Search Console để họ có thể nắm rõ vấn đề cần giải quyết.
  • Không đảm bảo hiển thị: Google không đảm bảo rằng việc sử dụng dữ liệu có cấu trúc sẽ dẫn đến việc nội dung của bạn xuất hiện dưới dạng kết quả nhiều định dạng trong tìm kiếm. Để hiểu rõ hơn về các lý do phổ biến mà nội dung của bạn có thể không hiển thị, hãy tham khảo Nguyên tắc chung về dữ liệu có cấu trúc của Google.
  • Kiểm tra và sửa lỗi dữ liệu có cấu trúc: Nếu có lỗi trong dữ liệu có cấu trúc của bạn, hãy kiểm tra danh sách các lỗi liên quan đến dữ liệu có cấu trúc mà Google cung cấp. Điều này sẽ giúp bạn xác định và sửa lỗi để dữ liệu có cấu trúc hoạt động chính xác.
  • Xử lý biện pháp thủ công: Trong trường hợp trang web của bạn bị áp dụng biện pháp thủ công, dữ liệu có cấu trúc trên trang có thể bị Google bỏ qua, mặc dù trang vẫn có thể xuất hiện trong kết quả tìm kiếm. Để khắc phục, hãy sử dụng báo cáo Biện pháp thủ công trong Google Search Console.
  • Đảm bảo tuân thủ nguyên tắc: Hãy xem lại các nguyên tắc để đảm bảo rằng nội dung của bạn tuân thủ đầy đủ các yêu cầu. Lỗi có thể xảy ra do việc sử dụng nội dung không hợp lệ hoặc thẻ đánh dấu không đúng. Lưu ý rằng một số vấn đề có thể không phải là lỗi cú pháp, do đó, Công cụ kiểm tra kết quả nhiều định dạng có thể không phát hiện ra chúng.
  • Khắc phục sự cố hiển thị: Nếu bạn gặp tình trạng thiếu kết quả nhiều định dạng hoặc tổng số kết quả nhiều định dạng giảm, hãy dành thời gian để Google thu thập dữ liệu và lập chỉ mục lại trang của bạn. Hãy nhớ rằng quá trình này có thể mất vài ngày sau khi bạn xuất bản trang mới.
  • Tham khảo thêm: Đối với các câu hỏi chung về quá trình thu thập dữ liệu và lập chỉ mục, hãy tham khảo phần Câu hỏi thường gặp về thu thập dữ liệu và lập chỉ mục trên Google Tìm kiếm. Ngoài ra, bạn có thể đăng câu hỏi của mình trong diễn đàn của Trung tâm Google Tìm kiếm để nhận thêm sự hỗ trợ từ cộng đồng.

Băng chuyền dữ liệu có cấu trúc không chỉ là một phương tiện hiệu quả để tối ưu hóa khả năng hiển thị của trang web trên Google, mà còn mang lại trải nghiệm tốt hơn cho người dùng khi tìm kiếm. Bằng cách áp dụng các hướng dẫn và nguyên tắc đã đề cập, bạn có thể tối ưu hóa nội dung của mình để thu hút sự chú ý từ Google và người dùng, từ đó nâng cao hiệu suất SEO và tăng cường khả năng cạnh tranh của doanh nghiệp trực tuyến.

Facebook
X
LinkedIn
Tumblr
Threads
logo_v4seowebsite

V4SEO là đội ngũ SEO & Web xuất phát từ Nha Trang, triển khai dự án cho doanh nghiệp trên toàn quốc. Chúng tôi cung cấp Dịch vụ SEO Nha Trang theo chuẩn Google, kết hợp kỹ thuật, nội dung và entity để tăng trưởng bền vững. Song song, Dịch vụ thiết kế website Nha Trang tối ưu UX, tốc độ và Core Web Vitals nhằm tối đa chuyển đổi; báo cáo minh bạch, hỗ trợ dài hạn.

Nội dung được sự cố vấn của chuyên gia SEO - Võ Quang Vinh
author-founder-v4seowebsite

Võ Quang Vinh – Chuyên gia SEO với hơn 10 năm kinh nghiệm triển khai hàng trăm dự án SEO tổng thể, từ thương mại điện tử đến dịch vụ địa phương. Từng đảm nhiệm vai trò SEO và là Keymember tại Gobranding và dân dắt đội SEO BachhoaXanh.com, anh là người đứng sau nhiều chiến dịch tăng trưởng traffic vượt bậc. Hiện tại, Vinh là người sáng lập và điều hành V4SEO, cung cấp giải pháp SEO & thiết kế website chuẩn UX/UI giúp doanh nghiệp bứt phá thứ hạng Google và tối ưu chuyển đổi. 

Bài viết liên quan
ĐĂNG KÝ V4SEO NGAY HÔM NAY KHUYẾN MÃI 15% TẤT CẢ DỊCH VỤ ÁP DỤNG TỚI HẾT THÁNG 1/2026

Nhận tư vấn từ V4SEO Đăng ký ngay hôm nay Bứt phá trong mai sau