注:本文大部分内容来源www.netvtm.com,原作者:linyupark
对于文献发布系统来说SEO显得十分重要,当然现在转静态页也不是唯一优化的方式,但对于低智爬虫来讲静态页的优势很明显。下面来分析一下几种方案。
1.制作模板替换关键字符法很多站,包括本站上一个版本采用的就是这个方法。好处就是复杂性不大,缺点也很明显,实时交互性低,要提交一个评论可能就得让服务器重新生成一次文件,这种适用于纯粹信息发布,对于交互讲究不大的站。
2.利用服务器的组件进行请求地址的重定位用老外的话讲就是IIS URL reWrite。国内这方面的组件似乎很少,有些还是带病毒的。国外五花八门,但基本上好的都是收费的。这个技术主要是对服务器有一定的要求,所以用虚拟主机的朋友就不太管用了。它的好处是利用伪装的地址让搜索引擎认为它是个静态页(比如把asp?变成html/)因而达到"转静态"这个效果,而且还不失它原有的交互性。这个变化的过程靠的是正则表达式。
当然它也是有缺点的,除了前面提到的费用问题外,它对服务器又有了负担,对于程序也需要做一些调整。简单说就是程序得把原有的动态地址换成事先设想好的伪静态地址,用户在请求这个伪静态地址的时候服务器又得根据正则表达式把这个地址转换成实际存在的动态地址。考验就在服务器承受和技术上。
3.使用CLASS来实现地址的即时转换本人现在用的这个CMS就是用了这个方法,可惜对PHP还没好好系统学习过,只能读出它是以根目录文件为出发点,依次将&=,?变成/符号。ASP还没见过实现类似功能的,非常可惜。。。
4.第一个方案+第二个方案最终内容页用模板替换,而索引使用伪静态,这样对服务器压力减少又能保持地址有效的静态化。
个人认为比较好的解决方案是第一个,其它的方案生成都只是伪静态,服务器的负载会比较大。不过方案要做些调整:对于一些通用的页面(比如列表,文章页)可以使用制作模板替换关键字符法,而像首页,频道比较复杂的页面则可以使用动态模板法。针对交互性的页面可以使用shtml页面的包含文件的功能,即每发表一次评论只用生成对应的评论页,或者要求低一点就套一个动态页面好了。