当前位置:甜馍馍地理信息网 >> 站长在线 >> 建站指南 >> 正文 >>  [阅读资讯:动态网页的搜索引擎优化]

动态网页的搜索引擎优化

[ 来源:互联网 | 时间:2005年08月13日 | 收藏本文 ] 【

动态生成的网页:

对于那些动态生成网页,我们这些实际的访问者可以通过肉眼看到。但对于大多数搜索引擎的蜘蛛程序却往往是不可见的,这也就是动态网页很难被搜索引擎的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.html
  http://www.americanbooks.com/cgi/items.html

搜索引擎为何不读取符号“?”后的内容:

搜索引擎的SPIDER不愿意读取放在cgi-bin目录下的网页,或是URL中包含了符号“?”的字符。其原因就在于,如果在CGI中提供了“无穷”数量的URL,那么SPIDER往往就会因为对这些“无穷”网页的检索而被牢牢套住,陷入死循环。这就是所谓的蜘蛛陷阱(spider traps)。数据库程序对SPIDER亦有可能创建一个与此类似的情形。因而为避开可能的陷阱,Spider对于那些带有符号“?”的URL中的“?”之后的字符一概不予读取。
  
倘若Spider被你的服务器套住,不只是对Spider本身不妙,Spider对你网站页面的重复访问请求也会导致你的服务器系统彻底瘫痪。

动态网页的优化方案:
  
以http://www.americanbooks.com/cgi-bin/items.cgi?name=naturaldiet 为例:从其URL中我们可以看出,它表明网站americanbooks.com中提供有天然减肥产品相关的内容。遗憾的是,由于Spider不支持动态生成页,从而导致了该动态页上的相关内容无法得到搜索引擎的索引。假设现在有一个竞争者,他也有一个与天然减肥产品类似内容的网页,但由于他的网页是静态页面,所以能够得到搜索引擎的索引。那么可想而知,那些搜索“天然减肥产品”的用户最后访问的会是谁的网站。而且,就算americanbooks.com上提供的具体内容比它的竞争者再好又能怎样呢?就因为它无法出现在搜索引擎的搜索结果中,所以只能把网上销售的好机会拱手让给他的竞争者了。
  
对这个问题的解决方案可以遵循一个思想:即更改动态网页的URL,使URL中不再包含符号“?”“=”和其它类似的符号,看起来象一个静态的URL。不同程序开发的动态页的不同解决方案:
• CGI/ Perl
  
如果你在网站中使用的是CGI或者Perl,可用一个脚本拾取环境变量前的所有字符,再将URL中剩余的字符赋值给一个变量。这样,你就可以在URL中使用该变量了。
  
路径信息(或脚本名称)是动态应用程序中的一个变量,该变量包含了完整的URL地址和环境变量信息。这样,脚本就从路径信息变量中获取环境变量前的字符,并将剩余字符代入一变量。
  
不过,对于那些内置了部分SSI(Server-Side Include:服务器端嵌入)内容的网页,主要的搜索引擎都能够提供索引支持。那些以.shtml为后缀名的网页也被解析成SSI文件,相当于通常的.html文件。但如果这些网页在其URL中使用的是cgi-bin路径,则仍有可能不被搜索引擎索引。

ASP
  
ASP(Active Server Pages: Web 服务器端动态网页开发技术)被用于基于微软的网络服务器中。使用ASP开发的网页,一般后缀名为.asp。ASP 由于其简单功能实用等方面受到广大朋友的喜欢,再加上微软的强大支持,可说是时下网页开发最为流行的语言之一。只要避免在URL中使用符号“?”,大多数搜索引擎都能够支持用ASP开发的动态网页。
  
那么对用了“?”的URL怎么办呢?针对这个问题,有家名叫“Exception Digital Enterprise Solutions”的公司推出了他们的解决方案 –xqasp。这是一个升级软件。它允许将URL中的符号“?”通过网络服务器转换为“/”。更多相关信息请访问:http://www.xde.net/products/product_xqasp.htm 还有一些价格相对低廉一些的解决方案,象ASPSpiderBait和 PortalPageFilter。

下一页
本文共 2 页,第  [1]  [2]  页

【推荐本文】 【打印本页】 【返回顶部

>> 相关文章:

● 上一篇文章:如何提高网站的Google页面等级
● 下一篇文章:关于Google搜索引擎作弊的解释
最新文章
推荐文章