SEO·AEO 给开发者

第 0003 课 · 投放与检索阶段

结构化数据

别再让机器去解析你的散文。把事实直接、带好标签地递给它们。

回顾 第 0002 课:你的页面现在已经可被 crawl(抓取)、可被 index(索引)。这让它进入了系统。结构化数据(structured data)是让它脱颖而出的第一根杠杆——也是第一个能同时服务两条流水线的东西。

结构化数据(structured data)是你嵌入页面、供机器读取的标记,它明确地说:“这是一个 Product,价格是 29 USD,有现货。“不需要 NLP 去猜。Google 只推荐一种格式:JSON-LD——一个装着 JSON 的 <script> 块,与你可见的 HTML 解耦。[1]

你的收获: 为一个页面生成有效的 JSON-LD,并用 Google 的必填属性规则去 lint 它——在你发布之前就抓出”这赢不了 rich result(富结果)“,而不是几周后才在 Search Console 里发现。

散文 vs. 带标签的事实

爬虫在散文里看到的是:“我们的 Acme Widget Pro 现已发售,仅售二十九美元……”——引擎必须去推断:那是个产品吗?是价格吗?哪种货币?有现货吗?也许对,也许不对。同样的事实写成 JSON-LD,则不留任何猜测空间:

{
  "@type": "Product",
  "name": "Acme Widget Pro",
  "offers": {
    "price": "29.00",
    "priceCurrency": "USD",
    "availability": "InStock"
  }
}

为什么它同时服务两条流水线

投放 · 经典搜索

有资格获得 rich result(富结果)——星级评分、价格、FAQ 下拉框,直接显示在 SERP 上。更多空间,更多点击。

检索 · 答案引擎

当一个 LLM retrieve(检索)你的页面时,它拿到的是一个预先抽取好、毫无歧义的事实,可以直接引用和 citation(引用)——而不必冒着误读你散文的风险。[2]

现实提醒:Google 表示,结构化数据并不是什么神奇的 AEO 戏法,也没有专门的”AI 标记”——干净的结构化数据只是让你现有的内容更容易被任何机器使用。[3]这是诚实的说法,而且这就够了。

必填 vs. 推荐

每种类型都有一些被 Google 标为 REQUIRED(少一个 → 完全没有 rich result)的属性,以及标为 RECOMMENDED(跳过 → 仍然有效,只是不够丰富)的属性。分清哪个是哪个,就是这件事的全部——而这恰恰是 linter 所自动化的。

类型它需要什么
FAQPageREQUIRED mainEntity → 每个 Question 都需要 name + acceptedAnswer.text
ProductREQUIRED name,以及在 offers 里:price + priceCurrency
ArticleRECOMMENDED headlineimagedatePublishedauthor

这项技能:用脚本生成并 lint

在这个工作区里:tools/schema_tool.py——仅用标准库。它能为某个类型输出一段可复制粘贴的样例,并按上面的规则去 lint 任意 JSON-LD 文件。

现在就做:
  1. 自检:python3 tools/schema_tool.py --demo
  2. 拿到可以粘进页面 <head> 的标记:python3 tools/schema_tool.py sample FAQPage
  3. 故意把它弄坏——保存一份没有 name 的 Product JSON-LD,然后 python3 tools/schema_tool.py lint bad.json → 看它标出那个 ERROR
$ python3 tools/schema_tool.py lint bad.json

Linting JSON-LD: @type = Product
──────────────────────────────────────────────
[FAIL] Product missing required property: name
[WARN] Product missing recommended property: image
[WARN] Product missing recommended property: offers
──────────────────────────────────────────────
VERDICT: INVALID — 1 error(s) block the rich result.

天花板:这个 linter 只编码了 Google 对 3 种类型的规则,并非完整的 schema.org 词汇表。在发布生产环境的标记之前,请用 Google 官方的 Rich Results Test 以及 schema.org validator 再确认一遍。你的脚本是快速的内循环;它们才是事实的来源。

提取练习 · 不许偷看

自测一下

凭记忆作答——正是这份努力让知识留得住。每题只有一次机会;在看其他选项前先选。

第 1 / 4
Google 推荐哪种结构化数据格式?
第 2 / 4
结构化数据最直接地帮助哪两个流水线阶段?
第 3 / 4
你的 Product 标记里缺了一个 required(必填) 属性。后果是?
第 4 / 4
为什么 FAQPage 的问/答对对 AEO 很有用?
一手来源 — 接下来读这个 (≈12 分钟)
《Intro to structured data markup in Google Search》——Google Search Central

各种格式、该放在哪里,以及你的 linter 所镜像的、按类型划分的必填项清单。配合阅读 <a href="https://schema.org/docs/gs.html">schema.org Getting Started</a>。完整清单见 <a href="/zh/resources/"><code>RESOURCES.md</code></a>。

卡住了,或者好奇? 这个 agent 就是你的老师。尽管问——“给我看一个真实的 robots.txt”、“Claude 和 Perplexity 的 retrieve 方式不一样吗?”——追问是学得最快的方式。