移动端与桌面端检查差异,核心不是看页面“长得像不像”,而是看百度抓取时拿到的HTML、状态码、可索引内容和跳转关系是否一致。时间人手有限时,先查响应式站点最容易出问题的三类差异:移动端是否返回了不同模板、是否屏蔽了百度蜘蛛、是否把桌面内容替换成精简版。发现差异后,优先处理会阻断收录的项,再处理内容完整度问题。
百度移动端抓取和桌面端抓取可能使用不同的User-Agent。检查时不要只用浏览器开发者工具切换视口,那只是渲染宽度变化,不代表服务端返回了不同内容。可以用命令行分别请求同一URL,比较返回的HTML。
假设域名为example.com,可执行:
curl -A "Mozilla/5.0 (Linux; Android 10)" -I https://example.com/page
curl -A "Mozilla/5.0 (Windows NT 10.0)" -I https://example.com/page
重点比较:HTTP状态码是否都是200;移动端是否出现301跳转到独立移动域名;响应头是否带Vary: User-Agent;HTML中canonical指向是否一致。若移动端返回302或跳转到另一个URL,百度可能把移动URL当作独立页面处理,收录信号会被分散。
百度搜索资源平台提供抓取诊断工具,可分别选择移动端和桌面端抓取。抓取后看返回的HTML源码,而不是只看渲染截图。判断顺序如下:
<meta name="robots" content="noindex">或nofollow。有noindex时,该端不会被正常索引。如果两端HTML基本一致,只是CSS媒体查询不同,这属于正常响应式实现,通常不需要额外处理。如果服务端根据User-Agent返回不同HTML,才需要逐项核对。
robots.txt中禁止抓取移动端资源,不等于页面会被移除收录。它只是限制百度蜘蛛抓取路径,已经收录的URL仍可能出现在结果中。反过来,站点地图提交也不保证收录,它只帮助百度发现URL。检查差异时,应把这两项当作辅助信号:
时间和人手有限时,按以下顺序处理,先做能直接解除阻断的项:
验收标准可以设为:同一URL在移动端和桌面端抓取诊断中均返回200;两端canonical一致;移动端HTML包含与桌面端相同的核心正文和主要内链;robots.txt未屏蔽必要资源。满足这些条件后,再通过站点地图和内部链接提交URL,观察百度抓取和索引状态变化。不同站点的抓取频率和索引周期不同,不保证固定见效时间。
下一步:选一个尚未收录的代表性URL,分别用移动端和桌面端User-Agent执行curl,保存两份HTML,按上面的检查项逐条标记“一致/不一致”,先处理标记为阻断的项。