列表页加了面包屑标记,搜索结果里显示的层级比页面上的面包屑少一级,中间那层分类凭空消失,名字也和页面上写的不一致。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,itemListElement 里的 position 必须从 1 开始连续递增,中间漏掉一项或者跳号,解析器会直接截断到断点之前,后面的层级一个都不展示,报告里也不会告诉你缺了哪一级。
碰到「BreadcrumbList 标记层级」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。报错里带路径的,先去看那个路径在不在、权限对不对。
curl -s https://example.com/news/ | grep -o 'position[^,]*' # 期望输出 1 2 3 连续,不能跳号
同一份配置存在多处的,先确认改的是被加载的那一份。
具体做法是,按页面真实路径逐级列出分类页和叶子页,一级都别省;检查 position 是否从 1 开始连续递增,每一级都不能跳号;每一项都要同时带上 name 和 item 两个属性,缺一个就断。
最后用这个标准收尾,搜索结果里的路径与页面面包屑逐级一致,中间不再缺项,名字也对得上。
