程序是否在服务器端运行,是重要标志。在服务器端运行的程序、网页、组件,属于动态网页,它们会随不同客户、不同时间,返回不同的网页,例如ASP、PHP、JSP、ASP.net、CGI等。运行于客户端的程序、网页、插件、组件,属于静态网页,例如html页、Flash、JavaScript、VBScript等等,它们是永远不变的。
静态网页和动态网页各有特点,网站采用动态网页还是静态网页主要取决于网站的功能需求和网站内容的多少,如果网站功能比较简单,内容更新量不是很大,采用纯静态网页的方式会更简单,反之一般要采用动态网页技术来实现。
静态网页是网站建设的基础,静态网页和动态网页之间也并不矛盾,为了网站适应搜索引擎检索的需要,即使采用动态网站技术,也可以将网页内容转化为静态网页发布。
动态网站也可以采用静动结合的原则,适合采用动态网页的地方用动态网页,如果必要使用静态网页,则可以考虑用静态网页的方法来实现,在同一个网站上,动态网页内容和静态网页内容同时存在也是很常见的事情。
我们将动态网页的一般特点简要归纳如下:
(1)动态网页以数据库技术为基础,可以大大降低网站维护的工作量;
(2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;
(3)动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;
(4)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求
什么是静态网页?静态网页有哪些特点?
在网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,早期的网站一般都是由静态网页制作的。
静态网页的网址形式通常为:
也就是以.htm、.html、.shtml、.xml等为后后缀的。在HTML格式的网页上,也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字母等,这些“动态效果”只是视觉上的,与下面将要介绍的动态网页是不同的概念。
我们将静态网页的特点简要归纳如下:
(1)静态网页每个网页都有一个固定的URL,且网页URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”;
(2)网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;
(3)静态网页的内容相对稳定,因此容易被搜索引擎检索;
(4)静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;
(5)静态网页的交互性交叉,在功能方面有较大的限制
一些刚刚开始学习搜索引擎优化的朋友经常会被建议将页面静态化。将页面静态化确实是一个很好的优化策略。
1、访问速度相对比动态页面快
在数据量相当的情况下,静态页面的下载速度要比动态页面快。这无论对于用户还是搜索引擎机器人都是非常友好的表现。特别是你的站点流量非常大,数据量也非常大,这时页面的下载速度对于你的网站来说是非常重要的。
2、页面的可控制性增强,页面的相似度降低
在将页面静态化的过程中,一般会设计这样的功能。就是可以手动输入要生成静态页面的名称。这对于搜索优化比较有益处。比如笔者做WebCEO下载时,选取的文件名为:webceo-download。在Google中搜索“webceo 下载”时排名第三。你可以去看去观察一下,在搜索结果中的前三位,都在URL中出现了WebCEO,并且Google也把它加粗了。 可见Google还是要考虑这一点的。而动态页面在未经过处理的情况下,它的文件名一般会是这样"Download.aspx?ID=123"。这样的文件名肯定就没有前面的文件名好了。
同样,对于Title、Keyword和Description等HTML标签,我们同样可以做成可手动控制的。通过增加这些页面元素的可控制性,我们可以降低页面的相似性,搜索引擎也会收录更多的页面。
将页面静态化确实具有一定的优势,但经过实践,笔者也发现并不是说将页面静态化就是百分之百的好事。不过笔者在这里也想提醒您,是否要实施页面静态化得视具体的环境而定。如果应用不恰当,不但达不到优化的效果,还有可能给您带来很大的麻烦。
1、生成静态页面会增加服务器空间的负担。
有人是这样估算的:一篇文章的内容大概会占5K-10K,而其他的代码会占2/5-4/5,一个文件大概会增加15K左右,对于30万的文章数据库来说,需要增加了3.6G的硬盘空间使用。虽然现在的硬盘容量越来越大,但当网站的数据量达到一定的程度后,就得考虑这方面的因素了。
2、大量的静态页面增加维护的工作量。
网站的更新改版是免不了的事。你可以试想一个有一万个页面的网站(并不是特别多)要在每个页面增加一些内容,这将会是一件非常麻烦的事情。当然你也许会说我程序写好一点,更新就会很方便。笔者承认编写优质高效的程序可以减少这样的工作量。但是没法彻底
决大量文件带来的麻烦。
比如,很多静态化的网站都会有一个批量更新的功能。也就是批量生成静态页面。其实,这样的功能设计是很好的,但是在实际的使用中会出现一些问题。笔者遇到的最大问题是由于各种软硬件原因,在数以万计的网页文件中,总是有极少数文件没有生成成功,更糟糕的是有些没生成成功的文件无法被记录下来。这就好比一颗“定时炸弹”,它总有一天会“爆炸”。它始终是会被用户或蜘蛛找到,然后发现:咦,这个页面是咋回事呀?不对呀!
3、生成的静态页面消耗服务器资源。
有很多开发者将生成的静态页面的功能是用线程完成的。当文件数量大时,这会很耗服务器资源。
4、静态页面要读取动态数据。
你可能已经发现很多生成的静态页面是可以读取到系统的最新动态的。比如系统最新的想新闻。这其实就是一个静态页面要实现动态读取数据的功能。这在技术上是可以实现的,并且实现的方法很多。但在你设计网站的时候,就得考虑到这点。
可见,将页面静态化或者动态化都有一定的优势和不足。现在有一种做法就是将静态页面伪静态化。采用的是URL Rewrite,就是将动态的URL重写,形成静态页的表象。这也算是可以这两种方式的优势互补吧。
在做搜索引擎优化(SEO)时,笔者认为静态化和动态化没有死的标准。在制定优化策略时,要综合考虑上面的各个因素,仔细的分析利弊,选取最适合实际优化对象的策略。