招聘职位信息必须用 https://schema.org/JobPosting 类型;必需字段为 title、hiringOrganization、jobLocation 和 datePosted,缺一不可,且 jobLocation 中 address 必须包含 addressLocality 和 addressCountry。

itemtype 应该用哪个 Schema.org 类型
招聘职位信息必须用 https://schema.org/JobPosting,这是唯一被搜索引擎(Google、Bing)明确支持并用于富媒体搜索结果的类型。用错类型(比如 https://schema.org/Organization 或自定义 URL)会导致结构化数据不被识别,rich result test 工具会直接报错“Missing field ‘jobLocation’”之类。
必需字段有哪些,漏掉哪个就失效
JobPosting 在 Google 搜索中触发职位卡片(Job Rich Result)有硬性要求:以下 4 个字段缺一不可,且必须嵌套在 itemtype="https://schema.org/JobPosting" 下:
-
title(职位名称,用name属性) -
hiringOrganization(招聘方,必须是Organization类型,含name) -
jobLocation(工作地点,必须是Place类型,含address) -
datePosted(发布日期,ISO 8601 格式如"2024-05-20")
少一个,Google 就不会展示职位卡片;address 如果只写城市名(如 "北京"),不带 addressLocality 和 addressCountry,也会被判定为无效。
HTML 标记时怎么避免常见 DOM 结构错误
很多人把 itemscope 和 itemtype 加在 <div> 上,但内部字段没正确绑定 itemprop,或层级错乱。关键点:
文章转信息图。将文章/笔记转化为手机可读的 HTML 信息图,自动匹配视觉风格。触发场景:文章转图、笔记转图、信息图、转小红书图、做张图、可视化这篇文章、文生图。
立即学习“前端免费学习笔记(深入)”;
-
itemprop必须直接出现在itemscope元素的子元素或后代元素中,不能跨 scope -
hiringOrganization和jobLocation都是嵌套对象,需各自加itemscope itemtype - 不要用
<span itemprop="datePosted">2024-05-20</span>这种裸值——必须确保该span在JobPostingscope 内
典型安全写法:
<div itemscope itemtype="https://schema.org/JobPosting">
<h1 itemprop="title">前端开发工程师</h1>
<div itemprop="hiringOrganization" itemscope itemtype="https://schema.org/Organization">
<span itemprop="name">某某科技有限公司</span>
</div>
<div itemprop="jobLocation" itemscope itemtype="https://schema.org/Place">
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<span itemprop="addressLocality">上海</span>
<span itemprop="addressCountry">CN</span>
</div>
</div>
<time itemprop="datePosted" datetime="2024-05-20">2024-05-20</time>
</div>
测试和上线前必须验证的两件事
光写对 HTML 不够,上线前必须做两件事:
- 用 Google 的 Rich Results Test 提交页面 URL,看是否解析出
JobPosting且无 error/warning - 检查 Network 面板里 HTML 响应体,确认结构化数据没有被 CMS、JS 渲染或 SSR 配置意外截断(比如某些框架会过滤
itemscope属性)
特别注意:如果页面用 React/Vue 渲染,服务端未输出结构化数据,而靠客户端 JS 注入 itemscope,Googlebot 大概率抓不到——必须 SSR 或静态生成时就存在。


















