JSON-LD实战手册:让生成式搜索读懂你的页面
结构化数据为什么对AIO更重要
SEO时代我们谈结构化数据,通常是为了富结果(评分、价格、面包屑、FAQ折叠等)。AIO时代,结构化数据的价值更接近“机器可计算的语义”:它让搜索引擎与模型在理解页面时不只依赖自然语言,而是能读到明确的实体类型、属性、关系和语言信息。
在生成式回答链路里,系统会在检索阶段做聚合、在理解阶段做结构化推断、在生成阶段做归纳。JSON-LD恰好覆盖了“理解阶段”的关键缺口:告诉机器这是什么页面、页面的主要实体是什么、实体之间的关系是什么、它属于哪个站点、由谁发布、面向什么语言。它不会替代内容质量,但会显著降低理解成本。
一个常见误区是把JSON-LD当作“加个标签就有用”。实际上,它的效果来自一致性:页面标题、正文主张、链接关系、结构化数据必须表达同一个事实;否则机器会把它视为噪音甚至误导。
Schema选型:别把一切都标成WebPage
Schema选型的目标是:用最贴近页面意图的类型来表达“它是什么”。
- 博客文章:优先使用
BlogPosting或Article,可以提供 headline、author、datePublished、dateModified、image 等。 - FAQ页面:使用
FAQPage并用 mainEntity 填入 Question/Answer,让机器直接读到问答结构。 - 工具页/产品页:根据性质选择
SoftwareApplication、Product或Service,能表达更强的可交易/可使用信号。 - 列表/栏目页:可用
CollectionPage或WebPage,并把主要列表项通过 ItemList 表达。
如果你只是把所有页面都标成WebPage,机器只能知道“这是一页网页”,却不知道“它是一个FAQ页还是一个工具页”。对生成式系统而言,这种差异会影响抽取策略:FAQPage更容易被当作标准答案来源,SoftwareApplication更容易被当作可执行入口。
标注策略:一致性、最小充分与可验证
高质量JSON-LD有三条原则:
- 一致性:结构化数据里的 name/description 必须与页面title/description一致,url与canonical一致,语言与html lang一致。
- 最小充分:优先把最关键的字段标清楚,而不是堆一大堆不确定字段。字段越多,越需要维护与一致性校验。
- 可验证:不要标注你无法在页面中证明的事实。例如标了评分、价格但页面没有,容易被判为误导。
实践中最稳定的做法是先建立“站点级实体”,再建立“页面级实体”。站点级实体包括 Organization 与 WebSite,页面级实体是 BlogPosting/FAQPage/SoftwareApplication 等。页面级实体通过 isPartOf/publisher/@id 与站点实体关联,形成统一知识图谱。
常用页面类型的JSON-LD示例与要点
以下是三个最常见的页面类型要点,便于你快速对照自己的站点:
1)BlogPosting:面向“方法论与解释”
- 必备:headline/name/description/url/inLanguage
- 推荐:datePublished、dateModified、author(可用组织)、image
- 技巧:把每个小节写成“可引用段落”,结构化数据负责声明“这篇文章是什么”
2)FAQPage:面向“标准答案与高频问题”
- 必备:@type=FAQPage + mainEntity(Question/Answer)
- 技巧:一个页面可以包含多个问答,但问答必须真实出现在正文中
- 收益:机器可直接读到问答结构,极大降低抽取成本
3)SoftwareApplication:面向“可执行入口”
- 适用:在线检测工具、生成器、计算器等
- 必备:name/applicationCategory/operatingSystem/url/inLanguage
- 技巧:把输入输出说明写清楚,配合结构化字段表达“这是一个工具”
你可以用本站的 AIO在线检测 页面作为参考,它属于典型的工具页;而FAQ栏目下的问答页属于FAQPage;博客文章则属于BlogPosting。让每类页面都“类型明确”,你就获得了更清晰的机器理解路径。
多语言与多版本:hreflang与inLanguage怎么配合
多语言站点在AIO里最常见的问题不是翻译质量,而是版本关系不明确:爬虫不知道哪两个页面是一对,模型也会把不同语言的段落混在一起。解决方式是“双保险”:
- hreflang:告诉搜索引擎同一内容的不同语言版本互相对应。
- inLanguage:在JSON-LD里明确页面语言,并让它与 html lang、正文语言一致。
另外,canonical一定要指向本语言版本的自身URL,而不是另一个语言版本。这样可以避免“中文页canonical到英文页”造成的收录混乱。多版本场景(例如参数页)还需要稳定的canonical策略:把参数变体指向主版本,让爬虫与模型都知道“哪个是权威版本”。
校验与监控:从“通过”到“有效”
把JSON-LD放上去只是第一步。你需要两层校验:
- 语法校验:JSON是否有效、字段是否拼写正确、类型是否存在。
- 语义校验:结构化数据是否与页面内容一致、url是否与canonical一致、语言是否一致、字段是否可证明。
一个实用的方法是建立“抽样巡检”:每次发布后随机抽5个页面,用浏览器查看head中的JSON-LD与meta是否正确,再用工具检查结构与可读性。长期看,结构化数据是一个“需要维护的资产”,而不是一次性工作。
上线清单
- 为站点设置 Organization 与 WebSite 的统一标识(@id),并让页面引用它。
- 为每种页面类型选择合适的Schema类型:BlogPosting/FAQPage/SoftwareApplication等。
- 确保 url 与 canonical一致;inLanguage与html lang一致;name/description与页面一致。
- FAQPage必须保证问答真实出现在正文中,避免“标了但没写”。
- 上线后持续抽样检查结构与一致性,必要时用工具辅助发现问题。
做对JSON-LD,你不是“加了几行代码”,而是为搜索与AI建立了一套可计算的语义层。它会在长期里降低理解成本,提高引用概率,并让内容体系更可维护。