超SEO的搜索引擎观察博客:    SEO技术    SEO新闻    关键词优化    Google算法    Google新闻    百度新闻

超SEO博客

关注搜索引擎发展、透析搜索引擎原理、优化搜索引擎排名、分享、交流SEO技术
  博客园 :: 联系 :: 管理

公告

URL规范化(URL normalization)--SEO基础

Posted on 2009-09-17 23:37 Google优化 阅读(...) 评论(...) 编辑 收藏

URL规范化(url normalization)其实就是一个标准化URL的过程,其实也就是将一个URL转化为一个符合规范的等价URL(如http://www.cnblogs.com/shuchao转化为http://www.cnblogs.com/shuchao/),这样程序可以确定这两个URL是等价的。
URL规范化用于搜索引擎可以减少对页面的重复索引,同时也可以减少爬虫的重复抓取。浏览器端识别用户是否访问过一个URL也需要使用URL规范化。

URL组成:
protocol :// hostname[:port] / path / [;parameters][?query]#fragment
  协议://主机名[:端口]/ 路径/[:参数] [?查询]#Fragment


不规范的URL:
1 URL中多余的字符
1.1 子域名的URL中包含"www":  "http://www.shuchao.cnblogs.com/"
1.2 含有默认端口: "http://www.cnblogs.com:80/shuchao/"
1.3 松散的URL: "http://www.chapters.indigo.ca/books/amazon-sucks-donkey-balls/9780470170779-item.html"
1.4 多余默认文件名index.html,default.aspx等:"http://www.cnblogs.com/shuchao/index.html"
1.5 文件路径中
     (1) 多余的"/":"http://www.cnblogs.com/shuchao//"
     (2) 多余的点修饰串:"x/y/z/http://www.cnblogs.com/a/b/http://www.cnblogs.com/../page.html"
1.6 查询串中多余的
     (1) ? (空查询串):http://www.cnblogs.com/shuchao?
     (2) &
     (3) 无用的查询变量:http://www.example.com/display?id=123&fake=fake
2 URL缺少字符串
2.1 缺少"/":"http://www.cnblogs.com/shuchao"
2.2 查询串缺少名称或者值:"http://www.example.com/display?id=" 或者 "http://www.example.com/display?=123"
3 其他不规范的URL
3.1 "http://shuchao.cnblogs.com/" 与 "http://www.cnblogs.com/shuchao/"其实是相同的内容
3.2 使用IP代替域名
3.3 含有扩充字符(extended characters),大小写敏感("http://www.google.cn/Intl/zh-CN/about.html" 和"http://www.google.cn/intl/zh-CN/about.html")
3.4 "+"和"%20"混用
3.5 查询变量顺序混乱:"http://www.example.com/test.aspx?bar=1&a=test"
3.6 含临时的状态变量:http://www.example.com/test?back=/prevpage.aspx


URL规范化过程:
1.URL协议名和主机名小写化
HTTP://WWW.EXAMPLE.com/test   -> http://www.example.com/test
2.escape序列转化为大写,因为escape序列大小敏感
%3a ->%3A
3.删除Fragment(#)
http://www.example.com/test/index.html#seo -> http://www.example.com/test/index.html
4.删除空查询串的'?'
http://www.example.com/test?  ->  http://www.example.com/test
5.删除默认后缀
http://www.example.com/test/index.html   ->  http://www.example.com/test/
6.删除多余的点修复符
  http://www.example.com/../a/b/../c/./d.html -> http://www.example.com/a/c/d.html
7.删除多余的"www"
http://www.test.example.com/  -> http://test.example.com/
8.对查询变量排序
 http://www.example.com/test?id=123&fakefoo=fakebar → http://www.example.com/test?id=123 \
9.删除取默认值的变量
http://www.example.com/test?id=&sort=ascending → http://www.example.com/test
10.删除多余的查询串,如?,&
 http://www.example.com/test? → http://www.example.com/test
11.Dust 规则(Schonfeld 等人提出的启发式方法)
http://www.example.com/test?id=123 -> http://www.example.com/test_123


SEO URL规范化:
不规范的URL会造成网站很多重复的URL,导致爬虫重复抓取同一内容,影响网站有效的内容被抓取,同时也就影响索引。
多个不规范URL造成PR稀疏,本来流向同一页面的PR,结果造成了流向多个不规范的URL。
还有一个用户体验问题,复杂或者不规范的URL容易使用户对网站造成不良印象。

Google管理员增加了URL规范化的工具,可以删除URL中无用的参数。