瞭解結構化資料的運作方式

Google 搜尋會盡力瞭解網頁內容。您可以在網頁上使用結構化資料,將網頁內容相關的明確線索提供給 Google,進而協助我們。 結構化資料是一種標準化格式,作用是提供網頁相關資訊並將網頁內容分類。例如在食譜網頁上,結構化資料就能分類材料、烹飪時間和溫度、熱量等內容。

Google 會利用從網路上找到的結構化資料來瞭解網頁內容,以及收集網路和全球的資訊。舉例來說,食譜網頁可能會出現以下 JSON-LD 結構化資料程式碼片段,介紹食譜的名稱、作者以及其他詳細資料:

<html>
  <head>
    <title>Party Coffee Cake</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Party Coffee Cake",
      "author": {
        "@type": "Person",
        "name": "Mary Stone"
      },
      "datePublished": "2018-03-10",
      "description": "This coffee cake is awesome and perfect for parties.",
      "prepTime": "PT20M"
    }
    </script>
  </head>
  <body>
    <h2>Party coffee cake recipe</h2>
    <p>
      <em>by Mary Stone, 2018-03-10</em>
    </p>
    <p>
      This coffee cake is awesome and perfect for parties.
    </p>
    <p>
      Preparation time: 20 minutes
    </p>
  </body>
</html>

Google 搜尋也會使用結構化資料來提供特殊搜尋結果功能和強化項目。例如,當食譜網頁提供了有效的結構化資料,就可以顯示在圖片搜尋結果中,如下所示:

搜尋外觀

蘋果派食譜複合式搜尋結果

結構化資料

<html>
  <head>
    <title>Apple Pie by Grandma</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Apple Pie by Grandma",
      "author": "Elaine Smith",
      "image": "http://images.edge-generalmills.com/56459281-6fe6-4d9d-984f-385c9488d824.jpg",
      "description": "A classic apple pie.",
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.8",
        "reviewCount": "7462",
        "bestRating": "5",
        "worstRating": "1"
      },
      "prepTime": "PT30M",
      "totalTime": "PT1H30M",
      "recipeYield": "8",
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "512 calories"
      },
      "recipeIngredient": [
        "1 box refrigerated pie crusts, softened as directed on box",
        "6 cups thinly sliced, peeled apples (6 medium)"
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

由於結構化資料會為食譜的各個元素加上標籤,因此使用者可以依據食材、熱量和烹飪時間等條件搜尋您的食譜。

編寫結構化資料時,請在資訊所屬網頁上使用頁內標記,且必須描述該網頁的內容。請不要單純為了放置結構化資料而建立空白網頁,也不要為使用者無法瀏覽的資訊加上結構化資料,即使資訊正確無誤亦然。如要進一步瞭解技術和品質指南,請參閱結構化資料通用指南

結構化資料格式

這份說明文件旨在介紹結構化資料的必要屬性、建議屬性及選用屬性,並且說明這些屬性對 Google 搜尋的特殊意義。雖然大部分的 Google 搜尋結構化資料都使用 schema.org 詞彙,但在瞭解 Google 搜尋的運作方式時,請忽略 schema.org 的說明文件,並以 Google 搜尋中心說明文件為最終參考指南。schema.org 上有許多屬性或物件對其他服務、工具和平台來說可能很實用,但對 Google 搜尋而言並非必要。

在開發期間,請務必使用複合式搜尋結果測試來檢驗結構化資料,並於部署完成後,透過複合式搜尋結果狀態報告監控網頁的健康狀況,因為網頁可能會在部署完成後因為範本問題或提供服務時出現差錯而毀損。

您的物件必須包含所有必要屬性,才能以進階顯示功能的形式顯示在 Google 搜尋中。一般而言,只要定義更多建議的功能,資訊就更有可能以進階顯示功能的形式呈現在搜尋結果中。 不過,與其設法將所有可能的建議屬性一網打盡,但卻因為不完整、格式錯誤或不正確的資料而漏洞百出,還不如採取量少質精策略,提供較少的建議屬性,但個個完整無誤。

除了此處列出的屬性和物件之外,通常 Google 也能運用 sameAs 屬性和其他 schema.org 結構化資料。若有需要,這些元素也可能在未來的搜尋功能中派上用場。

若無另行說明,Google 搜尋支援以下格式的結構化資料:

格式
JSON-LD* (建議) 這是一種嵌入在網頁標頭或內文 <script> 標記中的 JavaScript 標記法。由於標記不會與使用者可見的文字交錯,因此巢狀資料項目可透過更簡易的方式表達,例如 Country > PostalAddress > MusicVenue > Event。此外,Google 能夠解讀以動態方式植入網頁內容的 JSON-LD 資料,例如透過 JavaScript 程式碼或內容管理系統中的內嵌小工具植入的資料。
微資料 一種開放社群 HTML 規格,用於為結構化資料在 HTML 內容中建立巢狀結構。例如 RDFa 會使用 HTML 標籤屬性為您想要以結構化資料形式呈現的資源命名。通常用於網頁內文,但也可用於標題。
RDFa 一種 HTML5 擴充功能,透過引入與使用者可見內容對應的 HTML 標記屬性來支援連結資料,可用於您想要對搜尋引擎描述的使用者內容。RDFa 經常用於 HTML 網頁的標題和本文部分。

結構化資料指南

請務必遵循結構化資料通用指南和您結構化資料所屬類型的專屬規範,否則您的結構化資料可能會無法顯示在 Google 搜尋的複合式搜尋結果中。

開始使用結構化資料

如果您是第一次使用結構化資料,請參閱 schema.org 結構化資料新手指南。雖然該指南側重於說明微資料,不過基本概念與 JSON-LD 和 RDFa 相關。如需在網頁中新增結構化資料的逐步指南,請前往結構化資料程式碼研究室

熟悉結構化資料的基本概念後,請探索 Search Gallery 並選取要實作的功能。每份指南都會詳細說明如何實作結構化資料,讓您的網站能在 Google 搜尋中顯示複合式搜尋結果。

探索 Search Gallery