解决收录失败时,移动端与桌面端的检查差异不能只看“页面能不能打开”。真正要对比的是:两端返回的HTML是否一致、关键内容是否都在初始HTML里、内链和跳转是否相同、资源是否被拦截。最有效的做法是固定同一URL,分别用移动端和桌面端UA抓取原始响应,再逐项比对。很多收录失败只出现在移动端,原因通常是移动版内容更少、依赖JS渲染、或移动端被robots.txt单独拦截。
多人协作时,先把对比口径写清楚,避免不同人用不同工具得出不同结论。建议准备以下三项:
curl、浏览器开发者工具的设备模拟,或日志中的爬虫记录。这里最关键的一步是“抓原始响应”,而不是只看渲染后的页面。因为收录判断首先基于爬虫拿到的HTML,渲染是后续步骤。如果移动端初始HTML里没有正文,只有JS占位,收录失败的风险就明显更高。
分别用移动端UA和桌面端UA请求同一URL,记录状态码和重定向链。若桌面端返回200,移动端返回301到另一个地址,或返回403、404,就说明两端入口不一致。注意:不同搜索引擎对移动端UA的识别和支持不同,必须按目标搜索引擎分别核查,不能凭一个工具的结果下结论。
关闭JS后查看源码,对比两端是否都有主要标题、正文、价格、联系方式等核心内容。移动端常见问题是只输出导航和少量摘要,正文靠JS加载。若移动端初始HTML缺少核心内容,而桌面端完整,收录失败更可能发生在移动端。
检查两端返回的canonical是否指向同一URL,是否误指向桌面版或移动版另一地址。同时检查meta robots和X-Robots-Tag是否在某一端出现noindex。若移动端noindex、桌面端index,收录结果会以移动端为准,容易造成“桌面能搜到、移动端不收录”的差异。
对比两端页面中的链接数量和目标地址。移动端常因折叠菜单、懒加载,导致部分内链不在初始HTML中。内链减少会影响爬虫发现新页面,但不等于一定不收录,需要结合日志和抓取频次判断。
检查CSS、JS、图片是否被robots.txt阻止抓取。robots.txt的抓取限制不等于可靠的索引移除:被阻止抓取的内容仍可能因外部链接被索引,但页面渲染会受影响。站点地图不保证收录,它只是发现线索。HTTPS也不保证安全无漏洞或排名,它只是传输层条件。
完成对比后,不要只凭一次抓取下结论。按以下顺序验证:
判断结果时注意:一项现象可能有多个解释。例如移动端不收录,可能是移动端内容缺失,也可能是该URL从未被内链指向,还可能是服务器对移动端UA返回了错误。只有日志和抓取测试同时指向同一原因,才能称为“已经定位的原因”。
多人协作时,最容易返工的地方是“口头说已检查,但没有记录”。建议把移动端与桌面端对比做成发布前检查项,每次改版或新增模板时执行一次。维护阶段重点关注:
下一步,选一个当前收录失败的URL,按上面的记录表分别抓取移动端和桌面端原始响应,先确认差异出现在状态码、初始HTML、canonical还是资源拦截,再决定修复顺序。