|
动态网站的搜索引擎优化 |
来源:www.disy.cn 人气:2016 录入时间:2007-12-2 |
动态生成的网页:
对于那些动态生成网页,我们这些实际的访问者可以通过肉眼看到。但对于大多数搜索引擎的蜘蛛程序却往往是不可见的,这也就是动态网页很难被搜索引擎的SPIDER检索的原因。因而,要想让你的动态网页能够出现在搜索引擎的搜索结果中,只要保证你的网站内容对搜索引擎是可见的,即搜索引擎的Spider程序能够看到你网站的内容就可以了
所谓动态网页一般指的是采用ASP,PHP,Cold Fusion,CGI等程序动态生成的页面,该网页中的大部分内容来自与网站相连的数据库。在网络空间中并不存在这个页面,只有接到用户的访问要求后才生成并传输到用户的浏览器中。而且由于访问者能够实时得到他们想要的数据,动态网页往往容易给人留下深刻的印象。此外,动态网页还具有容易维护和更新的优点。例如,对于一个新产品或价格的调整。网站管理员只要对数据库做一下简单的改动就可以了,根本不需要去修改每个单独的静态页面。
我们可以看出,从用户角度来考虑,动态网页确实非常棒。但如果在搜索引擎的角度来看,结论却不同了。
动态网页的问题所在:
问题就出在这些动态网页在网络空间中并不是实际存在的,只有当用户在变量区中输入一个值以后它们才会生成。而我们大家也都知道,搜索引擎的Spider再聪明,它也只是一个搜索程序,它们无法象真正的人那样选择变量并输入数值。
亦可将查询编入主页上的一个链接中,使得该链接成为一个预先定义的网站目录的查询。用户可在一个搜索表格中键入查询条件来查询,通常动态脚本需要某些信息来返回页面内容,最常见的如Cookie数据,Session ID或一个环境变量。但对搜索引擎的Spider程序来说,它们压根不可能知道去使用你的搜索功能,或者该问什么问题。就是因为如此,Spider对网站的检索往往会在一个动态站点前不得不止步。
此外,在动态页的URL中包含了问号(?)和百分号(%)。还有一些符号诸如&,%,+和$等在一个动态页的URL中也经常能看到。这样的URL被称作“环境变量”(query string)。不过大多数SPIDER都无法解读符号“?”后的字符。例如,对于这样一个URL:http://www.americanbooks.com/cgi-bin/items.cgi?name=naturaldiet大多数SPIDER都只能读取符号“?”之前的字符。URL中的“?”对它们来说是一个“停止标记”,这样它们最终检索到的URL只能是:http://www.americanbooks.com/cgi-bin/items.cgi
很显然,由于这个URL并不实际存在,所以它们一无所获。因此,如果你的整个网站或网站上有大部分网页都是采用动态来生成的,为了使SPIDER易于读取你网站上的内容,你需要对网站做一定的修改。
还有一些搜索引擎在对页面进行检索时往往也会拒绝对cgi-bin目录下的静态页面(即被保存成静态页面的动态页)URL进行检索。例如,对下面两个URL它们就不提供检索:
http://www.americanbooks.com/cgi-bin/items.phpl
http://www.americanbooks.com/cgi/items.phpl
搜索引擎为何不读取符号“?”后的内容:
搜索引擎的SPIDER不愿意读取放在cgi-bin目录下的网页,或是URL中包含了符号“?”的字符。其原因就在于,如果在CGI中提供了“无穷”数量的URL,那么SPIDER往往就会因为对这些“无穷”网页的检索而被牢牢套住,陷入死循环。这就是所谓的蜘蛛陷阱(spider traps)。数据库程序对SPIDER亦有可能创建一个与此类似的情形。因而为避开可能的陷阱,Spider对于那些带有符号“?”的URL中的“?”之后的字符一概不予读取。
倘若Spider被你的服务器套住,不只是对Spider本身不妙,Spider对你网站页面的重复访问请求也会导致你的服务器系统彻底瘫痪。
|
|
|