这个坑值得记一笔。面包屑的 JSON-LD 里 item 写的是 /category/seo/ 这样的相对路径,页面展示正常。必应富媒体检测提示 BreadcrumbList 缺少 item 的有效地址,搜索结果里的面包屑路径一直不显示。
刚开始盯着「item 与页面上链接的实际地址不一致」,折腾了半个多小时,排掉了。
原因不止一个,得分开看。item 要求绝对地址,相对路径校验不通过;模板里没拼 siteurl,循环里只取了 path;JSON-LD 被脚本重新序列化,反斜杠被转义。
上来先确认页面有没有输出 BreadcrumbList
curl -s https://www.example.com/p/1 | grep -o 'BreadcrumbList' | head -1
然后看 item 是不是绝对地址
curl -s https://www.example.com/p/1 | grep -o '"item":"[^"]*"' | head -5
接着核对补上域名后的输出
curl -s https://www.example.com/p/1 | grep -o '"item":"https[^"]*"' | head -3
末了用富媒体工具复验一条
https://www.bing.com/webmasters/urlinspection
这次没动代码,只在配置和运行环境上找原因。
别只看报错消失,验证要多做一步。item 全部是绝对地址且与页面链接一致,富媒体检测通过,搜索结果里重新出现面包屑路径。
这里还有个坑。结构化数据里的地址一律写绝对地址,相对路径在 JSON 里没有基准可以解析。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。
