主域名选择中检查移动端与桌面端差异,核心是确认同一路径、同一内容在两种环境下是否返回一致的状态码、规范化信号和可抓取内容。操作上分别用移动端用户代理和桌面端用户代理请求同一批URL,对比响应头、HTML中的canonical、robots元标签、内链和重定向链,差异项就是需要处理的候选问题。判断标准不是“看起来一样”,而是关键信号是否一致。
从交付结果倒推,检查差异至少需要四类可比数据:
Vary、Content-Type、Location是否一致。rel=canonical、rel=alternate、meta robots、viewport。如果两端返回的canonical不同,或移动端canonical指向一个桌面端不存在的URL,主域名选择就会让搜索引擎收到矛盾信号。此时需要先修信号,再谈收录。
准备一份代表性URL清单:首页、栏目页、详情页、分页、带参数页各取若干。对每个URL分别发送移动端用户代理和桌面端用户代理请求,记录状态码、最终URL和响应头。可以用命令行工具完成:
curl -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15" -I https://example.com/page
把-A换成桌面端用户代理再执行一次,对比两次输出的HTTP/状态行和Location。这只能说明服务器对用户代理的响应差异,不能证明搜索引擎一定按同样方式处理,但可以作为排查起点。
如果两端状态码不同,可能原因包括:服务器按用户代理做了重定向、CDN缓存了其中一端的响应、或移动端走了独立域名。只有拿到实际响应后才能判断是哪一种,不要先假定唯一原因。
主域名选择的关键判断点是:移动端和桌面端页面是否都把canonical指向同一个首选URL。常见差异有三类:
https://example.com/page,移动端却指向https://m.example.com/page。逐项核对时,还要看meta robots是否一致。如果移动端误加了noindex,而桌面端没有,主域名选择就会导致移动端流量无法进入索引。robots.txt的抓取限制不等于可靠的索引移除,所以不要用robots.txt代替noindex做移除验证。
两端HTML正文需要包含相同的主内容。检查项包括:标题、H1、主体段落、图片alt、主要内链。差异常见于移动端省略了部分模块、把链接换成按钮、或把分页改成“加载更多”。
如果移动端用JavaScript渲染内容,需要确认渲染后的DOM与桌面端一致。仅对比初始HTML可能看不到差异,此时应使用能执行JavaScript的方式获取渲染结果,再与桌面端渲染结果对比。站点地图不保证收录,所以不能只靠站点地图判断两端是否等价。
对比完成后,按差异类型分派:服务器重定向和响应头由运维或后端处理;canonical、robots元标签和内链由前端或模板处理;内容缺失由内容或产品确认。验收标准可以定为:同一URL在两种用户代理下返回相同状态码、相同最终URL、相同canonical、相同robots指令,且主内容文本一致。
下一步:从站点日志或抓取工具中导出移动端与桌面端访问记录,按上述清单抽查20个代表性URL,把不一致项列成修复单并指定负责人。