现场是这样的。移动端为了省空间用 CSS 把面包屑藏起来,HTML 里仍有 BreadcrumbList 标记,GSC 提示标记内容在页面上不可见。

中间走过弯路,把「移动端和桌面端输出不同面包屑,标记只跟桌面走」当成主因,改完现象没变。

把日志和配置对完,能解释这个现象的基本就这几处。display none 的内容不算可见,标记要与可见内容一致;标记里多了一级页面上没显示的层级;被主题 CSS 覆盖,开发以为删掉了实际只是隐藏。

上来先确认元素是否被隐藏

curl -s https://www.example.com/post/ | grep -o 'class="breadcrumb"[^>]*style="[^"]*"'

搜索样式表里的隐藏规则

grep -rn 'breadcrumb' theme/assets/css/*.css | grep -i 'display'

然后改成折叠而不是隐藏

sed -i 's#display: none#display: block#g' theme/assets/css/breadcrumb.css

剩下的就是重新校验富媒体

curl -s 'https://search.google.com/test/rich-results?url=https://www.example.com/post/' -o rr.html

别只看报错消失,验证要多做一步。富媒体测试不再提示内容不可见,面包屑在移动端以折叠形式可见,标记层级与页面一致。

提醒一点。折叠可以隐藏不行,判定看的是渲染后的可见性而不是源码里有没有。这类问题最好一次改到位,反复小改反而容易把原因搅混。

作者 9823189