使用冗余地址思路解决搜索引擎问题
时间:2014-2-17
以一个基于Ajax的Blog实现为例,健忘左侧是栏目列表,右侧是文章列表,当用户单击左侧的某个栏目时,Ajax逻辑在后台从服务器异步获取数据,在获取成功后将其显示于页面,这是一个Javascript过程,因此搜索引擎无法获取当前人,如果实现了刷新定位功能,则浏览器的地址一般是如下形式:
http://www.xxx.com/default.aspx
而这个地址对于搜索引擎来说,如下面的地址是完全等价的.
http://www.xxx.com/default.aspx
如果把"#"换成"?",也就是将地址变为
http://www.xxx.com/default.aspx?sort1
这时,实际上就向服务器提交了一个sort1查询字符串参数,由此可见,使用冗余的地址能够实现搜索引擎的友好性,例如对于用户来说,在浏览器输入下面的两条地址是等价的.
http://www.xxx.com/default.aspx#sort1
http://www.xxx.com/default.aspx?sort1
前者是通过两层逻辑来获取数据,第一层是服务器返回http://www.xxx.com/default.aspx这个地址表示的信息,第二层则是由Javascript解析到#sort标签参数,进行相应的处理,进而从服务器获取sort1所表示栏目的内容,在这里进行了两次服务器调用,而第二次获取的数据,通过搜索引擎是无法得到的.
对于后者,服务器则直接返回http://www.xxx.com/default.aspx?sort1这个页面的内容,服务器端能够直接根据sort1查询字条串把相应栏目的内容提交到用户浏览器,这样所有的内容都能够被搜索引擎检索到.