动态网站是指网站内容的更新和维护是通过一个带有数据库后台的软件,即内容管理系统(CMS)完成。一般采用ASP,PHP,Cold Fusion,CGI等程序动态生成页面。动态页面在网络空间中实际并不存在,它们的大部分内容通常来自与网站相连的数据库,只有接到用户的请求,在变量区中输入一个值以后才会生成。动态网页扩展名显示为.asp、.php、cfm或.cgi,而不是静态网页的.html或者.htm。其URL中通常出现"?"、"="、"%",以及"&"、"$"等符号。网站使用动态技术的好处,除了增加网站交互功能,还具有容易维护和更新的优点,因此为许多大中型网站采用。
但大多数搜索引擎的蜘蛛程序都无法解读符号"?"后的字符。这就意味着动态网页很难被搜索引擎检索到,因而被用户找到的机会也大为降低。因此,建设网站之前首先要端正思想,即能够采用静态表现的网页尽量不要用动态实现,重要的网页用静态表现。同时使用技术将动态网页转化成静态网页形式,使URL中不再包含"?""="等类似的符号。也可以通过对网站进行一些改动,间接增加动态网页的搜索引擎可见度。即坚持"动静结合,以静制动"的原则。
不同技术的解决方案:
针对不同程序开发的动态网页有着相应的解决方案。以下是作者Karen编译的部分内容:
1、CGI/ Perl
如果你在网站中使用的是CGI或者Perl,可用一个脚本拾取环境变量前的所有字符,再将URL中剩余的字符赋值给一个变量。这样,你就可以在URL中使用该变量了。 不过,对于那些内置了部分SSI(Server-Side Include:服务器端嵌入)内容的网页,主要的搜索引擎都能够提供索引支持。那些以.shtml为后缀名的网页也被解析成SSI文件,相当于通常的.html文件。但如果这些网页在其URL中使用的是cgi-bin路径,则仍有可能不被搜索引擎索引。
2、ASP
ASP(Active Server Pages: Web 服务器端动态网页开发技术)被用于基于微软的网络服务器中。使用ASP开发的网页,一般后缀名为.asp。只要避免在URL中使用符号"?",大多数搜索引擎都能够支持用ASP开发的动态网页。
3、Cold Fusion
如果你使用的是Cold Fusion,那么你就需要在你的服务器端重新对其进行配置,使其能够将一个环境变量中的符号"?"用符号"/"代替,并将替换后的数值传给URL。这样一来,最后到达浏览器端的就是一个静态的URL页。当搜索引擎对该转换后的文件进行检索时,它不会遭遇"?",因而可继续对整个动态页的索引,从而使你的动态网页对搜索引擎仍然具有可读性。
4、Apache 服务器
Apache是最流行的HTTP服务器软件之一。它有一个叫做 mod_rewrite的重写模块,即URL重写转向功能。该模块能够使你将包含环境变量的URL转换为能够为搜索引擎支持的URL类型。对于那些发布后无须多少更新的网页内容如新闻,可采用该重写转向功能。
建立静态入口:
在"静动结合,以静制动"的原则指导下,还可以通过对网站做一些修改,尽可能增加动态网页的搜索引擎可见度。如将动态网页编入静态主页或网站地图的一个链接中,以静态目录的方式呈现该动页面。或者为动态页面建立一个专门的静态入口页面(gateway/entry),链接到动态页面,然后将静态入口页面递交给搜索引擎。
对一些重要的、内容相对固定的页面制作为静态网页,如包含有丰富关键词的网站介绍、用户帮助,以及含有重要页面链接的网站地图等。网站首页尽量全部采用静态形式,并将重要动态内容以文本链接方式全部呈现,虽然增加了维护工作量,但从SEO的角度看是值得的。
也可以考虑为你的重要动态内容创建静态的镜象网站。
付费登录搜索引擎:
当然,对于整个网站都采用与数据库相连的内容管理系统(CMS)发布的动态网站而言,提高搜索引擎可见度的最直接办法就是进行付费登录,直接提交动态网页到搜索引擎目录,或做关键字广告,保证网站被搜索引擎收录。
搜索引擎对动态网站支持的改进
搜索引擎一直在提高自己对于动态页面的支持。到目前为止,GOOGLE、HOTBOT和百度等开始尝试抓取动态网站页面(甚至包括URL带 "?"的页面)。但这些搜索引擎抓取动态页面时,为了避免"搜索机器人陷阱"(spider traps,脚本错误,这种错误会让搜索机器人进行无限循环的抓取,无法退出)",都只抓取从静态页面链接过去的动态页面,而从动态页面链出去的动态页面都不再抓取,即不会对动态页面中的链接进行深入访问。