事情本身不复杂,线索都在日志里。文章模板里给 Article 加了 about 字段,运营把整排目标关键词都塞进 name,一共 12 个。富媒体报告没有报错,但 Article 的有效项一直是 0,测试工具提示实体无法识别。

第一反应是「about 的 sameAs 指向了不存在的维基条目」,验证下来不成立。

把日志和配置对完,能解释这个现象的基本就这几处。about 期望的是指向实体的 Thing 或 URL,不是关键词串。少数情况下是同一个 about 节点里写了多个 name,结构不合法。

还有一种情况,关键词里带逗号和引号,JSON 被转义破坏。

第一件事是抽出 about 节点看结构

curl -s https://www.example.com/article/1 | grep -o '"about":{[^}]*}'

再往下改成单一实体引用

"about":{"@type":"Thing","name":"搜索引擎优化","sameAs":"https://zh.wikipedia.org/wiki/搜索引擎优化"}

校验 JSON 是否合法

python -m json.tool page.json > /dev/null && echo ok

复验富媒体

https://search.google.com/test/rich-results

恢复的判定其实很直接。about 变成单个可识别实体,Article 有效项恢复,富媒体重新展示。

结构化数据里的 about 是实体关联,不是塞关键词的地方,塞多了只会让整段标记失效。这类问题最好一次改到位,反复小改反而容易把原因搅混。

作者 9823189