先接受一个前提:同一个URL返回不同内容,并不自动等于错误。移动端适配、登录后个性化、地区或语言协商、A/B测试、缓存分片都可能造成差异。真正要判断的是——这组差异是保留、改写,还是让旧入口退出。
对照的核心不是“看两次页面”,而是固定除设备或登录状态以外的所有变量。至少固定:请求头中的User-Agent、Cookie、Accept-Language、Referer,以及是否携带登录凭证。任何一项变化,都可能让服务器返回另一套内容。
一个可执行的对照方法是:用同一台机器、同一网络出口、同一时间窗口,分别发起两组请求,每组只改变一个变量。例如:
这样做的结果,是你能把差异归因到“设备识别”还是“登录状态”,而不是笼统地说“这个URL不稳定”。归因清楚后,下一步才能决定是保留两套内容,还是统一成一套。
如果差异只出现在User-Agent变化时,且两套内容在标题、主体信息、主要链接上高度一致,只是布局或图片尺寸不同,这通常属于响应式或动态适配的正常表现。此时保留是合理的,前提是两套内容对同一意图给出相同答案。
需要改写的情况是:移动端返回的内容缺失了桌面端的关键信息,例如价格、规格、联系方式或主要导航。此时差异不再是适配,而是内容覆盖不一致。改写方向不是强行让两端完全一样,而是让移动端至少包含与桌面端等价的核心信息。
判断依据可以落到一个动作上:分别保存两端的可见文本,逐段比对。如果移动端缺少的段落属于用户完成决策所必需,就应改写;如果只是装饰性差异,保留即可。
登录后返回不同内容,常见于账户页、个性化推荐或权限控制。这类差异是否要处理,取决于未登录版本是否仍然对公众有价值。
若未登录版本只是登录表单或空状态,而登录后才是完整内容,那么该URL对未登录访客和抓取工具而言没有可索引的实质内容。此时更合理的做法是让这个URL退出索引范围,把公开内容放到另一个不需要登录即可访问的URL上。注意:在robots.txt中禁止抓取,不等于可靠的索引移除;它只限制抓取,不保证已收录结果消失。
若未登录版本本身就有完整、可独立成立的公开内容,登录只是叠加个性化模块,那么保留双版本是成立的。前提是未登录版本能独立满足访问者需求,而不是一个残缺的壳。
旧内容、旧系统或旧合作关系需要退出时,最容易犯的错是直接删除或直接屏蔽。更稳妥的顺序是先判断这个URL是否还有独立价值。
这里有一个容易误判的点:某个URL的抓取量或请求量归零,不能单独证明处理正确。它也可能只是抓取频率下降、站点地图未更新、内链被移除,或该URL本身已不再被引用。要确认退出是否生效,应结合服务器状态码、页面可见内容、内链指向和站点地图中的记录一起看,而不是只看一个数字。
假设某旧活动页在桌面端返回完整介绍,在移动端只返回一张图片和一句“请在电脑端查看”,登录后则显示报名表单。对照后可以这样取舍:
这个例子的数字只是说明比较方法,不代表任何真实站点的表现。关键动作是:先固定变量对照,再按“是否仍有公开独立价值”决定保留、改写或退出。做完这一步,下一步才是更新内链和站点地图,让仍然有价值的URL继续被访问到。