先给结论:入口页面正常只说明首选域名的根路径或首页链路是通的,不能证明整站链路一致。深层链路失效通常发生在三类位置——首选域名跳转只覆盖首页、内链仍写旧域名、以及规范标签与首选域名指向不同主机。定位方法是把“入口正常”当作已知条件,沿一条真实深层路径逐跳核对,找出第一处主机名或协议发生变化的位置。
假设某站点把首选域名设为 https://www.example.com,服务器对 example.com 做了 301 跳转到 www 版本。首页访问正常,但访问 https://example.com/blog/post-1 时页面能打开,地址栏却停在非首选域名上;再点站内“相关文章”,链接又跳回 www 版本,来回切换。这个情境只用于说明排查顺序,不代表任何真实站点。
此时不要先怀疑服务器宕机,因为入口正常已经排除了整站不可达。要问的是:首选域名的规则是只作用于根路径,还是作用于全部路径?这两者的证据完全不同。
选一条有代表性的深层路径,例如列表页进入详情页再进入下一篇。对每一跳记录三件事:请求的完整 URL、响应状态码、最终落地的主机名与协议。可以用命令行工具查看跳转链:
curl -I https://example.com/blog/post-1,观察是否返回 301 以及 Location 指向哪个主机。如果第一跳没有 301,而是直接 200,说明首选域名跳转没有覆盖这条深层路径。这就是断点:入口页面的跳转规则和深层路径的跳转规则不是同一套。下一步应检查服务器或 CDN 的跳转配置是按路径匹配还是按全站匹配,而不是继续改页面内容。
证据是:根路径返回 301 到首选域名,深层路径返回 200 且主机名不变。常见原因是跳转规则只写了根路径,或规则里带了路径白名单。动作是补齐全站跳转并保留路径与查询参数,然后重新用同一条链核对。若补齐后深层路径开始 301,但落地后出现 404,说明问题已从跳转移交到路由,排查方向要换。
证据是:直接输入首选域名的深层 URL 正常,但从站内点击进入时地址栏变成非首选域名。这说明页面里的链接仍是旧域名硬编码或由配置项生成。动作是抽查模板与内容字段中的链接来源,确认是否有一处配置仍输出旧主机名。修掉之后,用站内点击而非直接输入再走一遍链路,因为直接输入会绕过这个断点。
证据是:页面可访问、跳转也正常,但页面里的规范标签指向另一个主机名,或站点地图里列出的仍是旧域名。这不会让用户看到失效,却会让深层链路的信号分裂。动作是核对规范标签、站点地图与首选域名是否同源。需要说明的是,站点地图不保证收录,robots.txt 的抓取限制也不等于可靠的索引移除,因此这些文件只能作为一致性证据,不能当作收录承诺。
深层链路“失效”有时只是缓存或本地环境造成的假象。区分方法是换网络、换设备、清空本地缓存后再走同一条链,并对比服务器日志中该路径的实际请求主机名。如果日志显示请求始终落在首选域名,而浏览器仍显示旧域名,问题更可能在本地缓存或中间层缓存,而不是跳转规则。
另一个需要分开核查的点是协议。首选域名设置通常同时涉及 http 与 https、带 www 与不带 www 的组合。HTTPS 不保证安全无漏洞或排名,它只是链路中的一层。若深层路径在 https 下正常、在 http 下不跳转,断点就在协议层的跳转覆盖范围,而不是域名本身。
定位断点的顺序可以固定为:先确认入口正常这一前提,再选一条深层路径逐跳记录,找出第一处主机名或协议偏离首选域名的地方,然后判断它属于跳转规则、站内链接还是规范信号。不同判断对应不同动作:跳转规则问题改服务器或 CDN 配置,站内链接问题改模板与内容字段,规范信号问题改标签与站点地图。每改一处,都回到同一条链路复测,观察偏离点是否前移或消失,再决定是否需要继续向下排查。这样做的价值在于,把“入口正常”从一个笼统的好消息,变成缩小范围的起点。