預估薪酬 (Occupation) 結構化資料

提供預估薪酬資訊時,您可以使用 Occupation 結構化資料來定義各類型工作的薪酬範圍、各地區平均薪酬以及職業的詳細資料 (例如一般福利、資格認證和學歷要求);也能運用 OccupationAggregationByEmployer 結構化資料,依據經驗程度或聘僱機構等要素匯總數個職業。

預估薪酬能夠顯示在 Google 搜尋的求職服務中,也能以預估薪酬複合式搜尋結果的形式呈現在特定職業的搜尋結果中。

Google 搜尋的求職服務顯示的預估薪酬資訊

如何新增結構化資料

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

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

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

範例

Occupation 範例

以下 JSON-LD 範例會顯示內含預估薪酬資料的簡易 Occupation


<html>
  <head>
    <title>Software Developer, Applications</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Occupation",
      "name": "Software Developer, Applications",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "lastReviewed": "2024-07-23T14:20:00-05:00"
      },
      "description": "Develops information systems by designing, developing, and installing software solutions",
      "estimatedSalary": [
        {
          "@type": "MonetaryAmountDistribution",
          "name": "base",
          "currency": "USD",
          "duration": "P1Y",
          "percentile10": 100000.5,
          "percentile25": 115000,
          "median": 120000.28,
          "percentile75": 130000,
          "percentile90": 150000
        }
      ],
      "occupationLocation": [
        {
          "@type": "City",
          "name": "Mountain View"
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

OccupationAggregationByEmployer 範例

以下 JSON-LD 範例會顯示較為複雜的 OccupationAggregationByEmployer 範例,其中也包含預估薪酬資料:

<html>
  <head>
    <title>App/Web App Developer</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.googleapis.com/",
      "@type": "OccupationAggregationByEmployer",
      "name": "App/Web App Developer",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "lastReviewed": "2024-07-23T14:20:00-05:00"
      },
      "description": "Develops information systems by designing, developing, and installing software solutions.",
      "estimatedSalary": [
        {
          "@type": "MonetaryAmountDistribution",
          "name": "base",
          "currency": "USD",
          "duration": "P1Y",
          "percentile10": 100000.5,
          "percentile25": 115000,
          "median": 120000.28,
          "percentile75": 130000,
          "percentile90": 150000
        },
        {
          "@type": "MonetaryAmountDistribution",
          "name": "bonus",
          "currency": "USD",
          "duration": "P1Y",
          "percentile10": 10000,
          "percentile25": 20000,
          "median": 25000,
          "percentile75": 27000,
          "percentile90": 60000
        }
      ],
      "occupationLocation": [
        {
          "@type": "State",
          "name": "Oregon"
        },
        {
          "@type": "State",
          "name": "Washington"
        },
        {
          "@type": "State",
          "name": "California"
        }
      ],
      "hiringOrganization": {
        "@type": "Organization",
        "name": "Google LLC"
      },
      "sampleSize":1000,
      "industry": "Technology",
      "jobBenefits": "6 weeks paid vacation every year",
      "yearsExperienceMin": 3,
      "yearsExperienceMax": 7
    }
    </script>
  </head>
  <body>
  </body>
</html>

指南規範

您必須遵守一般的結構化資料品質指南技術指南。此外,Occupation 結構化資料也必須符合下列規範:

技術指南

  • Occupation 結構化資料是獨立資料,不需要與您提供給 Google 的任何其他結構化資料有所關聯。
  • 請從 OccupationOccupationAggregationByEmployer 中擇一加入網頁,且每個網頁只能加入一種類型定義。
  • 確認您的結構化資料與網頁上顯示的內容一致。以下舉幾個例子說明:
    • 您的網頁只會向使用者顯示薪酬中位數,而您的結構化資料只包含這些數據值。
    • 網頁上的每年薪酬資料已四捨五入至最接近的千分之五,而結構化資料也提供相同的精細度。
  • 除非另有規定,否則單一定義中的屬性只能出現一次。
  • 如果職業會因地點而有不同特性 (例如,美國東北部與中西部的薪酬範圍可能不同),請建立不同的網頁,每個網頁各自包含指定不同 occupationLocationOccupation 定義。
  • 請勿將預估薪酬結構化資料加入職業清單頁面 (即列出各種職業的頁面)。
  • 只要網頁有所變更,Sitemap 就應隨之更新,因此請於變更當天更新 Sitemap。

內容指南

  • 如果所有工作的薪酬範圍和說明都類似,請將職稱類似的工作分為一組。職稱必須具體,但不得過於精細而使人難以理解。以下舉幾個例子說明:
    • 不要太模稜兩可:

      不建議的填寫方式:"臨床、諮商和學校心理學家"

      建議的填寫方式:"學校輔導員"、"臨床心理學家"、"臨床治療師"、"心理學博士"

    • 不要太具體:

      不建議的填寫方式:"家庭保健護理師"、"護理師 (RN)" 和 "RN - 護理師 - 家庭保健 - 流動型護理師"

      建議的填寫方式:"護理師"

結構化資料類型定義

本節說明和預估薪酬相關的結構化資料類型。

您的內容必須包含必要的屬性,才能呈現在 Google 求職服務和複合式搜尋結果中。您也可以加入建議的屬性,為內容增添更多相關資訊,提供更優質的使用者體驗。

Occupation

Occupation 類型能定義工作相關資訊,例如預估薪酬、技能要求和相關職責。schema.org/Occupation 內提供 Occupation 的完整定義。

Google 支援的屬性如下:

必要屬性
estimatedSalary

MonetaryAmountDistribution 陣列

這個職業在指定 occupationLocation 中的預估薪酬。請根據百分排名指定薪酬範圍或預估薪酬。

以下是預估薪酬範圍的範例:

"estimatedSalary": [{
  "@type": "MonetaryAmountDistribution",
  "name": "base",
  "currency": "USD",
  "duration": "P1Y",
  "minValue": "100000", // Inherited from QuantitativeValue
  "maxValue": "150000", // Inherited from QuantitativeValue
  "median": "124900" // Inherited from QuantitativeValueDistribution
}]

如要說明底薪、獎金和其他形式的薪酬,請在 estimatedSalary 陣列中定義多個薪酬。您必須指定底薪,其他薪酬類型則可視需要指定。

例如,以下範例同時指定了獎金:

"estimatedSalary": [
  {
    "@type": "MonetaryAmountDistribution",
    "name": "base",
    "currency": "USD",
    "duration": "P1Y",
    "minValue": "100000",
    "maxValue": "150000",
    "median": "124900"
  }, {
    "@type": "MonetaryAmountDistribution",
    "name": "bonus",
    "currency": "USD",
    "duration": "P1Y",
    "minValue": "0",
    "maxValue": "34500",
    "median": "4450"
  }
]
estimatedSalary.duration

Duration

賺得預估薪酬所需的時間長度,採 ISO 8601 日期格式。舉例來說,如果預估薪酬的單位是年薪,請將 duration 設為 P1Y

estimatedSalary.name

Text

值的類型。您必須指定底薪,其他薪酬類型則可視需要指定。 例如 "底薪"、"獎金"、"業績抽成"。

name

Text

職稱。這個屬性可允許非結構化的文字。例如:"軟體工程師"。

最佳做法:

  • 這個屬性只能填入職稱。
  • 請勿在 name 屬性中加入工作代碼、地址、日期、薪酬或公司名稱。

    不建議的填寫方式:立即應徵 IT 工作 -位於布加勒斯特,會說「法語」

    建議的填寫方式:市場專員,會說法語

  • 提供簡短清楚的職稱。
  • 請勿過度使用特殊字元,例如 !*。濫用特殊字元可能會導致系統將您的標記視為垃圾資訊結構化標記。數字和「/」、「-」字元則可接受。

    不建議的填寫方式:*** 倉庫徵人中!!搭公車可抵達!!***

    建議的填寫方式:負責出貨及收貨的倉庫助理

occupationLocation

CityStateCountry 陣列

職業說明的適用地點。如只要指定單一地點,請在單一 Name 屬性中依城市、州/省或國家/地區定義地點。

詳細範例 (建議)

"occupationLocation": {
  "@type": "City", // Maximum level of granularity (recommended)
  "name": "Mountain View, CA, US" // City, State, and Country inputted on same property
}

簡略範例

以下是兩種較為簡略但尚可接受的範例:

"occupationLocation": {
  "@type": "State",
  "name": "CA, US"
}
"occupationLocation": {
  "@type": "Country",
  "name": "US"
}

最佳做法:

  • 請不要提供比城市更小範圍的地點資訊。
  • 如果您所在的國家/地區未設立州,可以在 State 屬性中提供區域名稱。
  • occupationLocation 的值是該職業的實際工作地點,而不是預估薪酬清單的資料來源地點。
  • 如果單一 Occupation 類型含有多個地點,請在 occupationLocation 陣列中指定這些地點,如以下範例所示。
    "occupationLocation": [
      {
        "@type": "City",
        "name": "Portland, Oregon, US" // Salary specified for multiple locations
      }, {
        "@type": "City",
        "name": "Seattle, Washington, US"
       }
    ]
  • 職缺的薪酬範圍、學歷要求和資格認證等資料經常因地點而有所不同。如要反映出這一點,請定義多個頁面,每個頁面有各自的 Occupation 定義和不同的 occupationLocation
建議屬性
description

Text

職業的說明。

description 必須為工作的完整說明,包含工作職責、資格認證、技能、工作時間、必要學經歷。

其他指南:

  • 請在使用者可能會前往的所有分葉頁面 (而不只是頂層頁面) 中加入 description
  • description 必須是專屬於該職業的說明,並提供該職業的具體詳情。

    不建議的填寫方式:"實習 - 實習可讓您在踏入專業的白領階級職涯前,接受相關的工作訓練。"

    建議的填寫方式:"資料分析師實習生 - 與資料分析師共事的實習機會。資料分析師負責從資料中萃取洞見,協助相關人士根據資料做出決策。"

  • description 不得與 name 相同。
  • 請勿在 description 中加入聘僱機構;而是改用 hiringOrganization
estimatedSalary.currency

Text

值的貨幣代碼,採 3 個字母組成的 ISO 4217 格式,例如 "USD" 或 "CAD"。

estimatedSalary.median

Number

中位數 (或「中間數」) 值,例如,從事這個職業的人當中,有一半的人所領的薪酬等於或小於這個值。

estimatedSalary.percentile10

Number

第 10 個百分位數,例如,從事這個職業的人當中,有 10% 的人所領的薪酬等於或小於這個值。

estimatedSalary.percentile25

Number

第 25 個百分位數,例如,從事這個職業的人當中,有 25% 的人所領的薪酬等於或小於這個值。

estimatedSalary.percentile75

Number

第 75 個百分位數,例如,從事這個職業的人當中,有 75% 的人所領的薪酬等於或小於這個值。

estimatedSalary.percentile90

Number

第 90 個百分位數,例如,從事這個職業的人當中,有 90% 的人所領的薪酬等於或小於這個值。

mainEntityOfPage

WebPage

網頁上描述的主要內容。

mainEntityOfPage.lastReviewed

Date

預估薪酬資訊的產生日期,採 ISO 8601 格式。 例如:

"mainEntityOfPage": {
  "@type": "WebPage",
  "lastReviewed": "2017-07-23T14:20:00-05:00"
}

OccupationAggregationByEmployer

OccupationAggregationByEmployer 能以雇主為分組依據,提供匯總的工作相關資料。舉例來說,當數個職業依據雇主匯總為一組時,您就能指定這個職業群組的所屬產業和聘僱機構。

Google 支援的屬性如下:

必要屬性
estimatedSalary

MonetaryAmountDistribution 陣列

這個職業在指定 occupationLocation 中的預估薪酬。請根據百分排名指定薪酬範圍或預估薪酬。

以下是預估薪酬範圍的範例:

"estimatedSalary": [{
  "@type": "MonetaryAmountDistribution",
  "name": "base",
  "currency": "USD",
  "duration": "P1Y",
  "minValue": "100000", // Inherited from QuantitativeValue
  "maxValue": "150000", // Inherited from QuantitativeValue
  "median": "124900" // Inherited from QuantitativeValueDistribution
}]

如要說明底薪、獎金和其他形式的薪酬,請在 estimatedSalary 陣列中定義多個薪酬。您必須指定底薪,其他薪酬類型則可視需要指定。

獎金範例

"estimatedSalary": [
  {
    "@type": "MonetaryAmountDistribution",
    "name": "base",
    "currency": "USD",
    "duration": "P1Y",
    "minValue": "100000",
    "maxValue": "150000",
    "median": "124900"
  }, {
    "@type": "MonetaryAmountDistribution",
    "name": "bonus",
    "currency": "USD",
    "duration": "P1Y",
    "minValue": "0",
    "maxValue": "34500",
    "median": "4450"
  }
]
estimatedSalary.duration

Duration

賺得預估薪酬所需的時間長度,採 ISO 8601 日期格式。舉例來說,如果預估薪酬的單位是年薪,請將 duration 設為 P1Y

estimatedSalary.name

Text

值的類型。您必須指定底薪,其他薪酬類型則可視需要指定。 例如 "底薪"、"獎金"、"業績抽成"。

hiringOrganization

Organization

針對這個職業提供職缺的機構。請將 @context 設為 "https://schema.org/"。hiringOrganization 必須為公司名稱,例如 “Starbucks, Inc”,不要加入招才地點的具體地址,例如 “商業街上的 Starbucks”。範例如下:

"hiringOrganization": {
  "@context": "https://schema.org/",
  "@type": "Organization",
  "name": "Google LLC"
}
name

Text

職稱。這個屬性可允許非結構化的文字。例如:"軟體工程師"。

最佳做法:

  • 這個屬性只能填入職稱。
  • 請勿在 name 屬性中加入工作代碼、地址、日期、薪酬或公司名稱。

    不建議的填寫方式:立即應徵 IT 工作 -位於布加勒斯特,會說「法語」

    建議的填寫方式:市場專員,會說法語

  • 提供簡短清楚的職稱。
  • 請勿過度使用特殊字元,例如 !*。濫用特殊字元可能會導致系統將您的標記視為垃圾資訊結構化標記。數字和「/」、「-」等字元則可以接受。

    不建議的填寫方式:*** 倉庫徵人中!!搭公車可抵達!!***

    建議的填寫方式:負責出貨及收貨的倉庫助理

occupationLocation

CityStateCountry 陣列

職業說明的適用地點。如只要指定單一地點,請在單一 Name 屬性中依城市、州/省或國家/地區定義地點。

詳細範例 (建議)

"occupationLocation": {
  "@type": "City", // Maximum level of granularity (recommended)
  "name": "Mountain View, CA, US" // City, State, and Country inputted on same property
}

簡略範例

以下是兩種較為簡略但尚可接受的範例:

"occupationLocation": {
  "@type": "State",
  "name": "CA, US"
}
"occupationLocation": {
  "@type": "Country",
  "name": "US"
}

最佳做法:

  • 請不要提供比城市更小範圍的地點資訊。
  • 如果您所在的國家/地區未設立州,可以在 State 屬性中提供區域名稱。
  • occupationLocation 的值是該職業的實際工作地點,而不是預估薪酬清單的資料來源地點。
  • 如果單一 Occupation 類型含有多個地點,請在 occupationLocation 陣列中指定這些地點,如以下範例所示。
    "occupationLocation": [
      {
        "@type": "City",
        "name": "Portland, Oregon, US" // Salary specified for multiple locations
      }, {
        "@type": "City",
        "name": "Seattle, Washington, US"
       }
    ]
  • 職缺的薪酬範圍、學歷要求和資格認證等資料經常因地點而有所不同。如要反映出這一點,請定義多個頁面,每個頁面有各自的 Occupation 定義和不同的 occupationLocation
建議屬性
description

Text

職業的說明。

description 必須為工作的完整說明,包含工作職責、資格認證、技能、工作時間、必要學經歷。

其他指南:

  • 請在使用者可能會前往的所有分葉頁面 (而不只是頂層頁面) 中加入 description
  • description 必須是專屬於該職業的說明,並提供該職業的具體詳情。

    不建議的填寫方式:"實習 - 實習可讓您在踏入專業的白領階級職涯前,接受相關的工作訓練。"

    建議的填寫方式:"資料分析師實習生 - 與資料分析師共事的實習機會。資料分析師負責從資料中萃取洞見,協助相關人士根據資料做出決策。"

  • description 不得與 name 相同。
  • 請勿在 description 中加入聘僱機構;而是改用 hiringOrganization
estimatedSalary.currency

Text

值的貨幣代碼,採 3 個字母組成的 ISO 4217 格式,例如 "USD" 或 "CAD"。

estimatedSalary.median

Number

中位數 (或「中間數」) 值,例如,從事這個職業的人當中,有一半的人所領的薪酬等於或小於這個值。

estimatedSalary.percentile10

Number

第 10 個百分位數,例如,從事這個職業的人當中,有 10% 的人所領的薪酬等於或小於這個值。

estimatedSalary.percentile25

Number

第 25 個百分位數,例如,從事這個職業的人當中,有 25% 的人所領的薪酬等於或小於這個值。

estimatedSalary.percentile75

Number

第 75 個百分位數,例如,從事這個職業的人當中,有 75% 的人所領的薪酬等於或小於這個值。

estimatedSalary.percentile90

Number

第 90 個百分位數,例如,從事這個職業的人當中,有 90% 的人所領的薪酬等於或小於這個值。

industry

Text

與該職缺相關的產業。

jobBenefits

Text

與這項工作相關的福利說明。

mainEntityOfPage

WebPage

網頁上描述的主要內容。

mainEntityOfPage.lastReviewed

Date

預估薪酬資訊的產生日期,採 ISO 8601 格式。 例如:

"mainEntityOfPage": {
  "@type": "WebPage",
  "lastReviewed": "2017-07-23T14:20:00-05:00"
}
sampleSize

Number

匯總薪酬資料的來源資料點數量,例如:

"sampleSize": 42
yearsExperienceMax

Number

應徵這個職業的人最多可以有幾年的工作經驗。例如,基層職務可能會指定最多 5 年的工作經驗,如以下範例所示:

"yearsExperienceMax": 5
yearsExperienceMin

Number

應徵這個職業的人最少必須要有幾年的工作經驗。例如,高階職務可能會要求至少有 10 年的工作經驗,如以下範例所示:

"yearsExperienceMin": 10

疑難排解

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

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