8.2 针对生成式引擎的增强Schema(Speakable、QAPage、About、Mentioning)
传统的结构化数据(如 Article、Product)主要服务于传统搜索引擎的富摘要(Rich Snippets)。然而,生成式引擎(如 Google SGE、Bing Chat、Perplexity)在解析内容时,更倾向于寻找能够直接提取并整合成答案的“原子化”信息单元。本节将介绍四种专为生成式引擎设计的增强 Schema 标记,它们能显著提升你的内容被引用和生成摘要的概率。
8.2.1 Speakable:让关键内容“可朗读”
Speakable 标记最初是为语音助手(如 Google Assistant)设计的,但在生成式搜索中,它成为了一个强大的信号,告诉 AI 引擎:“这段话是最核心、最值得直接引用的摘要”。
- 作用:标记网页中可以被语音合成或直接引用为答案的文本片段。生成式引擎在构建简洁答案时,会优先考虑带有
Speakable标记的内容。 - 实现方式:在页面的 JSON-LD 中,通过
speakable属性指向一个或多个 CSS 选择器或 XPath 表达式。 - 最佳实践:
- 定位核心结论:将文章开头的总结、定义、关键数据或步骤结论包裹在一个特定的
div或span中,并为其设置一个唯一的id或class。 - 避免噪音:不要将导航栏、广告、版权声明等非核心内容标记为
Speakable。 - 与
QAPage结合:在问答页面中,将标准答案的文本块标记为Speakable,效果极佳。
- 定位核心结论:将文章开头的总结、定义、关键数据或步骤结论包裹在一个特定的
示例(JSON-LD):
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "如何优化 Core Web Vitals 的 LCP?",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".article-summary", ".key-takeaway"]
}
}
8.2.2 QAPage:构建直接的问答对
生成式引擎的核心能力是回答问题。QAPage 标记将你的内容明确定义为一个问答对,使得引擎可以像查询数据库一样直接提取答案。
- 作用:明确告诉搜索引擎,该页面是一个问答页面,包含一个或多个问题及其权威答案。
- 实现方式:使用
QAPage类型,并在其内部嵌套mainEntity属性,该属性是一个Question对象,包含name(问题)和acceptedAnswer(被接受的答案)或suggestedAnswer(建议答案)。 - 最佳实践:
- 问题精准:问题应与用户的实际搜索查询高度匹配,包括长尾关键词和口语化表达。
- 答案结构清晰:答案应使用简洁、直接的陈述句,并可以包含列表、代码块或表格。避免模糊或模棱两可的表述。
- 单页多问答:一个 FAQ 页面可以包含多个
Question对象,但每个Question都应有一个独立的acceptedAnswer。
示例(JSON-LD):
{
"@context": "https://schema.org",
"@type": "QAPage",
"mainEntity": {
"@type": "Question",
"name": "什么是 INP (Interaction to Next Paint)?",
"acceptedAnswer": {
"@type": "Answer",
"text": "INP 是 Core Web Vitals 中衡量页面交互响应速度的指标,它通过观察用户与页面进行的所有点击、触摸和键盘交互的延迟时间,来评估页面的整体交互体验。INP 的目标是低于 200 毫秒。"
}
}
}
8.2.3 About:明确内容的主题实体
生成式引擎需要理解“这段话是关于什么的”。About 属性直接关联到知识图谱中的实体,帮助引擎建立内容与实体之间的精确联系。
- 作用:明确声明页面的核心主题是一个或多个具体的实体(如人物、事件、产品、概念)。
- 实现方式:在
Article、WebPage或其他内容类型中,使用about属性指向一个Thing对象。最佳实践是使用@id引用知识图谱中的实体 URL。 - 最佳实践:
- 使用实体 ID:如果可能,使用 Wikidata、Wikipedia 或 Google 知识图谱中的实体 ID。例如
"@id": "https://www.wikidata.org/wiki/Q12345"。 - 多实体关联:一篇文章可以关联多个实体,用数组表示。例如,一篇关于“React vs Vue”的文章,其
about属性可以包含["React", "Vue.js"]。 - 与
Mentioning区分:About是页面的核心主题,而Mentioning是页面中提及的相关实体。
- 使用实体 ID:如果可能,使用 Wikidata、Wikipedia 或 Google 知识图谱中的实体 ID。例如
示例(JSON-LD):
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Next.js 14 的 App Router 详解",
"about": {
"@type": "Thing",
"@id": "https://www.wikidata.org/wiki/Q110909979",
"name": "Next.js"
}
}
8.2.4 Mentioning:建立实体关联网络
Mentioning 是 Schema.org 中相对较新但非常重要的属性。它允许你声明页面中“提及”了哪些实体,即使这些实体不是页面的核心主题。
- 作用:帮助生成式引擎识别内容中涉及的广泛实体,从而在回答涉及这些实体的问题时,将你的页面作为相关上下文引用。
- 实现方式:在
Article或WebPage中,使用mentions属性,指向一个或多个Thing对象。 - 最佳实践:
- 广泛标记:在技术文章中,标记所有提到的技术栈、框架、库、人物(如作者、技术专家)和公司。
- 精准关联:确保你标记的实体确实在内容中被实质性提及,而不是无关的标签堆砌。
- 与
About协同:About是“主角”,Mentioning是“配角”。两者结合可以构建一个丰富的实体网络,让引擎对你的内容有更全面的理解。
示例(JSON-LD):
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "使用 Puppeteer 进行动态渲染",
"about": {
"@type": "Thing",
"name": "动态渲染"
},
"mentions": [
{ "@type": "Thing", "name": "Puppeteer" },
{ "@type": "Thing", "name": "Googlebot" },
{ "@type": "Thing", "name": "Rendertron" },
{ "@type": "Person", "name": "Addy Osmani" }
]
}
8.2.5 工程化集成要点
- 动态注入:在 SSR 或 CSR 框架中,根据页面路由和内容动态生成这些增强 Schema。例如,在 Next.js 的
getServerSideProps或 Nuxt.js 的asyncData中构建 JSON-LD 对象。 - 内容映射:建立内容模型与 Schema 类型的映射关系。例如,一个“产品对比”页面应自动生成
QAPage,并将对比结论标记为Speakable。 - 验证与测试:
- 使用 Google 的富结果测试工具验证
QAPage和Speakable。 - 使用 Schema.org 验证器检查
About和Mentioning的实体关联是否正确。 - 通过 Perplexity API 或自建模拟器,观察你的页面在被查询相关实体时是否被引用。
- 使用 Google 的富结果测试工具验证
通过实施这些增强 Schema,你不再仅仅是“优化页面”,而是在为生成式引擎构建一个结构清晰、语义丰富、易于引用的“知识节点”。这是从传统 SEO 迈向 GEO 的关键一步。
