招聘信息

您可以为招聘信息网页添加招聘信息的结构化数据,以提升求职者的求职体验。添加结构化数据后,您的招聘信息将能够以一种特殊的用户体验方式显示在 Google 搜索结果中。此外,您还可以通过第三方招聘网站与 Google 相集成。对于雇主和招聘网站所有者,这项功能可带来许多好处:

  • 结果包含在丰富搜索结果:您的招聘信息能够以招聘信息搜索体验方式显示在 Google 中,同时还会显示徽标、评价、评分和职位详细信息。
  • 吸引更多积极上进的申请者:新的用户体验方式可让求职者按各种条件(例如工作地点或职位名称)进行过滤,这意味着您更有可能吸引到正好在寻找这种工作的申请者。
  • 曝光和发生转化的几率增加:求职者将可以通过新的途径与您的招聘信息互动,并点击进入您的网站。

推出地区

我们非常高兴能够向全球更多地区提供 Google 中的招聘信息搜索体验方式。目前,我们已在以下地区推出这种体验方式。

示例

以下是一个招聘信息搜索结果示例。

搜索结果中的招聘信息示例

在 SDTT 中查看使用了 JSON-LD 代码的个别招聘信息的示例。

创建招聘信息

  1. 确保 Googlebot 可以抓取您的招聘信息网页(您的招聘信息网页不受 robots.txt 文件或漫游器元标记保护)。
  2. 确保您的主机负荷设置能够承受频繁抓取
  3. 确保遵守我们的指南
  4. 为您的网页添加招聘信息的结构化数据
  5. 如果同一条招聘信息在您的网站上有多个托管在不同网址的副本,请对每个网页副本使用权威网址
  6. 测试并预览您的结构化数据
  7. 执行以下任一操作,以通知 Google
    • 使用 Indexing API 通知 Google 要抓取的新网址,或通知 Google 某个网址中的内容已更新。
    • 如果您未使用 Indexing API,请向以下网址发送 GET 请求,将新的站点地图提交给 Google:
      http://www.google.com/ping?sitemap=location_of_sitemap

      例如:

      http://www.google.com/ping?sitemap=http://www.example.com/sitemap.xml

      我们会提取整个站点地图,并重新抓取 lastmod 时间晚于上次抓取时间的网页。

移除招聘信息

要移除不再接受申请的招聘信息,请按以下步骤操作:

  1. 执行以下任一操作,确保您的网页已移除:
    • 确保已填写 validThrough 属性,且填写的是过去的时间。
    • 移除整个网页(这样一来,当用户请求访问相应网页时,系统会返回 404 或 410 状态代码)。
    • 从网页中移除 JobPosting 结构化数据。
  2. 执行以下任一操作,以通知 Google:
    • 利用 Indexing API 提交从 Google 搜索索引中移除招聘信息网址的请求。
    • 如果您未使用 Indexing API,请向以下网址发送 GET 请求,将新的站点地图提交给 Google:
      http://www.google.com/ping?sitemap=location_of_sitemap

      例如:

      http://www.google.com/ping?sitemap=http://www.example.com/sitemap.xml

      我们会提取整个站点地图,并重新抓取 lastmod 时间晚于上次抓取时间的网页。

在显示您的招聘信息时,Google 会使用贵公司知识图谱卡片中的图片作为徽标。如果您想使用其他徽标,可以提出更改建议,也可以使用结构化数据指明您的首选徽标(既用于贵公司的知识图谱卡片,又用于招聘信息)。

如果您有第三方招聘网站,则可以为指定组织提供其他徽标(不同于其知识图谱卡片中显示的图片)。Google 会在搜索结果中显示最合适的徽标,这可能是知识图谱卡片中的徽标,也可能是 hiringOrganization 徽标。徽标属性只是可以显示在您的招聘网站上,而不会被视为组织的权威徽标。有关详情,请参阅 hiringOrganization

指南

您的招聘信息必须遵守以下指南,才能以 Google 招聘信息搜索体验方式显示在搜索结果中。

技术指南

  • 尽可能将结构化数据放在最详细的叶级页中。请勿将结构化数据添加到用来显示招聘信息列表的网页(例如搜索结果页),而是要将其添加到描述单个职位且包含相关详情的最具体的网页。
  • 为要宣传的每条招聘信息分别添加一个 JobPosting 属性。结构化数据应显示在职位说明所在的网页中,以便求职者可以在其浏览器中查看。
  • 在招聘信息网页中,大多数属性都是应仅出现一次,除非说明中特别指明可多次添加属性。
  • 如果您选择使用站点地图让 Google 了解您对招聘信息网址所做的更改,请按照站点地图常规指南操作。此外,招聘信息网址还需要遵守以下站点地图指南。

    • 确保 Googlebot 可以访问站点地图中的网址。请确保您添加到站点地图中的网址未被防火墙阻拦或未被您的 robots.txt 文件禁止。
    • <lastmod>(站点地图)、<pubDate> (RSS) 或 <updated> (Atom) 值使用尽可能准确的时间,以指明添加或更改网页的时间。值应该是最后一次对相应网址中的内容进行更改的时间。请务必使用准确的时间;抓取带宽有限,准确的时间有助于我们避免重新抓取没有更改的网页。此外,Google 需要抓取的网页越多,给您的服务器带来的负荷就越重。
    • 请勿在站点地图中纳入搜索结果页、列表式页面或其他动态网页。
    • 站点地图中的网址应包含每条招聘信息的权威网页

内容指南

  • 招聘信息必须是有效的,以便求职者直接在线申请招聘公司或机构的空缺职位。
  • 招聘信息必须清楚注明招聘组织以及申请者要从事的工作。
  • 如果 Google 收到关于招聘信息中的内容可能违法的投诉(例如,如果商标所有者或版权所有者举报某条招聘信息在未经允许的情况下使用了他们的内容),我们会根据我们的移除政策进行处理。
  • 请勿使用淫秽、亵渎或令人反感的语言。

结构化数据类型定义

本部分介绍了与招聘信息相关的结构化数据类型。

您必须为结构化数据添加必需的属性,它们才能显示在搜索结果中。任何缺少必填字段的招聘信息都无法显示在增强的搜索结果中。您还可以添加建议的属性,以便向结构化数据添加更多信息,进而提供更好的用户体验。

您可以使用 SDTT 验证和预览您的结构化数据

JobPosting

要查看 JobPosting 的完整定义,请访问 schema.org/JobPosting

属性
@context

必需

@context 设为“http://schema.org/”。

@type

必需

@type 设为“JobPosting”。例如:


"@type": "JobPosting"
baseSalary

MonetaryAmount建议

职位的实际基本工资,由雇主提供(非估算工资)。

对于 QuantitativeValueunitText,请使用以下值(区分大小写)之一:

  • “HOUR”
  • “DAY”
  • “WEEK”
  • “MONTH”
  • “YEAR”

例如:


"baseSalary": {
  "@type": "MonetaryAmount",
  "currency": "USD",
  "value": {
    "@type": "QuantitativeValue",
    "value": 40.00,
    "unitText": "HOUR"
  }
}

要指定工资范围,请定义 minValuemaxValue,而非定义单个 value。例如:


"baseSalary": {
  "@type": "MonetaryAmount",
  "currency": "USD",
  "value": {
    "@type": "QuantitativeValue",
    "minValue": 40.00,
    "maxValue": 50.00,
    "unitText": "HOUR"
  }
}
datePosted

Date必需

雇主发布招聘信息的最初日期(ISO 8601 格式)。例如,“2017-01-24”或“2017-01-24T19:33:17+00:00”。


"datePosted": "2016-02-18"
description

Text必需

完整的职位说明(HTML 格式)。

description 应该是对职位的完整说明,包括工作职责、任职资格、技能、工作时数、教育背景要求和经验要求。description 不能与 title 相同。

其他指南:

  • 说明必须采用 HTML 格式。
  • 至少要使用 <br><p>\n 划分段落。
  • 有效标记包括 <p><ul><li> 和标题 <h1><h5>
  • 您还可以使用字符级格式标记,例如 <strong><em>
employmentType

Text建议)

招聘类型。例如:


"employmentType": "CONTRACTOR"

选择以下一个或多个值(区分大小写):

  • “FULL_TIME”
  • “PART_TIME”
  • “CONTRACTOR”
  • “TEMPORARY”
  • “INTERN”
  • “VOLUNTEER”
  • “PER_DIEM”
  • “OTHER”

您可以添加多个 employmentType 属性。例如:


"employmentType": ["FULL_TIME", "CONTRACTOR"]
estimatedSalary

MonetaryAmountDistribution 数组(建议

特定招聘信息的估算工资,根据多个变量而定,包括但不限于行业、职位名称和工作地点。估算工资通常是由外部组织计算出来的,因此招聘单位不受此估算工资的约束。

如果您可以为招聘信息提供实际工资,请使用 baseSalary,而非 estimatedSalary。要提供职位的估算工资,请使用 Occupation

对于 QuantitativeValueunitText,请使用以下值(区分大小写)之一:

  • “HOUR”
  • “DAY”
  • “WEEK”
  • “MONTH”
  • “YEAR”

例如:


"estimatedSalary": {
  "@type": "MonetaryAmount",
  "currency": "USD",
  "value": {
    "@type": "QuantitativeValue",
    "value": 40.00,
    "unitText": "HOUR"
  }
}

要指定工资范围,请定义 minValuemaxValue,而非定义单个 value。例如:


"estimatedSalary": {
  "@type": "MonetaryAmount",
  "currency": "USD",
  "value": {
    "@type": "QuantitativeValue",
    "minValue": 40.00,
    "maxValue": 50.00,
    "median": 45.00,
    "unitText": "HOUR"
  }
}

要注明基本工资、奖金和其他形式的货币薪酬,请在 estimatedSalary 数组中定义多个工资。必须指定基本工资,但可以自行选择是否指定其他类型的薪酬。例如:


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

Organization必需

提供相应职位的组织。这应是公司名称(例如,“Starbucks, Inc”),而不是正在招人的具体地点(例如,“位于主街的星巴克”)。例如:


"hiringOrganization": {
  "@type": "Organization",
  "name": "MagsRUs Wheel Company",
  "sameAs": "http://www.magsruswheelcompany.com"
}

第三方招聘网站上的徽标

如果您有第三方招聘网站,则可以为指定组织提供其他徽标(不同于其知识图谱卡片中显示的图片)。要请求为招聘组织使用其他徽标,请将徽标属性添加到 hiringOrganizaion 数组。请务必遵守徽标图片指南公司徽标指南。例如:


"hiringOrganization": {
  "@type": "Organization",
  "name": "MagsRUs Wheel Company",
  "sameAs": "http://www.magsruswheelcompany.com",
  "logo": "http://www.example.com/images/logo.png"
}
identifier

PropertyValue建议

招聘组织为职位提供的唯一标识符。

例如:


"identifier": {
  "@type": "PropertyValue",
  "name": "MagsRUs Wheel Company",
  "value": "1234567"
}
jobLocation

Place必需

员工入职后的主要工作地点,而不是发布招聘信息的地点。请添加尽可能多的字段。您提供的属性越多,招聘信息对用户来说就越出色。例如:


"jobLocation": {
  "@type": "Place",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "555 Clancy St",
    "addressLocality": "Detroit",
    "addressRegion": "MI",
    "postalCode": "48201",
    "addressCountry": "US"
  }
}

如果职位有多个工作地点,请以数组的方式添加多个 jobLocation 属性。Google 会根据求职者的查询内容显示最合适的工作地点。

对于员工可以始终远程工作(因此可以在家工作)的职位,请添加 additionalProperty 字段(值为 TELECOMMUTE)。例如:


"jobLocation": {
  "@type": "Place",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "555 Clancy St",
    "addressLocality": "Detroit",
    "addressRegion": "MI",
    "postalCode": "48201" ,
    "addressCountry": "US"
  },
  "additionalProperty": {
    "@type": "PropertyValue",
    "value": "TELECOMMUTE"
  }
}
title

Text必需

职位名称(而非招聘信息标题)。例如,“软件工程师”或“咖啡师”。例如:


"title": "Software Engineer"

最佳做法:

  • 此字段应仅填入职位名称。
  • 请勿在 title 字段中填入职位代码、地址、日期、工资或公司名称。

    不建议:立即申请 IT 职位 - 位于布加勒斯特,会说法语

    建议:市场专员,会说法语

  • 提供简单明了的职位名称。
  • 不要过度使用“!”和“*”等特殊字符。滥用特殊字符可能会导致系统将您的结构化数据视为垃圾性质的结构化标记。可以使用数字以及“/”、“-”等字符。

    不建议:*** 仓库正在招聘工作人员!!有公交可抵达!!***

    建议:仓库发货和收货助理

  • 请勿使用 name 代替 titletitlename 属性不可互换。
  • 如果您是第三方招聘网站,请不要尝试按照上述指南修改职位名称,否则可能会导致系统无法读取职位名称。请提供雇主指定的职位名称。
validThrough

DateTime必需

招聘信息的过期日期(ISO 8601 格式)。例如“2017-02-24”或“2017-02-24T19:33:17+00:00”。例如:


"validThrough": "2017-03-18T00:00"

如果招聘信息永不过期,或者您不知道招聘信息何时过期,请不要添加此属性。如果在招聘信息过期之前招到合适的人员,请移除招聘信息

问题排查

如果您的招聘信息无法显示在丰富招聘信息搜索结果中,或者您在 Search Console 中收到关于您的网站因存在垃圾性质的结构化标记而遭到手动操作的警告,请尝试解决下列最常见的问题。如果您仍然遇到问题,请务必查看我们的指南

结构化数据位于错误的网页上

error 导致此问题的原因:招聘信息列表页面(包含一条或多条招聘信息的搜索结果页)中包含 JobPosting 结构化数据。JobPosting 结构化数据只能位于招聘信息页面(包含单个职位且不是搜索结果页的页面)中。您可能收到了以下 Search Console 消息:“违反了结构化数据政策 - 列表页面不得包含个别职位的结构化数据。”

done 解决此问题

  1. 从列表页面中移除 JobPosting 结构化数据。JobPosting 结构化数据只能放置在专门用于发布单条招聘信息的网页中。
  2. 解决问题后,请提交您的网站以供重新审核

内容与结构化数据不匹配

error 导致此问题的原因:某个网页包含与其中的结构化数据不匹配的内容。例如,某个职位在该网页中的名称与为 title 属性列出的值不匹配。此外,该网页中也可能存在垃圾内容,例如点击诱饵类的标题和说明、貌似虚假的职位,或者招聘信息不代表实际工作。要查看完整的示例列表,请参阅我们的内容指南中的示例。您可能收到了以下 Search Console 消息:“违反了结构化数据政策 - 网页上的内容与网页上的结构化数据不同。”

done 解决此问题

  1. 确认结构化数据与网页上的实际内容一致、代表要实际从事的工作,并且不会误导用户。
  2. 使用 Google 抓取工具确认相关内容在呈现的网页上可见(呈现的网页是指向 Googlebot 呈现的网页)。
  3. 解决问题后,请提交您的网站以供重新审核

过期职位仍旧存在

error 导致此问题的原因:即使职位已过期,用户仍可通过丰富招聘信息搜索结果访问相应网页。通常,这是由以下原因导致的:

  • validThrough 属性缺失或未设为过去的时间。
  • 相应网页仍旧存在。
  • 招聘信息的申请选项流程定向到过期的招聘信息网页。
  • 虽然职位已过期,但相应网页中仍然包含 JobPosting 结构化数据。

您可能收到了以下 Search Console 消息:“违反了结构化数据政策 - 包含过期职位的 JobPosting 结构化数据”。

done 解决此问题

  1. 通过执行以下任一操作移除过期的招聘信息:
    • 确保已填写 validThrough 属性,且填写的是过去的时间。
    • 移除整个网页(这样一来,当用户请求访问相应网页时,系统会返回 404 或 410 状态代码)。
    • 从网页中移除 JobPosting 结构化数据。
  2. 使用 Indexing API 通知 Google。如果您未使用 Indexing API,请向以下网址发送 GET 请求,将新的站点地图提交给 Google:
    http://www.google.com/ping?sitemap=location_of_sitemap
  3. 解决问题后,请提交您的网站以供重新审核

申请选项缺失

error 导致此问题的原因:用户无法申请招聘信息网页上的职位。您可能收到了以下 Search Console 消息:“违反了结构化数据政策 - 无法在招聘网页上提交申请。”

done 解决此问题

  1. 确保网页上有可供用户申请职位的方式。
  2. 解决问题后,请提交您的网站以供重新审核

徽标不正确

error 导致此问题的原因:您的网站没有知识图谱,或知识图谱为您的网站显示的徽标不正确。在显示您的招聘信息时,Google 会使用贵公司知识图谱卡片中的图片作为徽标。要详细了解 Google 如何选择您的徽标,请参阅更新您的公司徽标

done 解决此问题

您可以通过以下两种方式来解决此问题:

  • 确保使用 hiringOrganization.logo 属性指定正确的徽标。 与更新知识图谱相比,更新结构化数据更省时,并且不需要进行知识图谱验证。
  • 提出更改知识图谱的建议。 更新知识图谱可能需要的时间较长,但可让您更好地控制贵单位在 Google 中的显示效果。如果您需要快速解决徽标问题,请添加 hiringOrganization.logo 属性。

工作地点缺失或不正确

error 导致此问题的原因:Googlebot 无法理解您为 jobLocationaddressLocalityaddressRegion 属性提供的值。Google 尝试将工作地点信息与实际地点进行匹配,但您没有提供工作地点或提供的工作地点不正确。

done 解决此问题

  1. 确保结构化数据包含 jobLocationaddressLocalityaddressRegion 的值(取决于工作地点,并非所有工作地点属性都适用)。
  2. 验证工作地点问题是否已解决:
    1. 打开 SDTT
    2. 在“抓取网址”字段中输入相应招聘信息网址。
    3. 点击验证
    4. 点击预览

      成功:SDTT 在 Google 搜索预览工具中显示正确的工作地点。

      再试一次:SDTT 在 Google 搜索预览工具中应显示工作地点的位置显示“false”。确保工作地点为真实地点。

发送以下问题的反馈:

此网页