您的网站是否发布包含实际工资信息的招聘信息?
如果是,请添加 JobPosting 结构化数据(而非估算工资)。
借助 Occupation 结构化数据,工资估算服务提供商可以指定各种工作类型的工资范围和按地区计算的平均工资,以及职业的详细信息(如一般福利、资格要求和教育背景要求)。借助 OccupationAggregationByEmployer 结构化数据,工资估算服务提供商可以按照经验水平或招聘单位等因素对职业进行汇总。
估算工资可以显示在 Google 搜索的招聘信息 (Jobs) 中,也能以估算工资富媒体搜索结果的形式显示在指定职业的搜索结果中。
注意:在 Google 搜索结果中的实际显示效果可能会有不同。您可以使用富媒体搜索结果测试来预览大多数功能。
如何添加结构化数据 #
结构化数据是一种提供网页相关信息并对网页内容进行分类的标准化格式。如果您不熟悉结构化数据,可以详细了解结构化数据的运作方式。
下面概述了如何构建、测试和发布结构化数据。如需获得向网页添加结构化数据的分步指南,请查看结构化数据 Codelab。
- 添加必要属性。根据您使用的格式,了解在网页上的什么位置插入结构化数据。
使用了 CMS?使用集成到 CMS 中的插件可能更简单。
使用了 JavaScript?了解如何使用 JavaScript 生成结构化数据。 - 遵循指南。
- 使用富媒体搜索结果测试验证您的代码,并修复所有严重错误。此外,您还可以考虑修正该工具中可能会标记的任何非严重问题,因为这些这样有助于提升结构化数据的质量(不过,要使内容能够显示为富媒体搜索结果,并非必须这么做)。
- 部署一些包含您的结构化数据的网页,然后使用网址检查工具测试 Google 看到的网页样貌。请确保您的网页可供 Google 访问,不会因 robots.txt 文件、noindex 标记或登录要求而被屏蔽。如果网页看起来没有问题,您可以请求 Google 重新抓取您的网址。
注意:Google 重新抓取您的网页并重新将其编入索引需要一段时间,请耐心等待。网页发布后,Google 可能需要几天时间才会找到和抓取该网页。 - 为了让 Google 随时了解日后发生的更改,我们建议您提交站点地图。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": "2017-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": "2017-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 提供的其他任何结构化数据相关联。
- 只需向网页添加一个 Occupation 或 OccupationAggregationByEmployer。不要向每个网页添加多个这样的类型定义。
- 确保您的结构化数据与您在网页上显示的内容一致。以下是一些示例:
- 您的网页上仅向用户显示工资中间值,并且您的结构化数据仅包含这些值。
- 您在网页上将年薪四舍五入为最接近的 5000 的倍数,并且在结构化数据中提供相同精确度的年薪。
- 除非另有规定,否则仅在定义中指定属性一次。
- 如果职业的特点取决于不同的地点(例如,美国东北部地区的工资范围可能不同于中西部地区),请创建单独的网页,其中每个网页都有自己的 Occupation 定义,并且这些定义要指定不同的 occupationLocation。
- 不要将估算工资结构化数据添加到列表网页(即显示职业列表的网页)。
- 如果您的网页会发生更改,请每天更新一次站点地图。
内容指南 #
- 如果有相似的职业名称,并且所有职位的工资范围和说明也都相似,请将这些职业名称归为一组。职业名称必须具体,但也不能繁琐得让人看不懂。以下是一些示例:
- 不要太过宽泛:不建议:“临床、咨询和学校心理学家”建议:“学校辅导员”、“临床心理学家”、“临床治疗师”、“心理学博士”
- 不要太过具体:不建议:“家庭保健注册护士”和“注册护士 (RN)”,以及“RN – 注册护士 – 家庭保健 – 旅行护士”建议:“注册护士”
不同结构化数据类型的定义 #
本部分介绍与估算工资相关的结构化数据类型。
为了使您的内容能够出现在 Google 搜索的招聘信息中并显示为富媒体搜索结果,您必须为其添加必要属性。您还可添加建议属性,以便添加与您内容相关的更多信息,进而优化用户体验。
Occupation #
Occupation 类型负责定义有关职位的信息,如估算工资、技能要求和工作职责。如需了解 Occupation 的完整定义,请访问 schema.org/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
获得估算工资所需的期限(采用 ISO 8601 日期格式)。例如,如果估算工资是在一年内获得的,则 duration 应采用 P1Y。 自 2020 年 3 月 24 日起,更新的文档会要求提供 duration,而不是 unitText。我们虽然会继续支持 unitText,但以后将要求提供 duration。建议您尽可能改用 duration。 |
estimatedSalary. |
Text
值的类型。必须指定基本工资,但可以自行选择是否指定其他类型的薪酬。例如,“基本工资”、“奖金”和“佣金”。 |
name | Text
职业名称。此属性允许使用非结构化文本。例如,“软件工程师”。 最佳做法:
|
occupationLocation | City、State 或 Country 数组
相应职业说明所适用的工作地点。如果要指定单个工作地点,请在一个 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" } 最佳做法:
|
建议的属性 | |
---|---|
description | Text
职业说明。 description 必须是对职位的完整说明,包括工作职责、资格要求、技能要求、工作时长、教育背景要求和经验要求。 其他指南:
|
estimatedSalary. |
Text
金额中由 3 个字母表示的 ISO 4217 货币代码。例如,“USD”或“CAD”。 |
estimatedSalary. |
Number
中间值。例如,相应职业的工资有半数等于或低于此值。 |
estimatedSalary. |
Number
第 10 百分位的值。例如,相应职业的工资有 10% 等于或低于此值。 |
estimatedSalary. |
Number
第 25 百分位的值。例如,相应职业的工资有 25% 等于或低于此值。 |
estimatedSalary. |
Number
第 75 百分位的值。例如,相应职业的工资有 75% 等于或低于此值。 |
estimatedSalary. |
Number
第 90 百分位的值。例如,相应职业的工资有 90% 等于或低于此值。 |
mainEntityOfPage | WebPage
网页描述的主要内容。 |
mainEntityOfPage. |
Date
估算工资信息的生成日期(采用 ISO 8601 格式)。 例如: "mainEntityOfPage": { "@type": "WebPage", "lastReviewed": "2017-07-23T14:20:00-05:00" } |
OccupationAggregationByEmployer #
OccupationAggregationByEmployer 提供按雇主分组的职位相关数据。例如,当按雇主汇总一组职业时,您可以为这些职业指定行业和招聘单位。
OccupationAggregationByEmployer 是 Google 提议的一个新 schema.org 扩展项。schema.org 上可能尚未提供此扩展项。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
获得估算工资所需的期限(采用 ISO 8601 日期格式)。例如,如果估算工资是在一年内获得的,则 duration 应采用 P1Y。 自 2020 年 3 月 24 日起,更新的文档会要求提供 duration,而不是 unitText。我们虽然会继续支持 unitText,但以后将要求提供 duration。建议您尽可能改用 duration。 |
estimatedSalary. |
Text
值的类型。必须指定基本工资,但可以自行选择是否指定其他类型的薪酬。例如,“基本工资”、“奖金”和“佣金”。 |
hiringOrganization | Organization
提供相应职位的组织。请将 @context 设为“https://schema.org/”。hiringOrganization 必须是公司名称(例如,“Starbucks, Inc”),而不是正在招人的工作地点的具体地址(例如,“主街上的星巴克”)。例如: "hiringOrganization": { "@context": "https://schema.org/", "@type": "Organization", "name": "Google LLC" } |
name | Text
职业名称。此属性允许使用非结构化文本。例如,“软件工程师”。 最佳做法:
|
occupationLocation | City、State 或 Country 数组
相应职业说明所适用的工作地点。如果要指定单个工作地点,请在一个 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" } 最佳做法:
|
建议的属性 | |
---|---|
description | Text
职业说明。 description 必须是对职位的完整说明,包括工作职责、资格要求、技能要求、工作时长、教育背景要求和经验要求。 其他指南:
|
estimatedSalary. |
Text
金额中由 3 个字母表示的 ISO 4217 货币代码。例如,“USD”或“CAD”。 |
estimatedSalary. |
Number
中间值。例如,相应职业的工资有半数等于或低于此值。 |
estimatedSalary. |
Number
第 10 百分位的值。例如,相应职业的工资有 10% 等于或低于此值。 |
estimatedSalary. |
Number
第 25 百分位的值。例如,相应职业的工资有 25% 等于或低于此值。 |
estimatedSalary. |
Number
第 75 百分位的值。例如,相应职业的工资有 75% 等于或低于此值。 |
estimatedSalary. |
Number
第 90 百分位的值。例如,相应职业的工资有 90% 等于或低于此值。 |
industry | Text
与相应职位有关的行业。 |
jobBenefits | Text
与相应职位有关的福利说明。 |
mainEntityOfPage | WebPage
网页描述的主要内容。 |
mainEntityOfPage. |
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 搜索抓取和索引编制常见问题解答。
- 在 Google 搜索中心论坛中发帖提问。