事情本身不复杂,线索都在日志里。面包屑最后一级是当前页面,代码里也给它加了 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'
排查用的命令都是临时敲的,没有写成脚本,事后才整理。
手上没有现成的复现脚本,就照着线上请求手工拼了一个。
怎么算真的好了,看的是同一批现象。工具通过校验,搜索结果里的面包屑路径正常展示。
容易忽略的是,这条规则不影响展示却影响校验,规范里最后一项代表当前页,不需要再给链接,去掉之后整段结构才算干净,工具也不会再提示。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。