深链接失效时需降级到最近可用层级
别名: 深链接失效降级 · dead link fallback · 断链就近 · graceful deep link
概念解释
收藏、邮件、广告和分享出去的 deep link 比它们指向的对象活得长。对象被下架、改名、合并、权限收紧之后,链还在。降级到最近可用层级是说:打不开这个目标节点时,不要停在空白 404 或把人丢回首页,而是落到仍然存在、且仍能解释「你本来要来的是这一支」的最近祖先——该类目、该文件夹、该用户的内容墙。失效被承认,位置感被保住。
机制
深链接是一份过期会作废的坐标。叶没了,坐标里仍可能有还能用的前缀:/shop/chairs/oak-42 里椅子类目还在。人点开链是冲着那个对象去的,对象没了不等于任务取消——常变成「同类还有没有」「这个作者还在不在」。空白错误页切断的是整条意图;首页切断的是位置,人必须重新觅食。最近可用层级把意图收束到仍有效的斑块,信息气味还在。
降级也是信任问题。链是别人或过去的自己发出的,打不开会被读成「链接骗我」或「产品丢了东西」。落到能叫出名字的祖先,并写明叶为什么不在了(下架、无权限、已合并到另一条),失败被解释成世界变了,而不是导航坏了。静默重定向到一条「相似」的别的叶会更糟:人以为到了原来那条,用错误对象做决定。
怎么研究
准备同一条深链的四种死后页面:空白 404、全站首页、父级类目加一句原因、自动跳到推荐的另一叶。任务是「打开这封邮件里的链接,处理这件事」。
- 自变量:降级目标、是否说明失效原因、是否自动跳到别的叶。
- 因变量:是否继续在同一支下完成替代任务、错误对象上的误操作、把失败归因为「链接坏了」还是「东西没了」。
- 方法论注意点:实验室里的 404 文案往往被写得很友好,现场的 404 常常是通用模板;要用产品真实的错误页,不要用研究专用的说明页。权限失效和对象删除要分开,前者的最近可用层级可能是「申请访问」,不是类目。
边界
叶被合并到唯一合法的新地址时,应 301/永久重定向到那一条,而不是停在旧类目——最近可用已经变成新叶本身。法律或安全要求「此资源不可承认其存在」时,降级到父级会泄露它曾经挂在哪,只能给通用的无权限页。站点根就是最近可用层级的那种单层产品,降级等于回首页,这时至少要留下搜索框和失效说明,不要假装成一次正常进入。
怎么落地
- 解析深链时沿祖先链逐级查存活:叶不在则父级,父级不在则再上一层,直到第一个可显示的节点;同时记下失效原因。
- 落地页标题和正文承认「原来的对象不可用」,给出原因和在本层继续的动作(浏览同类、搜索、申请权限),不要自动换成另一条具体对象。
- 对已改地址的叶做永久重定向,把降级留给真正消失或不可见的对象。
- 验证:把一条已删除对象的旧链、一条无权限的链、一条已改 URL 的链发给未参与设计的人。删除应落到父级并看到原因;无权限应看到申请而不是类目里的邻居;改址应打开新叶而不是父级。停在通用 404 或首页的,降级失败。