Dữ liệu có cấu trúc loại căn hộ du lịch (VacationRental)

Hình minh hoạ căn hộ du lịch trên Google Tìm kiếm

Khi bạn thêm dữ liệu có cấu trúc vào trang thông tin về căn hộ du lịch của mình, Google Tìm kiếm có thể hiển thị trang thông tin đó theo nhiều cách hơn. Người dùng có thể xem thông tin về trang thông tin đó, chẳng hạn như tên, nội dung mô tả, hình ảnh, vị trí, điểm xếp hạng, bài đánh giá và nhiều thông tin khác ngay trong kết quả tìm kiếm.

Trước khi bắt đầu

Những hướng dẫn này dành cho các trang web đã được kết nối với một Nhà quản lý tài khoản hỗ trợ kỹ thuật của Google và có quyền truy cập vào Hotel Center. Nếu bạn muốn tích hợp trang thông tin về căn hộ du lịch nhưng chưa được Google liên hệ, vui lòng liên lạc với chúng tôi bằng biểu mẫu bày tỏ sự quan tâm đối với căn hộ du lịch.

Tính năng này chỉ dành cho những trang web đáp ứng một số tiêu chí nhất định và phải triển khai thêm một số bước để hoàn tất quy trình tích hợp. Để tìm hiểu thêm về cách đăng thông tin về căn hộ du lịch trên Google, hãy xem hướng dẫn tích hợp dành cho người mới bắt đầu.

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

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

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

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

Ví dụ

Đây là một ví dụ về một trang thông tin đơn giản về căn hộ du lịch sử dụng JSON-LD.


<html>
  <head>
    <title>My Beautiful Vacation Rental</title>
    <script type="application/ld+json">
      {
        "@context": "https://schema.org",
        "@type": "VacationRental",
        "additionalType": "HolidayVillageRental",
        "brand": {
          "@type": "Brand",
          "name": "brandIdName"
        },
        "containsPlace": {
          "@type": "Accommodation",
          "additionalType": "EntirePlace",
          "bed": [{
            "@type": "BedDetails",
            "numberOfBeds" : 1,
            "typeOfBed": "Queen"
          },
          {
            "@type": "BedDetails",
            "numberOfBeds" : 2,
            "typeOfBed": "Single"
          }],
         "occupancy": {
            "@type": "QuantitativeValue",
            "value" : 2
          },
          "amenityFeature": [
            {
              "@type": "LocationFeatureSpecification",
              "name": "ac",
              "value": true
            },
            {
              "@type": "LocationFeatureSpecification",
              "name": "airportShuttle",
              "value": true
            },
            {
             "@type": "LocationFeatureSpecification",
              "name": "balcony",
              "value": true
            },
            {
              "@type": "LocationFeatureSpecification",
              "name": "beachAccess",
              "value": true
            },
            {
              "@type": "LocationFeatureSpecification",
              "name": "childFriendly",
              "value": true
            }
          ],
          "floorSize": {
            "@type": "QuantitativeValue",
            "value" : 75,
            "unitCode": "MTK"
          },
          "numberOfBathroomsTotal": 1,
          "numberOfBedrooms": 3,
          "numberOfRooms": 5
        },
        "identifier": "abc123",
        "latitude": "42.12345",
        "longitude": "101.12345",
        "name": "My Beautiful Vacation Rental",
        "address": {
          "addressCountry": "US",
          "addressLocality": "Mountain View",
          "addressRegion": "California",
          "postalCode": "94043",
          "streetAddress": "1600 Amphitheatre Pkwy, Unit 6E"
        },
        "aggregateRating": {
          "ratingValue": 4.5,
          "ratingCount": 10,
          "reviewCount": 3,
          "bestRating": 5
        },
        "image": [
          "https://example.com/mylisting/unit_image1.png",
          "https://example.com/mylisting/unit_image2.png",
          "https://example.com/mylisting/unit_image3.png",
          "https://example.com/mylisting/unit_image4.png",
          "https://example.com/mylisting/unit_image5.png",
          "https://example.com/mylisting/unit_image6.png",
          "https://example.com/mylisting/unit_image7.png",
          "https://example.com/mylisting/unit_image8.png"
        ],
        "checkinTime": "18:00:00+08:00",
        "checkoutTime": "11:00:00+08:00",
        "description": "A great Vacation Rental in the perfect neighborhood.",
        "knowsLanguage": ["en-US", "fr-FR"],
        "review": [{
          "@type": "Review",
          "reviewRating": {
            "@type": "Rating",
            "ratingValue": 4,
            "bestRating": 5
          },
          "author": {
            "@type": "Person",
            "name": "Lillian Ruiz"
          },
          "datePublished": "2024-12-01",
          "contentReferenceTime": "2024-11-17"
        },
        {
          "@type": "Review",
          "reviewRating": {
            "@type": "Rating",
            "ratingValue": "5",
            "bestRating": "5"
          },
          "author": {
            "@type": "Person",
            "name": "John S."
          },
          "datePublished": "2024-10-01",
          "contentReferenceTime": "2024-09-28"
        }
      ]
      }
    </script>
  </head>
  <body></body>
  </html>

Nguyên tắc đủ điều kiện

Bạn phải tuân thủ các nguyên tắc này để dữ liệu có cấu trúc về căn hộ du lịch của bạn đáp ứng điều kiện sử dụng trong Google Tìm kiếm.

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

Các bảng sau liệt kê các thuộc tính và cách đánh dấu trang thông tin về căn hộ du lịch bằng schema.org/VacationRental. Bạn phải cung cấp các thuộc tính bắt buộc để dữ liệu có cấu trúc của bạn đủ điều kiện xuất hiện. 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.

VacationRental

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

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

Accommodation

Trang thông tin căn hộ du lịch phải chứa một thuộc tính Accommodation để đánh dấu những thông tin bổ sung như giường, số người lưu trú, số phòng và đặc điểm amenityFeature.

containsPlace.occupancy

QuantitativeValue

Thông tin về số lượng khách tối đa được phép lưu trú tại trang thông tin căn hộ du lịch.

"occupancy": {
  "@type": "QuantitativeValue",
  "value" : 5
  }
containsPlace.occupancy.value

Integer

Giá trị dạng số về số khách được phép lưu trú tại trang thông tin căn hộ du lịch.

identifier

Text

Giá trị nhận dạng riêng biệt của cơ sở lưu trú.

Nguyên tắc khác:

  • Giá trị nhận dạng này phải riêng biệt với nội dung của trang thông tin; ví dụ: giá trị này sẽ không thay đổi khi chủ sở hữu cơ sở lưu trú cập nhật tên trang thông tin hoặc số lượng phòng ngủ.
  • Bạn phải sử dụng cùng một giá trị nhận dạng đối với cùng một trang thông tin bằng nhiều ngôn ngữ.
image

URL lặp lại

Một hoặc nhiều hình ảnh của trang thông tin. Trang thông tin phải có ít nhất 8 ảnh (ít nhất 1 ảnh về từng khu vực sau đây: phòng ngủ, phòng tắm và khu vực chung).

Ngoài ra, hãy tuân thủ Các yêu cầu đối với hình ảnh trên trang thông tin về cơ sở lưu trú.

latitude
(hoặc geo.latitude)

Number

Vĩ độ của địa điểm cơ sở lưu trú. Giá trị này phải có ít nhất 5 chữ số thập phân.

longitude
(hoặc geo.longitude)

Number

Kinh độ của địa điểm cơ sở lưu trú. Giá trị này phải có ít nhất 5 chữ số thập phân.

name

Text

Tên của trang thông tin căn hộ du lịch.

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

Text

Loại trang thông tin căn hộ du lịch. Sau đây là một số giá trị được đề xuất:

  • Apartment
  • Bungalow
  • Cabin
  • Chalet
  • Cottage
  • Gite
  • HolidayVillageRental
  • House
  • Villa
  • VacationRental

Bạn có thể xem định nghĩa đầy đủ về những giá trị này trong phần Danh mục cơ sở kinh doanh dịch vụ lưu trú.

address

PostalAddress

Vị trí thực tế đầy đủ của căn hộ du lịch.

Cung cấp địa chỉ đường phố, thành phố, tiểu bang hoặc khu vực và mã bưu chính của căn hộ du lịch. Cung cấp số phòng hoặc số căn hộ (nếu có).

Xin lưu ý rằng các địa chỉ hòm thư hoặc địa chỉ nhận thư khác không được coi là địa chỉ thực tế đầy đủ.

"address": {
  "addressCountry": "US",
  "addressLocality": "Mountain View",
  "addressRegion": "California",
  "postalCode": "94043",
  "streetAddress": "1600 Amphitheatre Pkwy, Apartment 4E"
}
address.addressCountry

Text

Quốc gia của cơ sở lưu trú, sử dụng mã quốc gia gồm 2 chữ cái theo ISO 3166-1 alpha-2.

address.addressLocality

Text

Thành phố của cơ sở lưu trú.

address.addressRegion

Text

Tên tiểu bang, khu vực hoặc tỉnh của cơ sở lưu trú.

address.postalCode

Text

Mã bưu chính của cơ sở lưu trú.

address.streetAddress

Text

Địa chỉ đường phố đầy đủ của cơ sở lưu trú, bao gồm cả số nhà hoặc số căn hộ (nếu có).

aggregateRating

AggregateRating

Điểm xếp hạng trung bình của căn hộ du lịch, dựa trên nhiều điểm xếp hạng hoặc bài đánh giá. Hãy làm theo nguyên tắc về đoạn trích thông tin đánh giá và danh sách thuộc tính bắt buộc và nên có đối với điểm xếp hạng tổng hợp.

brand

Brand

Mã thương hiệu được liên kết với cơ sở lưu trú này. Đọc thêm về cách liên kết cơ sở lưu trú của bạn với thương hiệu, cũng như cách liên kết biểu tượng thương hiệu và tên hiển thị của bạn với mã thương hiệu tương ứng trong tài liệu của Hotel Center.

"brand": {
  "@type": "Brand",
  "name" : "brandIdName"
}
checkinTime

Time

Thời điểm sớm nhất mà khách có thể nhận phòng ở một cơ sở lưu trú, theo định dạng ISO 8601.

Ví dụ: 14:30:00+08:00

checkoutTime

Time

Thời điểm muộn nhất mà khách có thể trả phòng ở một cơ sở lưu trú, theo định dạng ISO 8601.

Ví dụ: 14:30:00+08:00

containsPlace.additionalType

Text

Loại phòng trong cơ sở lưu trú này. Hãy dùng một trong những giá trị sau:

  • EntirePlace
  • PrivateRoom
  • SharedRoom
containsPlace.amenityFeature

amenityFeature lặp lại

Cơ sở lưu trú có đặc điểm hoặc tiện nghi nào đó hay không. Các ví dụ dạng Boolean tuân theo mẫu sau:

"amenityFeature": {
  "@type": "LocationFeatureSpecification",
  "name" : "featureName",
  "value": true
}
Giá trị boolean

Hãy dùng một trong những giá trị sau cho thuộc tính amenityFeature.name. Các giá trị này phải bằng tiếng Anh, kể cả đối với trang thông tin không phải bằng tiếng Anh.

ac

Cơ sở lưu trú có máy điều hoà không khí hay không.

airportShuttle

Cơ sở lưu trú có cung cấp dịch vụ đưa đón đến sân bay và các nhà ga khác hoặc theo chiều ngược lại hay không.

balcony

Cơ sở lưu trú có ban công hay không.

beachAccess

Cơ sở lưu trú có lối ra bãi biển công cộng gần khuôn viên hay không.

kidsFriendly

Cơ sở lưu trú có phù hợp với trẻ em hay không.

crib

Cơ sở lưu trú có giường cũi cho trẻ em hay không.

elevator

Cơ sở lưu trú có thang máy hay không.

fireplace

Cơ sở lưu trú có lò sưởi hay không.

freeBreakfast

Cơ sở lưu trú có cung cấp bữa sáng (đã bao gồm) hay không.

gymFitnessEquipment

Cơ sở lưu trú có phòng tập thể dục hoặc thiết bị tập thể dục hay không.

heating

Cơ sở lưu trú có hệ thống sưởi ấm hay không.

hotTub

Cơ sở lưu trú có bồn tắm nước nóng hay không.

instantBookable

Cơ sở lưu trú có cho phép đặt phòng ngay lập tức thông qua quy trình thanh toán hay không. Một phương thức khác là chờ phê duyệt.

ironingBoard

Cơ sở lưu trú có bàn là hay không.

kitchen

Cơ sở lưu trú có khu bếp hay không.

microwave

Cơ sở lưu trú có lò vi sóng hay không.

outdoorGrill

Cơ sở lưu trú có bếp nướng hay không.

ovenStove

Cơ sở lưu trú có lò nướng hoặc bếp lò hay không.

patio

Cơ sở lưu trú có sân hiên hay không.

petsAllowed

Khách có được phép mang thú cưng đến cơ sở lưu trú hay không.

pool

Cơ sở lưu trú có bể bơi hay không.

privateBeachAccess

Cơ sở lưu trú có lối đi riêng dẫn ra bãi biển dành riêng cho khách lưu trú hay không.

selfCheckinCheckout

Cơ sở lưu trú có hỗ trợ tính năng tự nhận phòng và trả phòng hay không.

smokingAllowed

Cơ sở lưu trú có cho phép hút thuốc hay không.

tv

Cơ sở lưu trú có TV hay không.

washerDryer

Cơ sở lưu trú có máy giặt hay không.

wheelchairAccessible

Cơ sở lưu trú có lối đi cho xe lăn hay không.

wifi

Cơ sở lưu trú có mạng Wi-Fi hay không.

Giá trị không phải boolean

Chúng tôi cũng hỗ trợ các cặp giá trị namevalue sau đây (không phải là giá trị boolean) cho amenityFeature. Cả hai giá trị đều phải bằng tiếng Anh, kể cả đối với trang thông tin không bằng tiếng Anh.

Những giá trị không phải boolean tuân theo mẫu sau:

"amenityFeature": {
  "@type": "LocationFeatureSpecification",
  "name" : "featureName",
  "value": "detail"
  }

internetType

Loại Internet hiện có tại cơ sở lưu trú. Sau đây là một số giá trị được đề xuất:

  • Free
  • Paid
  • None

"amenityFeature": {
  "@type": "LocationFeatureSpecification",
  "name" : "internetType",
  "value": "Free"
}

parkingType

Loại chỗ đỗ xe hiện có tại cơ sở lưu trú. Sau đây là một số giá trị được đề xuất:

  • Free
  • Paid
  • None

"amenityFeature": {
  "@type": "LocationFeatureSpecification",
  "name" : "parkingType",
  "value": "Free"
}
poolType

Loại hồ bơi hiện có tại cơ sở lưu trú. Sau đây là một số giá trị được đề xuất:

  • Indoor
  • Outdoor
  • None

"amenityFeature": {
  "@type": "LocationFeatureSpecification",
  "name" : "poolType",
  "value": "Outdoor"
}

licenseNum

Số giấy phép (dành cho khách du lịch hoặc doanh nghiệp) cần phải xuất trình đối với cơ sở lưu trú ở một số khu vực trên thế giới. Giá trị này có thể lặp lại và nếu có nhiều giấy phép, bạn nên thêm thông tin về cơ quan cấp phép có liên quan (ví dụ: Paris: 123456ABC).

"amenityFeature": {
  "@type": "LocationFeatureSpecification",
  "name" : "licenseNum",
  "value": "Paris: 123456ABC"
}
containsPlace.bed

BedDetails lặp lại

Thông tin về loại và số giường của cơ sở lưu trú.

"bed": [{
  "@type": "BedDetails",
  "numberOfBeds" : 1,
  "typeOfBed": "Queen"
  },
  {
  "@type": "BedDetails",
  "numberOfBeds" : 2,
  "typeOfBed": "Single"
  }]
containsPlace.bed.numberOfBeds

Integer

Số giường của cơ sở lưu trú.

containsPlace.bed.typeOfBed

Text

Loại giường của cơ sở lưu trú. Sau đây là một số giá trị được đề xuất:

  • CaliforniaKing
  • King
  • Queen
  • Full
  • Double
  • SemiDouble
  • Single

containsPlace.floorSize

QuantitativeValue

Diện tích cơ sở lưu trú. Bạn phải chỉ định giá trị này bằng cách sử dụng các giá trị thuộc tính unitCode:

  • Đối với feet vuông: FTK hoặc SQFT
  • Đối với mét vuông: MTK hoặc SQM
"floorSize": {
  "@type": "QuantitativeValue",
  "value" : 75,
  "unitCode": "MTK"
  }
containsPlace.numberOfBathroomsTotal

Integer

Tổng số phòng tắm của cơ sở lưu trú. Tuân theo các quy ước về bất động sản như trong tài liệu của RESO và sử dụng giá trị tổng đơn giản cho số phòng tắm. Ví dụ: đối với cơ sở lưu trú có 2 phòng tắm đầy đủ và 1 phòng tắm cơ bản, thì tổng số phòng tắm là 2,5.

containsPlace.numberOfBedrooms

Integer

Tổng số phòng ngủ của cơ sở lưu trú.

containsPlace.numberOfRooms

Integer

Tổng số phòng của cơ sở lưu trú.

description

Text

Nội dung mô tả cơ sở lưu trú.

knowsLanguage

Repeated Text

Ngôn ngữ mà người tiếp đón nói được tại cơ sở lưu trú. Sử dụng mã ngôn ngữ theo tiêu chuẩn IETF BCP 47, chẳng hạn như en-US hoặc fr-FR.

review

Repeated Review

Một hoặc nhiều bài đánh giá của người dùng về cơ sở lưu trú. Hãy tuân theo các nguyên tắc về đoạn trích thông tin đánh giá và danh sách thuộc tính bắt buộc và nên có đối với bài đánh giá.

"review": {
  "@type": "Review",
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": "4",
    "bestRating": "5"
  },
  "datePublished": "2023-02-09"
  "author": {
    "@type": "Person",
    "name": "Lillian R"
  }
}

review.contentReferenceTime

DateTime

Ngày bắt đầu lưu trú của người đánh giá.

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

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

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

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

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

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

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

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

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

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

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.