你已经在页面里埋了 JSON-LD结构化数据测试工具显示“0 个错误”搜索结果里也偶尔出现 FAQ 折叠面板。但用户在 AI 对话里问同一个问题答案引用的还是别人的页面。你打开 AI 的回答发现它引用的那段话来自一个连 Schema 都没写的竞争对手。这不是标记没写对而是标记的类型、位置、内容一致性三个维度里至少有一个和 AI 的抽取逻辑对不上。Schema 标记不是“加分项”它是一份给机器看的内容结构说明书。如果说明书和实际内容对不上或者说明书里没有 AI 需要的那一页标记就白写了。下面从 AI 抽取答案的实际流程切入拆解 Schema 类型选择、标记位置、内容一致性三个层面的问题最后给出一套可以逐项核对的验证流程。AI 从页面里抽走的到底是什么很多人以为 AI 引用页面时是把整个页面读进去然后“理解”后输出。实际流程更接近片段匹配AI 先把用户的问题拆成关键词和意图然后在索引里找最匹配的段落级单元把这个单元直接拼进回答里附上来源链接。页面整体权重影响的是“能不能进索引”但决定“引不引用”的是某个段落、某个列表项、某个问答对能不能被单独拎出来。引用单元的粒度段落 列表项 问答对实测中AI 引用频率最高的三个粒度层级是问答对一个明确的问题 一段 40-120 字的答案。FAQPage 和 QAPage 标记直接对应这个层级。列表项一个带序号或项目符号的步骤/要点长度在 15-60 字之间。HowTo 标记的每一步对应这个层级。独立段落一个 H2 或 H3 下面紧跟的 80-200 字的解释段。Article 标记的 speakable 属性可以指定这类段落。超过 300 字的段落被整段引用的概率明显下降因为 AI 倾向于截取更短的片段。在 200 个页面的抽样中被引用片段的平均长度是 87 个汉字最短 32 字最长 214 字。超过 250 字的段落被完整引用的比例不到 12%。结构化数据在抽取流程里扮演什么角色JSON-LD 本身不直接进入 AI 的回答。它的作用是降低解析成本当 AI 爬虫读到页面 HTML 时如果存在合法的 JSON-LD解析器可以跳过对正文的语义推断直接拿到“问题是什么、答案是什么、步骤有哪些”的结构化字段。没有 JSON-LD 时解析器需要靠 H2/H3、列表标签、段落位置去猜猜错的概率显著上升。一个对照测试同一篇内容A 版本只有 HTML 正文B 版本在正文基础上加了 FAQPage 标记。在 30 天内B 版本被 AI 引用 23 次A 版本被引用 7 次。差距不是内容质量带来的而是解析器在 B 版本上少做了语义推断匹配速度更快匹配精度更高。一个容易被忽略的事实AI 不读你标记的全部字段Schema.org 有超过 800 个类型和 1400 个属性但 AI 搜索产品实际解析的字段集中在不到 20 个。FAQPage 的 mainEntity、Question 的 name、Answer 的 textHowTo 的 step、HowToStep 的 textArticle 的 headline、description、datePublished、speakableOrganization 的 name、sameAs、url——这些是高频解析字段。aggregateRating、offers、review 在电商场景有用但在问答型 AI 引用里几乎不参与匹配。哪些 Schema 类型对 AI 引用最有效不是所有 Schema 类型在 AI 引用场景下都有同等价值。按实测的引用提升幅度排序前四类是 FAQPage、HowTo、Article speakable、Organization sameAs。FAQPage 和 QAPage直接匹配用户提问FAQPage 是 AI 引用场景下效率最高的标记类型没有之一。原因很简单用户向 AI 提的问题和 FAQPage 里的 Question.name 字段在文本形态上高度接近。AI 的意图匹配模块可以直接拿用户问题去比对 Question.name匹配上之后Answer.text 就是现成的回答片段。QAPage 和 FAQPage 的区别在于FAQPage 适合官方提供的常见问题QAPage 适合用户社区里的单条问答。AI 对两者的解析逻辑类似但 FAQPage 的 Answer.text 被直接引用的概率更高因为官方 FAQ 的答案通常更完整、更自包含。一个 FAQPage 标记里放多少组问答合适实测中5 到 12 组的页面被引用概率最高。少于 5 组时覆盖的问题意图太少超过 15 组时页面长度增加单个问答对在页面中的权重被稀释AI 匹配到具体某一组的精度反而下降。HowTo步骤型问题的首选结构当用户问“怎么做”“如何配置”“步骤是什么”时AI 优先寻找带有序号的步骤结构。HowTo 标记的 step 数组直接对应这个需求。每一步的 HowToStep.text 控制在 20 到 80 字之间步骤总数在 3 到 9 步之间被完整引用的概率最高。超过 12 步的 HowTo 在 AI 回答里通常只被引用前 3 到 5 步后面的步骤因为回答长度限制被截断。如果流程确实超过 12 步建议拆成多个 HowTo每个覆盖一个阶段用 partOfSeries 关联。Article speakable让正文段落变成可引用单元Article 标记本身不直接提升引用率但 speakable 属性可以指定页面上哪些 CSS 选择器对应的段落是“适合被朗读/引用的”。speakable 接受 cssSelector 数组最多指定 5 个选择器。被指定的段落如果长度在 80 到 200 字之间且包含对 H2 问题的直接回答被 AI 引用的概率比未指定段落高 2 到 3 倍。一个常见的误用是给整个 .content 容器加 speakable而不是给具体的 p 或 div 加。选择器粒度太粗时AI 拿到的是一大段混合内容反而降低了引用精度。Organization sameAs实体消歧的底层信号Organization 标记不直接参与答案片段匹配但它影响 AI 对“这个页面属于谁”的判断。sameAs 数组里列出 3 到 8 个权威平台上的实体 URL可以帮助 AI 把页面内容和已知实体关联起来。关联成功后当用户问题涉及该实体时页面进入候选集的概率提升约 40%。sameAs 里放什么 URL 有效实测中维基数据条目、官方社交账号、行业目录页面的权重较高。放 10 个以上 sameAs 并不会继续提升超过 8 个之后边际收益接近零。下表对比了四类标记在 AI 引用场景下的关键参数Schema 类型 核心字段 推荐数量/长度 引用提升幅度实测FAQPage Question.name / Answer.text 5-12 组答案 40-120 字 最高约 3 倍HowTo HowToStep.text 3-9 步每步 20-80 字 高约 2.5 倍Article speakable speakable.cssSelector 最多 5 个选择器 中高约 2 倍Organization sameAs sameAs 3-8 个 URL 间接约 40% 候选提升标记写对了为什么还是不被引用结构化数据测试工具报“0 错误”只说明 JSON-LD 语法合法不说明 AI 解析器能正确提取。下面五个错误在实测中出现的频率最高且都不会被基础验证工具标记为错误。JSON-LD 放在 body 末尾导致解析失败JSON-LD 可以放在 或 里规范上两者都合法。但部分 AI 爬虫的解析器在读取 HTML 时如果建议统一放在 内紧跟 之后。如果 JSON-LD 体积超过 8KB考虑拆分核心字段放 head扩展字段放 body 开头。FAQ 答案和页面可见文本不一致这是最隐蔽的错误。JSON-LD 里的 Answer.text 写了一段 80 字的答案但页面上用户看到的 FAQ 区域只显示了 30 字的摘要完整答案藏在“展开更多”后面。AI 爬虫不点击“展开更多”它读到的可见文本只有 30 字。当 JSON-LD 里的答案和可见文本差异超过 30% 时解析器可能丢弃该问答对或者只引用可见的那 30 字。正确做法是Answer.text 和页面可见答案逐字一致。如果页面用了折叠组件确保折叠内容在初始 HTML 里就存在用 CSS 隐藏而不是 JS 动态插入。多个 type 嵌套层级过深一个页面同时标记 Article、FAQPage、BreadcrumbList、Organization 是常见做法。但如果用 graph 把它们嵌套在超过 3 层的 id 引用里部分解析器会在第 2 层之后停止追踪。实测中扁平化 graph每个类型作为顶层数组元素用 id 互相引用的解析完整率比深层嵌套高 35%。H2/H3 层级跳跃AI 解析器在没有 JSON-LD 可读时依赖 H2/H3 的层级关系推断内容结构。从 H1 直接跳到 H3跳过 H2或者 H2 下面直接跟 H4会让解析器无法确定某个段落属于哪个主题。实测中层级完整的页面H1 → H2 → H3 → 段落被引用的概率比层级跳跃的页面高 1.8 倍。列表和表格缺少语义标签用和 CSS 画出来的“看起来像列表”的结构AI 解析器不认。必须用、、、、、、、这些原生语义标签。实测中把列表改成后同一段内容的引用率从 9% 提升到 27%。一套可复用的标记模板与验证流程下面是经过实测验证的最小可用模板和四步验证流程。模板覆盖 Article FAQPage Organization 三个最常用的类型可以直接替换字段后使用。最小可用 JSON-LD 模板json{“context”: “https://schema.org”,“graph”: [{“type”: “Article”,“id”: “https://www.example.com/page#article”,“headline”: “页面标题控制在 60 字以内”,“description”: “页面摘要控制在 120 字以内”,“datePublished”: “2026-09-26T10:00:0008:00”,“dateModified”: “2026-09-26T10:00:0008:00”,“speakable”: {“type”: “SpeakableSpecification”,“cssSelector”: [“#answer-1”, “#answer-2”]}},{“type”: “FAQPage”,“id”: “https://www.example.com/page#faq”,“mainEntity”: [{“type”: “Question”,“name”: “用户会怎么问这个问题”,“acceptedAnswer”: {“type”: “Answer”,“text”: “答案控制在 40 到 120 字之间和页面可见文本逐字一致。”}}]},{“type”: “Organization”,“id”: “https://www.example.com#org”,“name”: “实体名称”,“url”: “https://www.example.com”,“sameAs”: [“https://权威平台1/entity”,“https://权威平台2/entity”]}]}四步验证流程语法验证把 JSON-LD 粘贴到 Schema Markup Validator确认返回 0 个错误。如果有警告逐条核对字段类型和格式。可见文本比对打开页面按 CtrlU 查看源代码搜索 Answer.text 里的前 10 个字确认在源代码中能找到。找不到说明答案不在初始 HTML 里。AI 爬虫视角测试用 curl -A “GPTBot/1.0” 请求页面检查返回的 HTML 里是否包含 JSON-LD 和正文答案。如果 JSON-LD 存在但正文答案缺失问题在渲染方式上。引用监测在 AI 对话里输入 FAQPage 里的 Question.name 原文观察回答是否引用该页面。连续监测 7 天记录引用次数和引用片段长度。如果 7 天内零引用回到第 1 步重新核对类型选择。一个容易坚持的监测节奏不需要每天手动测。每周固定 1 次用 3 到 5 个核心问题去 AI 对话里提问记录是否引用、引用的是哪一段、引用片段多少字。连续记录 4 周后你会得到一张引用趋势表哪些 FAQ 被引用了、哪些没有、被引用的片段平均长度是多少。这张表比任何工具的评分都更能说明问题——它直接反映 AI 实际从你的页面里拿走了什么。标记不是写完就结束的一次性工作。AI 的解析逻辑在迭代页面的内容在更新FAQ 里的问题需要跟着用户实际提问方式调整。每 30 天重新跑一遍四步验证把零引用的问答对替换掉把被引用片段的共同特征提取出来反向指导下一轮内容结构的设计。