移动版页面把参数表和对比图整块隐藏,正文汉字数只有桌面版的 41%,GSC 的移动可用性报告提示内容不一致。

一开始怀疑是「广告位在移动端挤占了正文容器,内容被裁切」,查了一圈,方向不对。

排查方向其实有限,先把可能性排一排。响应式断点里直接 display none 掉了正文模块。也可能是移动模板为了省流量只渲染前 300 字,后面靠点击展开。

少数情况下是两份模板各自维护,移动版缺少后加的字段。

第一件事是分别抓两个版本统计正文字数

curl -s -A 'Mozilla/5.0 (iPhone)' https://www.example.com/post/1 | sed 's/<[^>]*>//g' | wc -m

然后把隐藏模块改成折叠但保留在 DOM 里

.spec-table { max-height: 0; overflow: hidden; }

末了核对两份模板的字段是否一致

diff <(grep -o 'class="[a-z0-9 -]*"' mobile.html) <(grep -o 'class="[a-z0-9 -]*"' desktop.html) | head

别只看报错消失,验证要多做一步。折叠方案上线后移动版正文与桌面版基本一致,报告里的内容缺失提示在三次抓取后消失。

提醒一点。隐藏和折叠对蜘蛛的意义完全不同,display none 的内容仍可能被读,但按需加载的接口内容基本读不到。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。

作者 9823189