现场是这样的。桌面端收录一万一千条没动,移动端从九千掉到三千五,移动适配报告没有报错,日志里移动 UA 的请求也还在。
中间走过弯路,把「CDN 按 UA 缓存,移动页缓存到了桌面版的空壳」当成主因,改完现象没变。
排查方向其实有限,先把可能性排一排。移动模板改版后正文被折叠进标签页,HTML 里只剩标题;移动页的 title 和桌面页不一致,被判成两套内容;移动页的 canonical 指向桌面版,被合并处理。
动手时先用移动 UA 取一次页面看大小
curl -s -A 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)' https://www.example.com/post/1024 | wc -c
再往下对比移动和桌面的段落数
curl -s -A 'Googlebot-Mobile' https://www.example.com/post/1024 | grep -c '<p>'
缓存键按 UA 拆分
proxy_cache_key "$scheme$host$request_uri$mobile";
剩下的就是确认移动页 canonical 指向自身
curl -s -A 'Googlebot-Mobile' https://www.example.com/post/1024 | grep canonical
当时还开着另一个排查窗口,两边日志对照着看才定位到。
别只看报错消失,验证要多做一步。修正后移动端收录四周内回到七千以上,移动适配报告里的内容不符提示清零。
移动端单独掉收录优先怀疑模板和缓存,别先去动内容。这类问题最好一次改到位,反复小改反而容易把原因搅混。
