度假民宿 (VacationRental) 結構化資料

這張插圖顯示 Google 搜尋中的度假民宿

在度假民宿資訊頁面加入結構化資料後,Google 搜尋就能以更豐富的方式顯示您的商家資訊。使用者可以在搜尋結果中看到名稱、說明、圖片、地點、評分、評論等資訊。

事前須知

這些操作說明適用於已與 Google 客戶技術顧問連結,並能存取 Hotel Center 的網站。如果您有意整合度假民宿資訊,但 Google 尚未與您聯絡,請使用度假民宿意願調查表與我們聯絡。

這項功能僅適用於符合特定資格條件且必須進行額外步驟以完成整合作業的網站。如要進一步瞭解如何在 Google 上刊登度假民宿資訊,請參閱整合入門指南

如何新增結構化資料

結構化資料是一種標準化格式,能夠提供網頁相關資訊並分類網頁內容。如果您是第一次使用結構化資料,請參閱這篇文章,進一步瞭解結構化資料的運作方式。

以下簡要說明如何建立、測試及發布結構化資料。

  1. 新增必要屬性。根據您使用的格式,瞭解要在網頁中的什麼位置插入結構化資料
  2. 遵循指南規範
  3. 使用複合式搜尋結果測試驗證程式碼,並修正所有重大錯誤。此外,我們也建議您修正工具中可能標記的任何非重大問題,因為這有助於改善結構化資料的品質 (但並非符合複合式搜尋結果的顯示條件)。
  4. 部署幾個包含結構化資料的網頁,並使用網址檢查工具測試 Google 轉譯網頁的情形。請確認 Google 可以存取您的網頁,且網頁並未遭到 robots.txt 檔案或 noindex 標記封鎖,也未設有登入規定。如果網頁看起來沒問題,您可以要求 Google 重新檢索您的網址
  5. 為了讓 Google 掌握日後的異動內容,建議您提交 Sitemap。您可以使用 Search Console Sitemap API 自動執行這項操作。

範例

以下是採用 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>

適用資格準則

您的度假民宿結構化資料必須符合下列規範,才能顯示在 Google 搜尋中。

結構化資料類型定義

下表列出使用 schema.org/VacationRental 來標記度假民宿資訊的屬性和使用方式。您的結構化資料必須包含必要的屬性才能顯示。您也可以加入建議的屬性,為內容新增更多相關資訊,提供更優質的使用者體驗。

VacationRental

schema.org/VacationRental 內提供 VacationRental 的完整定義。

必要屬性
containsPlace

Accommodation

度假民宿商家資訊必須包含一項住宿,才能標記其他詳細資料,例如床鋪、可住人數、客房數量和 amenityFeature 資源。

containsPlace.occupancy

QuantitativeValue

有關度假民宿資訊中允許入住房客人數上限的資訊。

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

Integer

度假民宿資訊中允許入住房客的人數值。

identifier

Text

資源的專屬 ID。

其他規範:

  • ID 必須與資訊內容無關;舉例來說,當資源擁有者更新資訊名稱或房間數量時,資源並不會發生變化。
  • 必須為不同語言中的同一資訊使用相同的 ID。
image

重複的 URL

一或多張商家的圖片。商家至少需要 8 張相片 (以下每個項目至少各 1 張圖片:臥室、浴室和公共區域)。

此外,請遵守資源資訊圖片規定

latitude
(或 geo.latitude)

Number

商家所在地點的緯度,精確度必須至少達到第 5 位小數。

longitude
(或 geo.longitude)

Number

商家所在地點的經度。精確度必須至少達到第 5 位小數。

name

Text

度假民宿資訊的名稱。

建議屬性
additionalType

Text

度假民宿資訊的類型。以下提供幾個建議值:

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

這些值的完整定義請參閱住宿服務商家類別

address

PostalAddress

度假民宿的完整實際地點。

請提供度假民宿的街道地址、城市、州/省或區域,以及郵遞區號。如果有的話,也請提供住宅單元或公寓的號碼。

請注意,郵政信箱或其他僅供郵寄的地址都不算是完整的實際地址。

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

Text

度假商家所在國家/地區,使用雙字母的 ISO 3166-1 alpha-2 國家/地區代碼

address.addressLocality

Text

度假商家所在的城市。

address.addressRegion

Text

商家所在的州、區域或省名。

address.postalCode

Text

度假商家的郵遞區號。

address.streetAddress

Text

度假商家的完整街道地址,包括住宅單元或公寓的號碼 (如有)。

aggregateRating

AggregateRating

平均度假民宿評分是根據多項評分或評論計算得出。請遵循評論摘錄規範,以及必要和建議的 AggregateRating 屬性清單。

brand

Brand

與這個房源相關聯的品牌 ID。如要進一步瞭解如何將資源與品牌建立關聯,以及如何將品牌圖示和顯示名稱連結至個別品牌 ID,請參閱 Hotel Center 說明文件

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

Time

房客最早可能會入住住宿場所的時間,採用 ISO 8601 格式

範例:14:30:00+08:00

checkoutTime

Time

房客最晚可能會入住住宿場所的時間,採用 ISO 8601 格式

範例:14:30:00+08:00

containsPlace.additionalType

Text

此住宿的房型。請使用下列其中一個值:

  • EntirePlace
  • PrivateRoom
  • SharedRoom
containsPlace.amenityFeature

重複的 amenityFeature

資源是否具有特定特色或設施。布林值範例遵循以下模式:

"amenityFeature": {
  "@type": "LocationFeatureSpecification",
  "name" : "featureName",
  "value": true
}
布林值

amenityFeature.name 屬性使用下列其中一個值。這些值必須使用英文,即使是非英文的商家也是如此。

ac

資源是否有空調。

airportShuttle

房主是否提供往返機場或其他航廈的交通服務。

balcony

資源是否有陽台。

beachAccess

資源是否可通往附近的公共海灘。

childFriendly

資源是否適合兒童。

crib

資源是否提供嬰兒床。

elevator

資源是否有電梯。

fireplace

資源是否有壁爐。

freeBreakfast

資源是否包含早餐。

gymFitnessEquipment

資源是否有健身房或健身器材。

heating

資源是否有暖氣。

hotTub

資源是否有熱水浴缸。

instantBookable

資源是否可透過結帳程序立即預訂。替代方法是等待核准。

ironingBoard

資源是否提供熨衣板。

kitchen

資源是否有廚房。

microwave

資源是否有微波爐。

outdoorGrill

資源是否有燒烤架。

ovenStove

資源是否有烤箱或火爐。

patio

資源是否有露台。

petsAllowed

房客是否可以攜帶寵物入住。

pool

資源是否設有泳池。

privateBeachAccess

資源是否擁有專屬的非公共海灘。

selfCheckinCheckout

資源是否提供自助入住和退房服務。

smokingAllowed

室內是否允許房客吸菸。

tv

資源是否有電視。

washerDryer

資源是否提供洗衣機。

wheelchairAccessible

資源是否提供無障礙設施。

wifi

資源是否有 Wi-Fi。

非布林值

對於 amenityFeature,我們也支援下列非布林值 namevalue 組合。這兩個值都必須使用英文,即使是非英文的商家也是如此。

非布林值遵循以下模式:

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

internetType

資源提供的網際網路類型。以下提供幾個建議值:

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

parkingType

資源提供的停車類型。以下提供幾個建議值:

  • Free
  • Paid
  • None

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

資源提供的泳池類型。以下提供幾個建議值:

  • Indoor
  • Outdoor
  • None

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

licenseNum

在全球某些地區需要顯示的資源執照號碼 (遊客或商家)。如果有多份執照,則可以重複添加,建議新增執照發證機構做為背景資訊 (例如:Paris: 123456ABC)。

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

重複的 BedDetails

商家資訊中的床位類型和數量相關資訊。

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

Integer

商家資訊中的床位數。

containsPlace.bed.typeOfBed

Text

商家資訊中的床位類型。以下提供幾個建議值:

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

containsPlace.floorSize

QuantitativeValue

住宿場所大小。必須使用 unitCode 屬性值指定:

  • 以平方英尺為單位:FTKSQFT
  • 以平方公尺為單位:MTKSQM
"floorSize": {
  "@type": "QuantitativeValue",
  "value" : 75,
  "unitCode": "MTK"
  }
containsPlace.numberOfBathroomsTotal

Integer

商家資訊中的浴室總數。請遵循 RESO 文件中所述的的房地產慣例,並採用浴室數量的簡單總和。舉例來說,如果資源有兩間標準浴室和一間半套浴室,則浴室總數為 2.5。

containsPlace.numberOfBedrooms

Integer

商家資訊中的臥室總數。

containsPlace.numberOfRooms

Integer

商家資訊中的會議室總數。

description

Text

資源的說明。

knowsLanguage

Repeated Text

屋主可以使用語言。請使用符合 IETF BCP 47 標準的語言代碼,例如 en-USfr-FR

review

Repeated Review

商家資訊的一或多則使用者評論。請遵循評論摘錄規範,以及必要和建議的 review 屬性清單。

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

DateTime

作者的入住的開始日期。

透過 Search Console 監控複合式搜尋結果

Search Console 這項工具能協助您監控網頁在 Google 搜尋中的成效。 Google 會主動將您的網頁納入搜尋結果,您無需為此申請使用 Search Console,但是您可以藉由這項服務瞭解並改善 Google 檢索您網站的方式。建議在下列情況查看 Search Console:

  1. 首次部署結構化資料後
  2. 發布新範本或更新程式碼後
  3. 定期分析流量

首次部署結構化資料後

在 Google 為網頁建立索引後,請透過相關的複合式搜尋結果狀態報告查看是否存在任何問題。理想情況下,有效項目會增加,但無效項目不會變多。如果您在結構化資料中發現問題,請依下列步驟操作:

  1. 修正無效項目
  2. 檢查線上網址,查看問題是否仍繼續發生。
  3. 透過狀態報告要求驗證

發布新範本或更新程式碼後

當您對網站進行大幅變更時,請留意結構化資料中無效項目是否增加。
  • 如果無效項目增加,代表您推出的新範本可能無法正常運作,或者您的網站採用新方式與現有範本互動,但效果不佳。
  • 如果有效項目減少,但錯誤並未隨之增加,代表您的網頁可能已不再內嵌結構化資料。請使用網址檢查工具找出問題的成因。

定期分析流量

透過成效報表分析您的 Google 搜尋流量。 這些資料會顯示您的網頁在 Google 搜尋中呈現為複合式搜尋結果的頻率、使用者點擊的頻率,以及您的搜尋結果平均排名。您也可以使用 Search Console API 自動提取這些結果。

疑難排解

如果無法順利導入結構化資料,或是偵錯時遇到困難,請參考下列資源。

  • 如果您使用內容管理系統 (CMS) 或者有他人代您處理網站事務,請向對方尋求協助。請務必將所有與問題相關的 Search Console 訊息都轉寄給對方,這些訊息會針對問題提供詳細說明。
  • Google 不保證採用結構化資料的功能一定會顯示在搜尋結果中。如要瞭解為何 Google 無法將您的內容顯示為複合式搜尋結果,請參閱結構化資料通用指南裡的常見原因清單。
  • 結構化資料可能含有錯誤。請查看結構化資料錯誤清單
  • 如果您的網頁遭到結構化資料專人介入處理處置,系統會忽略網頁上的結構化資料,但該網頁仍然會出現在 Google 搜尋結果中。請使用專人介入處理報告來修正結構化資料問題
  • 再次查看指南規範,確認您的內容是否符合規定。問題可能是因為垃圾內容或不當使用的標記所引起。不過,因為問題可能與語法無關,所以複合式搜尋結果測試無法找出問題所在。
  • 疑難排解:未出現複合式搜尋結果/複合式搜尋結果總數減少
  • 請等待一段時間,讓系統執行重新檢索和重新建立索引作業。在發布網頁後,Google 可能需要幾天時間才會找到網頁並進行檢索。如有關於檢索和索引建立作業的一般問題,請參閱 Google 搜尋檢索和索引常見問題
  • 前往 Google 搜尋中心論壇發文提問。