记录一下那天晚上的排查过程。百度搜索资源平台的移动适配校验报缺少 viewport,可源码里明明有这段 meta。原因是移动 UA 会切到另一套模板,那套模板的 head 片段单独维护,漏了这行。

刚开始盯着「移动页面用框架包裹,meta 只写在外层文档里」,折腾了半个多小时,排掉了。

这类报错背后常见的原因有几处,逐个排除就行。移动模板的头部片段是独立文件,跟桌面版不同步。另一种情况是合并压缩插件把 viewport 当成可省略标签过滤掉了。

少数情况下是校验抓的是跳转后的最终地址,落地模板又换了一次。

第一件事是用移动 UA 取源码确认 head

curl -s -A 'Mozilla/5.0 (Linux; Android 12)' https://www.lu0.cn/1.html | grep -i viewport

接着把 viewport 提到两套模板的公共头部

<meta name="viewport" content="width=device-width,initial-scale=1">

然后关掉压缩插件对 meta 标签的过滤

剩下的就是在校验工具里重新提交并观察抓取

别只看报错消失,验证要多做一步。校验通过后移动端展现量一周内回升两成,移动 UA 下的源码里 viewport 稳定出现,不再随模板切换消失。

这里还有个坑。移动适配校验看的是最终渲染结果,本地模板改对了还要按移动 UA 走一遍跳转链,只看首页会漏掉落地模板。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189