Boloop 阅读示意图(AI 生成):解析、语义、功能资格和实际表现需要分别核对。
Boloop 做结构化数据检查时,出现过一种很容易让人提前结束工作的画面:测试器显示有效项目,页面上却仍有图片抓取限制,软件也没有可核实的报价和评分。
绿色结果有价值,只是它回答的问题比“SEO 做好了没有”窄得多。后来我把检查拆开记录:数据能否解析、描述是否真实、目标功能要求是否满足,以及搜索中实际发生了什么。
先把两个验证器的工作分清
Schema.org Validator 帮助检查所用词汇和结构是否成立。Google 富媒体结果测试面向 Google 支持的搜索功能,可能识别文章、软件或面包屑,但不会把所有 Schema.org 类型都列为独立的富结果。
Boloop 的作品页用了 CreativeWork 和图片实体。Google 测试当时只显示有效面包屑,这不能推导出作品描述无效,也不意味着应该删掉其余真实语义去迎合项目数量。
反过来,一个类型在工具里被识别,也不足以证明它已满足某项搜索展示的全部文档要求。Google 的结构化数据说明明确区分其搜索功能约定与更广泛的 Schema.org 词汇。
软件页的绿色,暴露了工具与资格的差别
我们检查 Magpie 推荐页时,Google 测试列出了有效的 SoftwareApplication,同时把缺少报价和聚合评分显示为非严重提示。
如果只截一张绿色截图,很容易写出“软件富结果已经全部通过”。但逐项对照Google 软件应用文档,其中要求价格,以及符合条件的评价或评分。工具提示的措辞并没有替我们补齐这些事实。
我选择让缺失的数据继续为空。开源许可证不能自动证明所有分发方式都免费,GitHub stars 不是用户评分,本站点赞也不能换算成星级。若页面没有真实、可见、适用的报价和评价,就不能为了消掉提示填一个零价格或一组分数。
这一页可以具有真实的语义描述,同时还没有满足目标富结果的全部要求。把两项结论分开,后续才知道缺的是数据,还是代码。
作者、发布者和更新时间各有各的位置
Boloop 同时有原创文章、外部推荐和互动作品。网站负责发布一个推荐页面,不会因此成为被推荐软件或原文的作者。修正作者关系时,我们保留第三方创作者,只把已确认的原创文章作者统一为 Tink,并让它们引用同一个公开人物身份。
页面上的名字、About 信息和结构化数据需要相互对应。sameAs 只连接已经核实的公开身份,不能因为想丰富人物节点而添加未经确认的公司、履历或社交账号。
日期也有类似问题。我们的 CMS 原有公开时间字段会随重新发布而更新,因此界面把它明确标为“最近更新”,结构化数据继续使用 dateModified。没有可靠的首次发表记录时,不从创建日期猜一个 datePublished,也不把最近一次重新发布悄悄写成第一次发表。
这样做减少了一些字段,却让读者看到的时间含义更准确。
图片字段还要追到真实响应
文章声明了 image,检查并没有结束。图片需要确实与内容有关,页面能看到,引用地址能被相应抓取系统访问。图片 URL、正文、结构化数据和分享信息之间也应保持一致。
2026 年 10 月 22 日,我们在缺陷修复指南上发现:图片本身能加载,Google 测试也识别到有效文章,但资源路径仍受到 API 的爬取规则和 noindex 响应头限制。这个例子说明,字段存在和网页看起来正常,都不能替代图片访问检查。
同样,没有适用图片的页面也不应该把 Logo、装饰纹理或虚构截图塞进字段。新配图可以在内容需要时制作,并清楚说明它是阅读示意图,不能冒充产品真实界面。
把验收结果写成四层
我现在为结构化数据保留四类结论:
| 检查层 | 要回答的问题 | |---|---| | 解析 | 线上实际 HTML 或渲染后的数据能否读出,语法是否正常? | | 语义 | 实体、关系和字段是否对应当前可见内容与可靠来源? | | 功能资格 | 对照目标搜索功能的官方要求,还缺哪些适用事实或访问条件? | | 实际表现 | Search Console 与搜索结果中,是否观察到抓取、索引和相应展示? |
每个实际测试保留自己的页面、语言和结果。某次繁体中文测试如果尚未完成,就不能拿英文结果代替;一个工具停在提交界面,也不能被写成页面测试失败或成功。
这套拆分让我们停止用“零错误”概括所有事情。标记描述正确,是已经做完的一部分;搜索引擎会不会抓取、索引和采用某种展示,还要看后续证据。Google 软件文档也说明,结构化数据功能并不保证展示。
如果你正让 AI 给网站补 Schema,可以要求它同时交付可见字段对照和缺失事实列表。比起一口气生成更多类型,这更容易发现一段看起来完整的 JSON-LD 到底有没有描述真实的网站。