检查移动端与桌面端的收录差异,核心是分别用两类设备的用户代理请求同一批URL,对比返回的HTML、状态码、canonical、robots meta和内部链接是否一致。差异往往不是“移动端不收录”,而是移动端拿到的是简化模板、跳转页或被屏蔽的资源,导致抓取和索引判断与桌面端不同。下面用一个假设例子说明完整流程。
假设某资讯站有一篇文章 https://example.com/a,桌面端返回完整正文和结构化数据,移动端因历史原因返回一个“打开App阅读”的引导页,正文只有摘要。此时桌面端可以被正常解析,移动端页面内容稀薄,两端的索引结果就可能不同。
排查时不要只看浏览器窗口缩放。窗口变窄不等于移动端抓取,很多差异来自服务端根据User-Agent返回不同HTML。正确做法是固定URL,分别用桌面和移动UA请求,保存响应后逐项对比。
可以执行以下步骤,把结果保存成两个文件再比较:
curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" -L -o desk.html -w "%{http_code} %{url_effective}\n" https://example.com/acurl -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)" -L -o mob.html -w "%{http_code} %{url_effective}\n" https://example.com/adiff 或编辑器对比两个HTML,重点看正文、canonical、robots meta、hreflang和结构化数据。适用条件:页面不依赖登录、Cookie或地理位置。如果依赖,需要带上对应请求头,否则结果不能代表真实抓取。判断结果时,只要移动端正文缺失、canonical指向不同URL或出现 noindex,就应作为优先修复项。
noindex 或 nofollow。robots.txt 拦截;拦截会妨碍渲染判断。注意,robots.txt 的抓取限制不等于可靠的索引移除;它只阻止抓取,已收录URL仍可能出现在结果中。站点地图也不保证收录,它只是发现URL的辅助方式。HTTPS同样不保证安全无漏洞或排名,它只是传输层条件之一。
把检查结果写成一张固定表格交付,列包括:URL、设备类型、状态码、最终URL、canonical、robots meta、正文是否完整、截图或响应文件路径。每个差异标注“可能原因”或“已经定位的原因”,不要混写。
常见错误有三种:只用浏览器开发者工具切换设备模式,没有改请求UA,服务端仍返回桌面HTML;只测首页,没有抽样栏目页和详情页;发现移动端跳转就断定是JS问题,实际可能是服务端重定向或CDN规则。多人协作时,先约定抽样规则,例如按模板各选3条URL,再分配执行人,能显著减少反复核对。
下一步:从站点主要模板中各选一条URL,按上面的命令分别抓取移动端和桌面端响应,把差异填进交付表格,再决定是修模板、改重定向还是调整抓取规则。