Google FAQ rich result 不出了?是被弃用,不是你的 schema 坏了

FAQPage JSON-LD 看着没错但 FAQ rich result 就是不出。2026 年 5 月 7 日起 Google 对所有站点弃用了 FAQ rich result。先确认是这个原因,再决定保留还是删除。

你给 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,报告显示合法的 FAQPageQuestion 条目数量符合预期(前提是你保留了 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 / 引荐流量。

相关

标签: #内容运营 #站点质量 #站点审计 #排查 #FAQ Schema