首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>SEO教程>SEO入门>资讯:URL命名规则浅析

URL命名规则浅析

www.jz123.cn  2008-12-25   来源:   原创    tony    我要投递新闻

一般而言,网站建设中对于URL的命名往往并不是十分规范,我想对于url对于SEO的一些影响做一些自己的分析判断
一、url的结尾命名规范
在写这个问题之前,我看了一些网上的讨论文章,虽然几乎都没有什么准确结论,出发点也各不相同,但是总而言之一句话,倾向于目录结尾要加上/,理由是这样对于搜索引擎是友好的,至于怎么友好却没有交代的十分清楚。

首先从容器端来说:
一段没有/结尾的url和有/结尾的url在默认情况下一般会被确认成为两个不同的地址,比如:
A:http://www.ctony.cn/back
B:http://www.ctony.cn/back/
在使用A类url进行访问的时候,容器一般会去在服务器端首先搜索是否包含back这个文件,如果没有那么将会在其后端加上/然后解析是否有这个目录,最后显示在客户端。对于这种操作行为,yahoo的waferbaby曾经用一段生动的对话进行解释,来说明这段解析对于服务器端是多么的不友好,将会通过复杂的查询后给客户端返回一个正确结果,当然这种反应时间对于客户端来讲是完全感觉不到的,但是当众多访问集中在一起就会对于服务器资源造成一定的浪费,降低了容器的解析效率。所以waferbaby支持必须要在结尾处增加/。
附:
<a href=”http://ctony.com/subdirectory”>A link</a>
Browser: Give me ‘subdirectory.’
Server: Just a minute; first I’ll try to find a file called ‘subdirectory.’ … Wait a second; it’s not there! How about a directory called ‘subdirectory?’ … Ah, here we go. Okay. And next time, please use a trailing slash.
Browser: Roger that.
But by changing our link just a little bit:
<a href=”http://ctony.cn/subdirectory/”>A link</a>

从搜索引擎的搜索行为上来讲:
以上样例的两者哪一种对于爬虫是友好的呢?
我们知道,搜索引擎爬虫在对于地址进行爬取的时候也会遇到容器解析的这一个步骤,那么容器消耗资源是否会影响到爬虫得到的结果是很重要的。在一般情况下,容器对于没有增加/的地址进行解析后也能够给爬虫返回一个正确的结果,只要在返回时间的容许下,爬虫还是可以接受这种结果的。当结果被存进数据库并建立索引,这个时候我们可以看到,这种地址的结果会被按照B类url的形式进行保存。提出一个新的情况:如果我们的back是一个文件呢?那么他的层级要高于back这个文件夹的层级。有人会问,这怎么可能?
事实这种可能完全存在,比如,j2ee的struts框架中,就会出现这种url。在后端配置文件的影响下,A类url会被解析成一个文件地址,并可以正确返回数值。也就是说,AB两类地址完全是可以并存的,并且一个是根目录的文件地址,另外一个是一级目录地址,并且容器内并不会因为进行判定而减少了容器资源消耗。那么在这里,哪一种地址的层级关系会被判定的更高就显而易见了。这也存在一个问题:仅仅jsp中可能会出现的文件形式怎么会影响绝大部分的网站结构呢?
在这里我介绍另外一种友好的url形式:
我们都知道,google对于带有参数的url地址是可以支持的,但是Matt Cutts曾经也隐晦的说过不建议url后增加过多的参数,那么为了增加对于蜘蛛的友好,那些不想使用伪静态的也可以采用另外一种形式进行url的另类定义。
例如:
A1:http://www.ctony.cn/see.php?Num=a&name=q
A2:http://www.ctony.cn/see.php?Num=b&name=w
A3:http://www.ctony.cn/see.php?Num=c&name=e
以上这段地址在搜索引擎可以判定的结果下,可理解为http://www.ctony.cn/see.php这个文件的三种形式,但是由于参数的大量组合可能,我们不能要求蜘蛛对于所有的这类地址进行判断并且收录,那么对于蜘蛛的不友好就显而易见了。虽然google声称可以对这些地址进行合理收录,根据SEO的一贯原则,我们对于蜘蛛不是友好的,又怎么指望搜索引擎的收录能够达到我们的预期量呢?
这段地址我们可以用另外一种方式进行呈现,具体服务器端配置请查相应的容器配置方式
B1:http://www.ctony.cn/see.php/a/q
B2:http://www.ctony.cn/see.php/b/w
B3:http://www.ctony.cn/see.php/c/e
如果我们采用这种方式进行对于url地址命名,那么爬虫完全会认为这是三个完全不同的地址,对于页面的收录情况肯定也会有很大的提高。
这种url的形式是对于爬虫友好的,而且也是为了符合一些程序规则而设定的,结尾不添加/对于整体来讲就比较重要了,主要是针对容器而言。
增加/可以减少容器的损耗和对于爬虫友好,不增加/可以提升层级和灵活运用url。那么结论是什么呢?

以上两种方法在我认为各有利弊,而解决方案也很容易搞定。
我们将容器进行设置,将不带/的所有地址自动增加/,而那些使用特殊方式url的网站和使用struts框架的这一类网站,由于无论哪一种地址都有相对应的结果,就可以继续沿用原来的规则了。这样,可以减少由于不灵活而造成的404问题并且能够最大程度上减少PR值的流失。

以上是我的一点浅见,欢迎大家指正批评。


上一篇:什么是Meta标签? 下一篇:谷歌搜索收录减少的原因

评论总数:2 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图