动态网站的优化策略
动态网站的优化策略
从用户的角度看,动态网站非常不错,丰富了站点的功能,但是对于搜索引擎来说,情况就不同了。根本的问题
在于“输入”和“选择”,动态页面是在用户"输入内容"或者进行“选择”时动态生成的,但是搜索引擎的“搜
索机器人”无法“输入”和“选择”。比如我们要在当当书店站点查看冯英健的《网络营销基础与实践》一书,
介绍页面是动态生成的,URL地址是:http://www.qicaispace.com/gonggao/show.asp?id=49 这里在“?”后面的product_id参数值需要我们输入的,“搜索机器人”可以通过链
接找到http://www.qicaispace.com/gonggao/show.asp 页面,但是它无法输入“?”
后面的id参数值,从而无法抓取这个页面文件。
另外,对于通过链接达到这种带“?”的页面,技术上搜索引擎可以抓取,但是一般情况下搜索引擎选择不去抓
取,这是为了避免一种叫“搜索机器人陷阱(spider traps)”的脚本错误,这种错误会让搜索机器人进行无限
循环的抓取,无法退出而浪费时间。
动态网站的优化策略
动态网站要被搜索引擎抓取,可以采用内容发布系统软件将动态站点转化成静态页面,这种办法对于页面发布后
变动少的站点比较合适,比如一些新闻类的站点(如新浪的新闻中心:http://news.sina.com.cn/)一般的动
态网站可以通过下面的办法让搜索引擎抓取:
首先,我们要让动态页面的URL地址中没有“?”,让动态页面看上去象“静态页面”。看看下面这个页面
http://www.qicaispace.com/anli/info.asp 这明显是一个动态页面,但是URL
地址看上去却象“静态页面”。针对不同的动态技术可以采用下面技术实现:
·对于采用ASP技术的动态页面Exception Digital公司提供一种工具叫着XQASP(http://www.xde.net/p-
roducts/product_xqasp.htm)可以将“?”替换为“/”。
·对于采用ColdFusion技术的站点,需要重新配置服务器上的ColdFusion,用“/”代替“?”将参数传输到
URL,更详细的信息请见http://coldfusion.com/站点。
·对于使用Apache服务器的站点,可以使用rewrite模块将带参数的URL地址转换成搜索引擎支持的形式,该
模块mod_rewrite在Apache服务器中不是缺省安装的
对于其他的动态技术也能找到对应的方法改变URL的形式。然后,要创建一些静态页面指向这些动态页面(以改
变过的URL链接)。前面说过,搜索引擎机器人并不会自己“输入”参数,所以要让上面这些动态页面被搜索引
擎抓取,我们还需要告诉机器人这些页面的地址(也就是参数)。我们可以创建一些静态的页面,一般在网络营
销中称“gateway page”(入口页面),这些页面上有大量指向这些动态页面的链接。将这些入口页面的地址
提交到搜索引擎,这些页面和链接的动态页面(改变过URL形式)就能都被搜索引擎抓取了。
搜索引擎对动态网站支持的改进
在我们调整动态站点适应搜索引擎的同时,搜索引擎也在发展。到目前为止,绝大多数的搜索引擎还不支持动态
页面的抓取,但是GOOGLE、HOTBOT等和国内的百度开始尝试抓取动态网站页面(包括“?”的页面),这就
是我们现在在这些搜索引擎进行搜索时,结果中出现动态链接的原因。
这些搜索引擎抓取动态页面时,为了避免“搜索机器人陷阱”都只抓取从静态页面(至少“看上去”是静态的页
面)链接到的动态页面,而从动态页面链接出的动态页面都不再抓取。所以一个动态站点如果只针对上面这些搜
索引擎,可以在上面小节介绍方法的基础上简化:只用创建一些入口页面,链接很多动态页面,然后将这些入口
页面递交到这些搜索引擎就可以了。
对于直接使用动态的URL地址,请注意:
·文件URL中不要有Session Id,同时不要用ID作为参数名称(特别是对于GOOGLE);
·参数越少越好,尽量不要超过2个;
·能在URL中不用参数尽量不要用,一些参数转移到其他地方,这样可以增加动态页面被抓取的深度和数目。