先看现象。移动端为了速度隐藏了参数表和对比模块,桌面端完整显示。索引里移动版和桌面版分别出现,排名忽高忽低。
排查方向其实有限,先把可能性排一排。移动端用 display:none 直接砍掉了内容。还有一种是两套模板输出的正文结构不一致。
不容易想到的是,没有声明移动版与桌面版的对应关系。
上来先对比两种 UA 拿到的正文字节
curl -s -A 'Mozilla/5.0 (iPhone)' https://www.example.com/a/ | wc -c
隐藏内容改成折叠但保留在 HTML
<details><summary>参数</summary>...</details>
等前面都确认过,再确认正文主体保持一致
curl -s https://www.example.com/a/ | grep -c '<table'
当时还开着另一个排查窗口,两边日志对照着看才定位到。
同一份数据我导出了两份,一份留底,一份拿来试。
恢复的判定其实很直接。两种设备拿到的核心内容一致,移动版不再被当成独立页面索引。
提醒一点。折叠内容仍然算页面内容,直接删掉才算缺失,能用展开收起解决的就不要用移除,省得两头维护。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。