事情本身不复杂,线索都在日志里。面包屑结构化数据提交后,测试工具报 itemListElement 必须是数组,页面上只显示了一条路径。

把日志和配置对完,能解释这个现象的基本就这几处。字段写成了对象,但规范要求是列表。另一种情况是多条层级用逗号拼接成了字符串。

不容易想到的是,生成代码时只取了最后一级,其余丢失。

先检查字段的实际类型

curl -s https://www.example.com/a/ | grep -o 'itemListElement.*'

然后改成标准的列表结构

"itemListElement": [{"@type": "ListItem"}]

剩下的就是确认每一级都有 position 和 name

curl -s https://www.example.com/a/ | grep -c 'ListItem'

我习惯把每一步的执行时间和结果记在一边,后面复盘省事。

改完先别撤,确认这几项。测试工具通过,搜索结果里显示完整的面包屑路径,层级与实际目录一致。

这里还有个坑。position 必须从 1 开始连续递增,跳号或重复都会导致整段无效,这一条在工具里往往只报一个笼统的错误。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。

作者 9823189