AJAX不再是“搜索引擎杀手”


不久前在国外的网站上看到了一篇标题为:“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产品中

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3