日期:2013-12-28 浏览次数:20775 次
URL设计是Web设计中常被忽视的东西,理想上URL非常重要,这不只是一个网页独一的路径,还涉及到你的站点能否干净,敌对。本文讲述URL这个司空见惯的Web元素中包含的大量不应为忽视的知识,准绳与最佳实践。需求留意的是W3C建议使用URI取代URL一说。
关于URL的一些准绳
首先是与URL有关的一些准绳。
一个URL必须独一地,永世地代表一个在线对象
URL的最基本的使命是独一地代表Internet上的一个对象,URL必须和Internet上的对象一对一婚配。然而理想中,这很难实现,我们经常可以通过多个URL到达同一个页面,比如,http://mysite.com/product/tv和http://mysite.com/product?name=tv,这种情形在现代CMS中更是比比皆是,针对这个问题,SEO moz有一篇很好的文章,讲到了如何使用Canonical URL机制处理站点中的反复URL问题。
URL应该是永世的,这就要求你在站点上线前就非常严谨地规划URL。如果有一天,你不得不更改URL,一定使用HTTP301机制,通知浏览器和搜索引擎,你的那个URL所代表的对象,曾经搬迁到新地址,这个机制可以保证你旧地址所获得PR不会被清零。
尽可能用户敌对
这是URL设计的基本,你的URL应该为最终用户而设计。保持URL敌对的一个好办法是在保证可读性的同时让它尽可能短。比如/about就好过/about-acme-corp-page,当然,保持简短不能牺牲可读性,/13d2一类的地址短则短矣,但并不敌对。如果要在Twitter,Facebook一类的社会媒体网络分享你的URL,可以使用Bit.ly一类的网址缩短工具,但这种工具产生的缩短URL并不敌对,在Wordpress一类的CMS中,可以使用PrettyLink Pro或Short URL plugin一类的可控制的地址缩短插件。
URL的设计切忌使用一些对用户来说没有意义的内容,比如数据库的ID号,/products/23这样的URL地址对用户是极不敌对的,该当使用/products/ballpoint-pen一类的地址。
保持分歧性
站点内的所有URL必须保持分歧的格式和结构,这样可以为用户带来信任感,如果你必须更改URL格式和结构,需求使用HTTP 301机制。
可预测的URL
这也是URL分歧性的一个表现,如果你的URL拥有很好的分歧性,用户可以依据URL猜测别的内容的URL,假如/events/2010/01指向2010年1月份的日程内容,那
/events/2009/01该当指向2009年1月的日程。
/events/2010该当指向2010年全年的日程。
/events/2010/01/21该当指向2010年1月21日的日程。
URL中的关键词
URL中应该包含本页重点内容的关键词,比如/posts/2010/07/02/trip-best-buy-memory-cards一类的URL本身就是对页面内容的反应。在URL包含重点内容关键词,也可以提高SEO功用。SEO的一个很重要的准绳就是,在URL地址中包含内容关键词。
关于URL的技术细节
下面说的是有关URL的一些技术细节。
URL不应包含.html,aspx,cfm一类的后缀
这类信息对最终用户是没有意义的,却占了额外的空间,一个例外是.atom,.rss,.json一类的特殊地址,这类地址是有特别的意义的。译者注:在某些虚拟主机式Web服务器,这种做法未必理想。
URL不应包含WWW部分
WWW部分并不包含任何意义,是一个额外的负担,不敌对。可以使用HTTP 301机制,将www.domain.com定向到domain.com。
URL的格式
URL的格式如下:
domain.com/[keyinformation]/[name]/?[modifiers]
Key information部分普通代表信息的类型或类别。Modifiers部分则属于查询字符串范畴,它不该当代表数据结构,该当代表数据的修饰。Key information部分该当尽可能简短,同时该当表现出一种层级关系,比如http://domain.com/posts/servers/nginx-ubuntu-10.04,或http://domain.com/news/tech/2007/11/05/google-announces-android。
Google News对旧事源有一个风趣的要求,Google要求旧事源页面的URL中必须包含至少3位独一的数字,由于他们会忽略年份数字,因此,应该使用一个5位或5位以上的数字。另外,也应该提供Google News站点地图。如果你想向Google提供旧事,必须按这样的结构提供URL,当然保持分歧性,可以预测性也是必需的。
使用小写字符
URL中所有字符都应使用小写,这更容易阅读。
URL中包含的行为元素
URL查询字符串中可能包含一些表示行为的元素,比如show,delete,edit等。非破坏性的行为可以体如今URL中,破坏性的行为应该使用POST。
使用URL敌对字符
在URL中体现网页标题的时候,往往会用到一些特殊字符,该当把它们转换为URL敌对字符:
全部大写字符换成小写
诸如é一类的字符应转换成对应的e
空格使用短划线代替
诸如!,@,#,$,%,^,&,*一类的字符应该使用短划线代替
双短划线应该使用单短划线代替
另外,没有必要的话,避免使用%20一类的URL逃逸符。
更多观点
Chris Shiflett建议,可以使用一些类似句子的URL,如: