- http://www.example.com/article-title
- http://www.example.com/article-title.html
- http://www.example.com/article-title.php
当然,有人会说可以等到变更的时候,再做301跳转……当然,这是可以的,问题是为什么一开始就不做好呢?1比2、3的方案增加多少工作量吗?而且外部引用会是类似 .html .php 这样的链接引用也会非常多,用户越多,残留的旧链接就越多……
所谓良好的设计就是可以容纳发展的框架,很多人的所谓省事儿,实际上是把工作留给未来。
另一个例子通知搜索引擎自己的网站是否需要 www 前缀。
我看到很多有经验的技术人员会说,在谷歌管理员工具中设置某个选项,我的确也找到了那个选项,不过我要提一个问题:是否在谷歌管理员工具中进行了正确的设置,这个问题就解决了?
啊?难道不是吗?
这个世界有很多搜索引擎,谷歌目前似乎是最好的,但是显然情况是在不断发生变化的,未来谁会占据优势那是未知的,更重要的是不是每个用户都是谷歌用户,不是吗?
目前著名的搜索引擎:
- Yahoo
- Ask
- Bing
- Blekko
- Yebol
- Kosmix
- 更多
我们实际上生活在一个多元化的世界,搜索引擎的数量比你想象的多得多。
那么在谷歌工具中进行设置意味着什么呢?——单独给谷歌一个通知:收录 www 或相反。那么其它搜索引擎呢?对它们来说这个问题依旧是未知的。其它的外部程序引用你的内容的时候,这个问题也是未知的。
你打算挨个通知数百个甚至数千个搜索引擎,或者未来的未知新应用吗?这可能吗?
相反,在跳转规则中利用 HTTP 协议中的301代码,则统一、一致的通知所有“应用”,注意“应用”一词,不只是搜索引擎,而是抽象的一切已知和未来可能出现的对你资源的“利用”,你的网址应该是什么样的。
你可能会说,有些搜索引擎,或者什么应用,因为糟糕的编码、设计……它们根本不理会301代码,或者……——注意,在这个问题上,如果存在这样的情况,1、那么犯错误的不是你,而是别人,你不应该用别人的错误,来引导自己采用错误的方案;2、如果那个该死的有问题的应用对你来说很重要,联系它的管理员,看它提供什么样的方案,那么依照这个特殊方案对它做个案处理(注意,标准的301依然是需要提供的,这个特殊方案是做为额外的补丁,针对特定的问题)。
总结一下,在跳转问题上:
- 遵循标准的 HTTP 协议,提供正确的跳转代码
- 针对有问题的应用,提供相应的针对性方案
其实这样的原则可以推而广之,记住虽然我们不可避免的要把自己绑定在某个特定技术上,但是你可以做得更好,让这样的依赖减少一些。
不依赖任何特定技术,是设计师永恒的追求。
没有评论:
发表评论