动态网站的搜索引擎策略
摘要:动态网站丰富了网站的功能,但是对于搜索引擎来说,情况就不同了,动态页面是在用户“输入内容”或者进行“选择”时动态生成的,但是搜索引擎的“搜索机器人”无法“输入”和“选择”。另外,搜索引擎要避免“搜索机器人陷阱(spider traps)”的脚本错误。
一、动态网站的出现和优势
最早互联网出现时,站点内容都是以HTML静态页面形式存放在服务器上,访问者浏览到的页面都是这些实际存在的静态页面。随着技术的发展,特别是数据库和脚本技术PERL、ASP、PHP和JSP的发展,越来越多的站点都开始采取动态的页面发布手段。比如,我们在GOOGLE.COM上搜索一个内容,得到的搜索结果页面文件\\\"本身\\\"在GOOGLE服务器上并不存在,而是通过程序在我们输入搜索内容时调用后台数据库实时生成的,也就是说,这些结果页面是动态的。
静态页面的站点只涉及文件的传输问题,而动态站点则复杂得多,用户和站点之间出现大量的交互,网站不再仅仅是内容的发布,而是成为了一种\\\"应用(Application)\\\",是软件业向互联网上的扩张,从软件的角度看,动态站点是逻辑应用层和数据层的分离,数据库负责站点数据的存储管理,而ASP、PHP、JSP等负责处理站点的逻辑应用。这样做的好处除了增加很多交互功能外,更重要的是站点的维护、更新和升级都方便了许多。可以说,没有动态网站技术,目前互联网上的这些超大型站点就不可能出现。
二、搜索引擎抓取动态网站页面时面临的问题
从用户的角度看,动态网站非常不错,丰富了站点的功能,但是对于搜索引擎来说,情况就不同了。(关于搜索引擎和分类目录的区别,以及搜索引擎的工作原理,请? \\\"了解搜索引擎\\\")
根本的问题在于\\\"输入\\\"和\\\"选择\\\",动态页面是在用户\\\"输入内容\\\"或者进行\\\"选择\\\"时动态生成的,但是搜索引擎的\\\"搜索机器人\\\"无法\\\"输入\\\"和\\\"选择\\\"。比如我们要在当当书店站点查看冯英健的《网络营销基础与实践》一书,介绍页面是动态生成的,URL地址是:http://www.dangdang.com/product_detail/product_detail.asp?product_id=493698
这里在\\\"?\\\"后面的product_id参数值需要我们输入的,\\\"搜索机器人\\\"可以通过链接找到http://www.dangdang.com/product_detail/product_detail.asp 页面,但是它无法输入\\\"?\\\"后面的product_id参数值,从而无法抓取这个页面文件。
另外,对于通过链接达到这种带\\\"?\\\"的页面,技术上搜索引擎可以抓取,但是一般情况下搜索引擎选择不去抓取,这是为了避免一种叫\\\"搜索机器人陷阱(spider traps)\\\"的脚本错误,这种错误会让搜索机器人进行无限循环的抓取,无法退出而浪费时间。
三、动态网站的搜索引擎策略
动态网站要被搜索引擎抓取,可以采用内容发布系统软件将动态站点转化成静态页面,这种办法对于页面发布后变动少的站点比较合适,比如一些新闻类的站点(如新浪的新闻中心:http://news.sina.com.cn/ )。
一般的动态网站可以通过下面的办法让搜索引擎抓取:
首先,我们要让动态页面的URL地址中没有\\\"?\\\",让动态页面看上去象\\\"静态页面\\\"。看看下面这个页面http://www.amazon.com/exec/obidos/tg/detail/-/043935806X/ ,这明显是一个动态页面,但是URL地址看上去却象\\\"静态页面\\\"。针对不同的动态技术可以采用下面技术实现:
·对于采用ASP技术的动态页面Exception Digital公司提供一种工具叫着XQASP(http://www.xde.net/products/product_xqasp.htm )可以将\\\"?\\\"替换为\\\"/\\\"。
·对于采用ColdFusion技术的站点,需要重新配置服务器上的ColdFusion,用\\\"/\\\"代替\\\"?\\\"将参数传输到URL,更详细的信息请见http://coldfusion.com/ 站点。
·对于使用Apache服务器的站点,可以使用rewrite模块将带参数的URL地址转换成搜索引擎支持的形式,该模块mod_rewrite在Apache服务器中不是缺省安装的,详细的信息请见http://httpd.apache.org/docs/mod/mod_rewrite.html 。
对于其他的动态技术也能找到对应的方法改变URL的形式。
然后,要创建一些静态页面指向这些动态页面(以改变过的URL链接)。
前面说过,搜索引擎机器人并不会自己\\\"输入\\\"参数,所以要让上面这些动态页面被搜索引擎抓取,我们还需要告诉机器人这些页面的地址(也就是参数)。我们可以创建一些静态的页面,一般在网络营销中称? \\\"gateway page\\\"(入口页面),这些页面上有大量指向这些动态