很多初学者在看一些SEO教程时可能经常见到,优化就要将网站URL静态化,甚至将这一点列入非常重要的行列。个人不赞成此观点,选择动态URL还是静态页面,只要根据网站需要就可以了。
为什么很多SEOer强调使用静态页面?
早期由于搜索引擎Spider的不完善,网站程序不合理,或部分人故意造成一种蜘蛛陷阱(spider traps),导致Spider爬行时进入一个死循环。搜索引擎为避开这种死循环,减少对动态URL的读取,特别是带“?”符号的URL。
随着搜索引擎的完善,这种现象目前已经基本得以解决,Spider已经能够正常并顺利的读取动态URL地址,以及带“?”符号的URL。但是,目前对带过多环境变量(query string)的URL地址(如new.php?a=1&b=2&c=3&d=4……)仍不够理想(据相关资料称,Spider基本不读取带3个以上的环境变量的URL)。
如果动态URL与静态页面存在差别,差别在哪里?
樂思蜀认为,就目前搜索引擎技术而言,如果动态URL与静态存在差别,这种差别主要表现在下面两个方面:
1、Spider爬行效率:如上所说,多重环境变量的URL;Cookie数据导致访问页面的变化;给予不同的访问者Session ID等。这些因素会导致Sipider爬行效率较低,将制约着动态URL在搜索引擎中的表现。
2、页面信任问题:这个问题目前还没有一家搜索引擎公开表示,对网页有信任值。但通过本人的实验及参考相关资料,静态页面在搜索引擎中,同等条件下一般优于动态URL。
静态页面在搜索引擎中优势有多大?
对于搜索引擎而言,静态页面还是优于动态URL的,但优势能有多大?樂思蜀认为,差距很小,如果我们再把握好站内链接策略,并对URL进行适当的优化处理,这种差距会极小。
我的SEO论坛一直使用的动态URL,而且URL并没有做太多的优化处理,从2005年开站至今,SEO一词基本在前1~2位之间。
动态URL的静态化:伪静态
动态URL在网站目录中并不存在具体的文件,而是根据用户请求,从数据库中返回请求的结果。我们可以把这个过程模拟成静态页面或目录,就是常见的“伪静态”。
目前主流的很多程序都支持伪静态,我们也可以根据需要,对程序进行DIY,再对网站环境进行相应设置。Apache下mod_rewrite的重写模块就能很轻松的实现,Windows环境下也有rewrite组件。网上关于这方面的教程很多,大家可以搜索一下,查看相关的资料来实现。
动态URL的站内优化策略
如何让动态URL表现更好,樂思蜀从站内角度提出下面3个要点:
1、导航很重要:完善的站内导航,有利于Spider高效率的爬行。整站尽可能做到:从首页出发,较重要的位置,不超过3次点击就能到达;最重要的位置,应该在首页出现相应的链接;必要时,可以单独制作一个静态导航页。
2、制作网站地图:首先网站内应该有一个网站地图页面,将常用位置在这个页面中做上链接,用户可以最快的了解网站结构,搜索引擎Spider可以快速高效的对网站爬行;其次XML格式的网站地图目前已经不仅适用于Google,应尽可能的保持XML地图更新;最后,建议制作一份URL列表(urllist.html和urllist.txt),对网站是有益而无害的。
3、URL统一、规范:同一URL出现多个版本(如read.php?id=1和read.php?id=1&page=1),同一位置出现多个URL形式(如list.php?companyname=xxx和list.php?companyid=123),及大小写问题等都可能导致在搜索引擎中出现相似页面,从而影响网站在搜索引擎中的表现。
总之,个人认为动态URL不一定比静态页面差,只要优化得当,在搜索引擎中同样有好的表现。而且很多只能或最好用动态程序的时候(如论坛、订单系统等交互性很强的站点),没必要刻意要求生成HTML,或做成静态页面。
作者: 樂思蜀
原载: 点石互动搜索引擎优化博客