先给结论:不要用“某个浏览器看到的那一版”去对照索引量,而要先固定一个可复现的请求身份,再判断差异来自服务端分流还是客户端渲染。做法是分别用未登录移动端、未登录桌面端和登录态各取一次响应,比较状态码、正文主体和关键区块是否一致;若三份响应在服务端就不同,索引量对照应以未登录、可公开访问的那一版为准,登录态版本不应作为索引判断依据。
常见情形是:桌面浏览器打开某地址,看到的是完整正文;手机浏览器打开同一地址,却只剩标题和一句提示。此时如果直接拿桌面版去比对百度索引量,很容易把“索引量没有反映这一版”误判为收录问题。更合理的起点是承认:这个地址可能根本没有一个稳定的公开版本,索引系统抓到哪一版,取决于它请求时被分到了哪条分支。
这里要区分两个层面。第一层是服务端在收到请求时,就根据 User-Agent、Cookie 或登录态返回了不同 HTML。第二层是服务端返回同一份 HTML,但页面脚本在客户端根据设备宽度或登录状态改写内容。两者都会造成肉眼差异,但对照索引量的方法完全不同。
解释一:服务端按请求身份分流。如果服务器依据 User-Agent 或 Cookie 决定输出哪套模板,那么未登录移动端拿到的 HTML 里可能本来就没有正文,正文只存在于登录态响应中。这种情况下,公开抓取者看到的版本才是索引对照对象;登录态版本属于另一套访问路径。
解释二:服务端输出同一份 HTML,客户端脚本再改写。如果三份响应的原始 HTML 主体一致,差异只出现在脚本执行之后,那么对照重点应放在“不执行脚本时页面还剩什么”。索引系统不一定按你本地浏览器的脚本执行结果来呈现内容,因此不能用登录后的最终画面直接推断索引量对应哪一版。
还有一种混合情况:服务端先输出一个通用壳,脚本再根据登录态拉取正文。此时未登录响应可能只有壳,登录响应才有完整内容。对照时要把它归入“公开版本缺少主体”的问题,而不是简单归为设备适配。
要区分上述解释,可以按下面步骤取证据。这里的三份请求是假设示例,用来说明比较方法,不代表任何真实站点结果。
如果三份响应的正文主体在服务端就不同,说明存在按身份分流;如果三份响应主体相同,但关闭脚本后正文消失,说明差异主要来自客户端改写。这个判断会直接决定下一步:前者要检查公开版本是否可访问,后者要检查不执行脚本时是否还有可索引内容。
假设某旧系统保留了一个详情地址,未登录移动端返回的 HTML 中只有导航和页脚,登录后桌面端才出现正文。此时把登录后的正文长度与百度索引量做对照,并不能说明索引量异常,因为公开抓取者根本拿不到那段正文。更有效的动作是:先确认未登录版本是否包含核心内容;若没有,再决定是让旧系统退出、保留一个静态可读版本,还是把仍有价值的段落迁移到新的公开地址。
当旧内容、旧系统或旧合作关系需要退出时,对照结果可以帮助判断“保留什么”。如果未登录公开版本仍有完整正文,只是登录态版本不同,那么退出动作应优先处理登录态入口和内部链接,不必因为索引量波动而保留整套旧系统。如果未登录公开版本本身已经缺少正文,而登录态版本才有价值,那么继续保留这个地址对公开索引意义有限,应考虑把有价值的部分迁移到无需登录即可访问的新地址,再处理旧地址的退出方式。
需要说明的是,robots.txt 的抓取限制不等于可靠的索引移除;站点地图不保证收录;HTTPS 不保证安全无漏洞或排名。对照设备与登录状态差异时,这些结论只作为边界条件,不应被当作解决分流问题的直接手段。
实际动作可以这样安排:先固定一个未登录、可公开访问的请求身份,把它作为对照基准;再分别取移动端、桌面端和登录态响应,记录状态码与正文主体差异。若公开版本缺少正文,下一步不是反复提交地址,而是决定是否把有价值内容迁到公开可读地址,并让旧地址按既定退出策略处理。若公开版本正文完整,差异只在登录态,下一步应检查登录态入口是否被错误地当作公开内容对照,避免用不可公开访问的版本解释索引量变化。
请求量、抓取量或某项统计归零不能单独证明处理正确;它也可能来自请求身份变化、缓存、分流规则调整或统计口径变化。只有把设备与登录状态造成的响应差异先固定下来,后续对百度索引量的判断才有可复查的基准。