Schema 标记(结构化数据)用于告诉搜索引擎一个页面“是什么”,而不是让它获得排名。做对了能换来更丰富的结果,也让引擎更容易摘要页面;做错了则可能招致人工处罚。
本技能围绕以下四条规则展开:
- 只标记页面可见展示的内容。描述读者看不到的内容的 Schema 是垃圾信号,也是标记被惩罚而非被忽略的最常见原因。
- 使用 JSON-LD,放在 head 或 body 末尾的 <script type="application/ld+json"> 中。Google 推荐这种格式,也是唯一无需改动页面标记即可添加的格式。
- 只声明引擎确实支持产生丰富结果的类型和属性。有效的 schema.org 标记如果对应不到受支持的结果,对搜索没有作用——这本身没问题,但不要承诺它无法产生的丰富结果。
- 上线前先校验,之后关注 Search Console。校验通过的标记仍可能与页面不符。
类型选择
技能提供了一张类型对照表,说明各类型用在什么页面、必填项是什么:
- Organization:首页、关于页面;必填 name、url
- WebSite:首页,用于声明站点搜索;必填 name、url
- Article、BlogPosting:帖子与新闻;必填 headline、image、datePublished、author
- Product:产品页;必填 name、image、offers
- SoftwareApplication:应用与 SaaS 页面;必填 name、offers
- FAQPage:包含真实问答的页面;必填 mainEntity
- HowTo:分步说明;必填 name、step
- BreadcrumbList:任何带面包屑的页面;必填 itemListElement
- LocalBusiness:位置页面;必填 name、address
- Event:活动与网络研讨会;必填 name、startDate、location
参考资料 references/schema-examples.md 为上述每种类型提供了完整有效的代码块,另有一个合并的 @graph 示例和一个 Next.js 模式。references/required-properties.json 是同一张表的校验器可读形式,因此新增类型需要同时修改两处。
当一个页面需要多种类型时,优先使用一个 @graph 数组而非多个独立 script 标签:实体之间可以通过 @id 相互引用,而不必重复自身。
审查现有标记
抓取页面只能看到服务端渲染的 JSON-LD。CMS 的 SEO 插件常在客户端注入,所以抓取的 HTML 中没有并不代表页面上没有。应报告服务端 HTML 中包含的内容,然后引导用户使用 Rich Results Test(它执行 JavaScript)。
当标记存在但没带来收益时,按以下顺序排查:缺少必填属性、值的形状错误(日期必须为 ISO 8601、URL 必须为绝对地址、枚举值必须精确)、该类型没有可获得的丰富结果、或标记描述的内容页面并未展示。
在本技能目录下,交接前对任何代码块运行 node scripts/validate_schema.mjs <jsonld-file>。它会解析 JSON,对照 references/required-properties.json 检查每个类型的必填属性,并捕获最常出错的两类值形状:非 ISO 8601 的日期和相对 URL。它是机械性的,因此通过只代表语法正确,不说明其他问题。
之后引导用户使用 Rich Results Test(https://search.google.com/test/rich-results)判断资格,以及 schema.org 校验器(https://validator.schema.org/)判断是否符合词汇表。两者回答的问题彼此不同,也与本工具不同,因此一段代码可能通过其中一个而通不过另一个。三者都无法告诉你标记是否描述了页面实际展示的内容,这正是上面的准确性规则,仍需由你自行检查。
交付
交付完整、可直接粘贴的代码块,填入页面真实值而非占位符;说明放置位置,列出不得不省略的属性及原因,并注明该页面因此有资格获得哪种丰富结果——“有资格”是诚实的措辞,是否展示由 Google 决定。
参考资料
- Google Search Central,结构化数据工作原理简介:https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data
- Google Search Central,结构化数据通用指南:https://developers.google.com/search/docs/appearance/structured-data/sd-policies
- Google Search Central,受支持结果类型搜索图库:https://developers.google.com/search/docs/appearance/structured-data/search-gallery
- schema.org:https://schema.org/