扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
永久链接的英文原文是“Permanent link”或“Clean URL”,指的是一个链接具有静态且绝对的地址。永久链接最初主要是为了做搜索引擎优化(SEO),因为Google的机器人对静态的URL有偏好,所以对于动态生成的页面,人们想出了这么个办法来使其假扮成一个静态的页面,以便让Google更好的索引网站内容;另外一个初衷是增加URL地址的可读性(前些年的URL常常非常复杂,尤其是一些门户网站)。这两年随着重写技术(Rewrite)的广泛应用和REST的兴起,永久链接变成了一件相当时髦的事情,你现在看到的我的Blog,就采用了永久链接。
但人们似乎忽视了永久链接的一些可用性问题。
首先,从理论上来讲当一个页面拥有了永久链接后,无论在何时何地访问这个链接地址,用户都应该得到同一个页面-否则还叫什么“永久链接”呢!但事实却并不总是这样,因此它的第一个可用性问题就是:永久链接并不真的永久!
这个问题常见于网站列表页上必不可少的翻页导航。我的Blog也有(如下图),为了达到上述两个目的,翻页导航中的链接全部是永久链接,仔细观察其URL,不难看出其中的“page:(数字)”表示页码。但因为我会不断地更新Blog的内容,某一页面内的内容就会发生变化,这样就会造成这个月看到的第三页的内容和下个月看到的可能就会不一样,此时永久链接也就不再永久了。产生这一问题的根源在于,为了让用户首先看到最新的内容,网站设计者把通常意义上的“最后一页”(或者说最新一页)变成了第一页,造成索引完全失效了。这就好像你在读一本书的同时,作者不断从开头增加内容,结果你发现当你第二次拿起这本书的时候,无论如何也不能根据记忆中的页码来找东西了。
那么怎么解决这一问题呢?我觉得至少可以从以下两方面入手:
按照现实中的习惯来为网站内容索引
就是依照时间顺序来自然的增大页码,这是一种根除问题的办法。但缺点在于它会挑战用户习惯,由经验我们知道,这是很可怕的 :P
给页码链接增加时间戳
给每一个动态生成的页码链接加上一个时间戳,比如“page:3/date:20071216”,以此来表示此页码的有效时间范围。但这显然会增加程序设计的难度,并且从它的隐喻来讲比较奇怪,“2007年12月16号的第三页”?这听起来令人匪夷所思,虽然这一方法确实能解决上述问题。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。