你给 600 篇文章加了 ## FAQ 段,ArticleLayout 提取后发出 FAQPage JSON-LD。等了 6 周,FAQ rich result 始终不在 SERP 出现;把 URL 贴进 Rich Results Test,它说 FAQ 这个功能已经不再支持。在你花一整天去查提取器之前先停一下:截至 2026 年 6 月,绝大多数情况下你的 schema 一点问题都没有——是 Google 把 FAQ rich result 弃用了。
一句话结论。 Google 从 2026 年 5 月 7 日 起对所有站点停止在 Search 显示 FAQ rich result(自 2023 年 8 月起它本就只剩极少数知名政府/医疗站点能用)。FAQPage 仍是合法的 schema.org 类型,Google 明确说这段 markup 可以留在页面上、不会出问题——只是不再在 Google Search 产生可见结果。所以:先确认你撞上的是这次弃用(而不是真 bug),再决定是把 markup 留给 AI/其他引擎解析、还是删掉。如果你的”FAQ”内容确实是有用的问答,无论如何都建议保留可见段落。
第一步:确定是弃用,不是真 bug
照这张表过一遍。如果你符合第一行,就到此为止——下面那些查 schema 的步骤对你不适用。
| 你看到的现象 | 最可能的原因 | 怎么办 |
|---|---|---|
| Rich Results Test 说 FAQ “no longer supported” / 报告里没有 FAQ 段 | 弃用(2026-05-07) | 看下面”决定:保留还是删除” |
| Search Console 的 FAQ Enhancements 报告消失了 | 报告下线(2026 年 6 月) | 正常现象,无需修 |
| Rich Results Test 说 “No items detected” 但 source 里有 JSON-LD | 提取器发出了空/错误的 JSON-LD | 校验 JSON-LD(Schema Markup Validator),见”如果你的 JSON-LD 真坏了” |
view-source 里一个 FAQPage 块都没有 | 提取器没跑 / 正则没匹配上 | 见”如果你的 JSON-LD 真坏了” |
source 里有两个或更多 FAQPage 块 | 重复发射(layout + 插件) | 去重,见下文 |
这张表的要点:既然 SERP 功能对所有人都死了,“rich result 不出现”就再也不能用来判断 schema 有没有问题。查 source/校验器只能告诉你 markup 在技术上是否合法,不能告诉你它会不会拿到 SERP 功能——它不会了。
到底改了什么(时间线)
Google 分阶段下线 FAQ rich result。截至 2026 年 6 月:
- 2023 年 8 月 —— FAQ rich result 收窄到只对”知名、权威的政府和医疗类网站”显示。大多数站点在这一步就失去了这个功能。
- 2026 年 5 月 7 日 —— FAQ rich result 对所有人停止在 Google Search 出现,包括 2023 年被保留的那批政府/医疗站点。
- 2026 年 6 月 —— Google 移除 Performance 报告里的 FAQ search-appearance 过滤项、Search Console 里的 FAQ rich result 报告(Enhancements),以及 Rich Results Test 对 FAQ 的支持。
- 2026 年 8 月 —— Search Console API 中移除 FAQ rich-result 数据。
Google 官方口径:你可以删掉 FAQ 结构化数据,也可以留着;它不会出问题,其他搜索引擎和爬虫可能仍会按自己的用途处理它。参见 Google 的 FAQ 结构化数据文档,该页现在挂着弃用提示。
决定:保留还是删除 FAQ markup
两种选择都没有 SEO 惩罚。按你想从中得到什么来选。
保留 JSON-LD,如果 你的问答是真实、可见、有用的。FAQPage 是干净的问/答结构,AI 答案引擎(以及非 Google 爬虫)仍能解析,所以留着零成本,还可能有助于 AI 引用 / 答案引擎优化(AEO)。注意:Google 并未确认 FAQ markup 是 AI Overviews 的排名信号,所以把 AI 收益当作”有可能、未证实”,别当成保证。
删除 JSON-LD,如果 它当初就只是为了追 SERP 下拉框、答案空洞模板化、或者你想精简 <head>、减少维护。删掉不会影响排名。
无论哪种选择,都保留可见的 ## FAQ 段落——只要这些问题是真实读者会问的。一个有用的页面内 FAQ 既帮人,也给 AI 答案引擎提供可抽取的问答,跟你发不发 JSON-LD 无关。
如果你选择保留 markup:确认它技术上合法
你已经拿不到 SERP 功能了,但仍然希望 JSON-LD 合法,免得别的解析器卡住。Rich Results Test 在 2026 年 6 月就不支持 FAQ 了,改用 Schema Markup Validator 校验——它直接检查 schema.org 类型,不绑定 Google 的 SERP 功能。
正确形状
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Why does my image alt text matter?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Alt text is read by screen readers and used by image search engines..."
}
}
]
}
常见的结构错误会让它不是合法的 FAQPage(尽管是合法 JSON):acceptedAnswer 写成 answer;answer 的 @type 写成 Text 而不是 Answer;缺 mainEntity,或把它写成单个对象而不是数组。
你的提取器(单一真相源)
ArticleLayout 里只保留一个提取器,不要让插件再重复一遍。这就是本站现用的形状:
function extractFaq(bodyMdx: string) {
const items = [];
const re = /^### (.+\?)\s*\n+((?:(?!^### |^## ).+\n?)+)/gm;
let m;
while ((m = re.exec(bodyMdx))) {
items.push({
"@type": "Question",
name: m[1].trim(),
acceptedAnswer: {
"@type": "Answer",
text: m[2].trim().replace(/\n+/g, " "),
},
});
}
if (items.length === 0) return null;
return {
"@context": "https://schema.org",
"@type": "FAQPage",
mainEntity: items,
};
}
只发一次:
{faq && (
<script type="application/ld+json" set:html={JSON.stringify(faq)} />
)}
让 JSON-LD 的 text 忠实对应可见答案(剥掉 markdown,不要砍到只剩一句),保证 markup 和页面一致:
function stripMarkdown(s: string) {
return s
.replace(/`([^`]+)`/g, "$1")
.replace(/\*\*([^*]+)\*\*/g, "$1")
.replace(/\[([^\]]+)\]\([^)]+\)/g, "$1");
}
不要发两个 FAQPage 块
如果插件和你的 layout 都发 FAQ schema,你就有了重复块。在构建产物里数一下:
curl -s https://site.com/zh/articles/foo/ | grep -c '"@type": "FAQPage"'
数量大于 1,就找出每一个发射处、只留一个:
grep -rn '"FAQPage"' src/
如果你的 JSON-LD 真坏了(空或缺失)
这是唯一真的有 bug 的情形。症状:view-source 里没有 FAQPage 块,或者显示 "mainEntity": []。
mainEntity为空 —— 你的 FAQ 段结构没匹配上提取器的正则。示例正则期望### Question?标题后跟段落文本。如果文章用的是**Question?**后跟 bullet 列表,就一个问题都匹配不到。统一段落格式,或放宽正则。- 完全没有
FAQPage块 —— 提取器返回了null(没找到问题),或 layout 那个分支根本没渲染。确认文章里确实有## FAQ段、且至少有一个### Question?子标题,并确认该路由上调用了extractFaq。
既然在 view-source,顺手确认页面可索引——这关系到正常收录,即便它已经不再决定 FAQ rich result:
curl -s https://site.com/zh/articles/foo/ | grep -E 'robots|canonical'
robots 不能是 noindex;canonical 应指向页面自己,不是别处。
如何确认修好了
- 在抽样 URL 上用 Schema Markup Validator,报告显示合法的
FAQPage、Question条目数量符合预期(前提是你保留了 markup)。 view-source里每页正好一个FAQPage块(删了的话则为零)。- 你不再等任何 SERP 功能——这才是关键。“Eligible/Valid”状态和 FAQ Enhancements 报告自 2026 年 6 月起已不存在,它们消失是预期之内,不是回归 bug。
常见问题
Google 真的把 FAQ rich result 砍了,还是只是我这个站不出?
是真实、永久的弃用。FAQ rich result 自 2026 年 5 月 7 日起对所有人停止出现,此前自 2023 年 8 月起就只限政府/医疗站点。这不是单站 bug、不是 manual action,也不是调 schema 能修好的。
我现在该把页面里的 FAQPage JSON-LD 删掉吗?
可选。Google 说这段 markup 留着不会出问题,其他爬虫 / AI 答案引擎可能仍会用它。如果它当初只是为了追 SERP 功能、或你想精简 <head>,就删;如果你的问答是真实的、想让非 Google 系统能解析,就留。两种做法都没有排名惩罚。
为什么 Rich Results Test 不再检测我的 FAQ schema 了?
因为 Google 在 2026 年 6 月把 Rich Results Test 对 FAQ 的支持移除了。想检查 markup 在结构上是否仍然合法,改用 Schema Markup Validator(validator.schema.org)——它独立于 Google 的 SERP 功能、直接校验 schema.org 类型。
我的 Search Console FAQ Enhancements 报告不见了,这是问题吗?
不是。FAQ rich result 报告和 FAQ search-appearance 过滤项在 2026 年 6 月下线,API 数据在 8 月跟进。报告消失正是弃用的预期结果,不是你这边丢了数据。
保留 FAQ schema 还能帮上 AI 搜索或 AI Overviews 吗?
也许,但未经证实。问/答结构对 AI 答案引擎很好抽取,FAQ 格式的内容也更容易被引用,所以为了答案引擎优化(AEO)保留真实问答是合理的。Google 并未确认 FAQ markup 是 AI Overviews 的排名信号,所以把任何 AI 收益当作”有可能”而非”必然”。
FAQPage 还是合法的 schema.org markup 吗?
是。被弃用的只是 Google 那个可见的 rich-result 功能。FAQPage 仍是合法的 schema.org 类型,所以这段 markup 本身不是错误,校验器仍会接受它。
预防
- FAQ JSON-LD 单一真相源(layout 的提取器、不用插件),永不发出重复块。
- 模板改动后用 Schema Markup Validator 校验提取器输出,而不是 Rich Results Test(FAQ 支持已于 2026 年 6 月移除)。
- prebuild 脚本数每页发出的
FAQPage块,超过 1 就 fail。 - 有
## FAQ段的文章自动校验至少有一个### Question?子标题,让提取器不会悄悄发出空数组。 - 不再追踪那个(已移除的)FAQ Enhancements 报告;若仍想要一个问答信号,改为监控 FAQ 内容强的页面的 AI / 引荐流量。
相关
- Content Site Image Alt Missing Bulk
- Content Site Canonical Points to Self Wrong
- Content Site Hreflang Tags Misconfigured
- Search Console Low Value URLs
- Many Pages Few Impressions
- Content Site Translation Pages Mismatched
标签: #内容运营 #站点质量 #站点审计 #排查 #FAQ Schema