爱奇思

学习就是——从糊涂中慢慢走向清醒,然后再从清醒中慢慢走向糊涂,所以说我说它是一个O,只是圆的半径慢慢的扩大罢了!
posts - 60, comments - 128, trackbacks - 0, articles - 8
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ajax与seo(转)

Posted on 2010-06-17 13:18 牛牛博客 阅读(...) 评论(...) 编辑 收藏

 转自(butian.org/knowledge/develop/ajax/20090622/1526.html

不久前在国外的网站上看到了一篇标题为:“AJAX技术是搜索引擎杀手”,文中说

对于搜索引擎来说,网站的大部分内容是不可见的,不能连接的,不能定位的,或者说是不能找到的。因此,这在许多应用中限制了AJAX技术”。但是,事实并非如此,这些观点不完全正确。

 

我们想要AJAX技术和搜索引擎同时存在,并且很好的兼容。这一想法一直被认为是不可能的,但是BoonEx这个应用软件将会给我们一些启发和建议。

 

AJAX是一项伟大的技术,大部分所谓的“缺点”是可以克服的。Web开发中,AJAX是一项非常流行,但是我们也听到大量关于Ajax技术的不足和缺 陷,说搜索引擎不能非常友好的兼容它(如出现浏览网页不能后退、搜索引擎不能找到的问题)。不过,稍微考虑一下,这些问题都是可以用技术来控制的的。

 

有一种交互式的Orca论坛软件和即将研发出来的产品——Directory、Wiki、Blog中,都将广泛的使用AJAX技术,并解决上述问题。

 

Orca是一个非常成功的产品。它100%使用AJAX技术,是一个论坛软件,它已经有一个可操作后退按钮,永久连接,友好的搜索引擎结构和标签页面。想 知道更多? 再过两周,看Orca的1.1版本,它有许多非常酷的新特征,包括唯一的页面标题标签,和更加人性友好的URLs(可选择的复制,在phpBB或者 vBulletin论坛发言,或者还有其它的URLs结构)。几个月后,我们将计划使得Orca比其他传统的论坛更加友好和好用。

 

Orca是开源的,有GPL认证,免费的产品。我们决定把Orca发布在open waters,使它真正的流行和传播开来。你能看它的效果,使用它,或者去参与它的开发。Orca——交互式的论坛。

 

现在,为了使搜索引擎也能找到那些广泛使用AJAX技术的站点,我们将共享这些信息,帮助网站管理人员开发基于AJAX技术、SE-friendly的站点。

 

网站的管理员开发了两个版本的站点——一个为浏览的用户准备,一个为搜索引擎准备。我们将二者合二为一。我们使用XSL转换来产生站点的内容。XSL转换 可以在客户端(浏览器)进行或者在服务器上进行(php语言)。这就有效的避免了为AJAX和搜索引擎写不同的代码了。同样的代码为搜索引擎和用户提供了 不同的功能。

举个例子来说,如果你去看Orca中的url,你就会发现它是这么写的:

< a onclick="return f.selectForum(5, 0);" href="index.php?action=goto&forum_id=5&start=0" >Orca Installation< /a >

当一个用户点击这个链接,浏览器就会去执行onclick事件,如果“return f.selectForum(5, 0)”这个语句返回false的话,浏览器就会执行onclick代码,而不执行属性href所指向的链接。在这种情况下,我们在客户端执行xsl转换 (这能够提高服务器的性能,因为xsl转换是在客户端运行的)。

 

当搜索引擎搜索这个URL时,它所看到仅仅是url的href属性部分,并且以一个常规的、具有相同内容的URL来打开这个网页。在这种情况下,xsl转换是在服务器段进行的,这个URL产生一个常规的html页面。

那后退按钮——以前AJAX的敌人,又该怎么处理了? 简单!

在Orca中,后退按钮是基于URL后面的#号上的。Javascript能够读并且能够改变URL中#号后面的值的,这一切都不需要进行页面重载,而是浏览器将把这个URL(#号后面带有新的内容)路径存在浏览器的历史中。

顺序如下(以Orca为例):

1. 用户通过AJAX打开一个论坛。

2. Javascript函数在页面重新加载目标区域并且把这个行为信息存在URL中(举个例子:#action=goto&forum_id=5)。

3. 浏览器将URL存在浏览器的历史文件夹中。

4. 用户点击后退按钮。

5. Javascript脚本看到URL后面的#号部分已经发生变化了,将新的内容放在#号后面,解析它,调用Javascript函数来重新加载业面的目标区域(举个例子:#action=goto&forum_id=3将会打开id=3内容)。

页面描述语言的后缀:Mozilla和IE浏览器处理这些URLs(变化#号后面不同的内容)以不同的方式。所以为它们编写的Javascript代码也是不同的,但是算法却是一样的。

 

须注意的是:xsl转换是非常严格的——你必须很仔细的写xsl模版,最后还得写非常正确的HTML代码。

这仅仅是一个开始。我们将计划提高这些技术,并且将他们用在Orca和其他的BoonEx产品中