事情本身不复杂,线索都在日志里。面包屑最后一级是当前页面,代码里也给它加了 item 地址,工具提示最后一项不应包含链接。

真正麻烦的地方在于,几个原因的现象几乎一样。把当前页当成可点击的一级输出。另一种情况是模板统一循环,没有区分最后一项。

另外,position 数量与实际层级差一位。

先查看最后一项的字段

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

最后一项只保留 name 和 position

{"@type": "ListItem", "position": 3, "name": "当前页"}

等前面都确认过,再确认 position 连续递增

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

排查用的命令都是临时敲的,没有写成脚本,事后才整理。

手上没有现成的复现脚本,就照着线上请求手工拼了一个。

怎么算真的好了,看的是同一批现象。工具通过校验,搜索结果里的面包屑路径正常展示。

容易忽略的是,这条规则不影响展示却影响校验,规范里最后一项代表当前页,不需要再给链接,去掉之后整段结构才算干净,工具也不会再提示。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189