4.10 URL静态化
不管是普通用户还是搜索引擎都更钟情于静态页面。为什么?下面先介绍一下搜索引擎及普通用户获取页面信息的过程。
- 普通用户:通过浏览器发送指定的URL请求,Web服务器收到请求后定位到指定的文件或者根据程序从数据库中调用相应的数据返回到浏览器,经过浏览器处理后,用户就可以看到一个完整的文件。
- 搜索引擎:搜索引擎相当于一个客户端,只是它是一个比较特殊的客户端。在对指定的URL发送访问请求后,它也像普通用户一样能得到一个文件,再对该文件进行分析,提取其中的信息并存储。
对于搜索引擎来说,不管是抓取静态页面还是动态页面都不存在任何的困难。但是,不管普通是用户还是搜索引擎获取静态文件的速度都相对更快,这样搜索引擎就能够在同样的时间内获取到更多的信息。因而,搜索引擎会更重视静态页面,并赋予静态页面更高的权重。
实际上,我们不可能把网站中所有的内容都做成静态页面,但却可以对动态页面进行相应的处理,让其对于搜索引擎来说是静态的,这就是常说的动态页面静态化。常用的方法有URL重写及生成静态页面。
4.10.1 URL重写
URL重写也就是前面介绍的URL重定向,目的是实现动态URL的静态化。以重写方式实现的URL静态化,服务器在处理用户请求时的工作方式并没有改变,而且还增加了对请求进行重定向的处理过程,但搜索引擎会把静态URL指向的页面当作是静态页面。因此,URL重写实现的URL静态化,也称为伪静态。
在正式介绍URL重写前,先介绍几个与URL重写相关的概念:动态URL、动态网页、静态URL及静态网页。
1. 动态URL
动态URL的一个特征就是包含问号“?”、百分号“%”“&”“%”“+”“$”等环境变量符号。例如,http://www.seochat.org/list.php?id=10 就是一个典型的动态URL。
2. 动态网页
动态网页指的是采用ASP、PHP、JSP、CGI等程序语言动态调用数据而生成的页面。这些页面中的大部分内容调用自与网站相连接的数据库,并不存在于网络空间中。只有当服务器接到用户的访问请求时,才调用相应的数据并生成相应的页面返回给用户。
3. 静态URL
与动态URL相对,静态URL是指不包含任何变量的URL,它指向的文件也是实际存在的。文件类型可以是HTML,也可以是PHP、ASP或者JSP等;而页面的内容可能是从数据库里直接调用,也可能是存在于页面的HTML内容中。
例如,以下就是典型的静态URL。
http://www.seochat.org/contactus.htm。
http://www.seochat.org/contactus.php。
http://www.seochat.org/contactus.jsp。
4. 静态网页
静态网页是指网页中的内容是实际存在的,不需要通过程序调用数据而生成,常见静态网页的文档类型包括htm、html、shtm及shtml等。例如,http://www.seochat.org/html/service/20080218/328.html中的328.htm就是一个静态网页。
静态网页不管对搜索引擎还是普通用户都比较友好,因为用户或者搜索引擎在请求静态网页时,不需要执行从数据库里调用数据的过程,而是直接得到相应的页面,加快了页面访问的速度。因此,在对网站进行优化时,我们更偏向于采用静态网页。但是,一个网站的数据量往往是巨大的,我们不得不采用数据库对网站内容进行管理。为了解决这个矛盾,我们可以采用URL重写或者生成静态页面的方式。
5. URL重写原理
URL 重写是截取传入的请求并自动将该请求重定向到其他资源的过程。执行URL重写时,通常会检查被请求的URL,并基于URL的值根据预设的规则将请求重定向到其他URL上。例如,浏览器发来请求http://www.seochat.org/youhua.html,服务器自动将这个请求定向到http://www.seochat.org/list.php?id=1上,这样用户就可以通过http://www.seochat.org/youhua.html访问到资源http://www.seochat.org/list.php?id=1。
经过URL重写后,动态页面不但没有改变原来的工作方式,还增加了URL进行重新定向的步骤。但是,我们却可以得到搜索引擎重视的静态页面。
6. URL重写的实现
URL重写在不同的服务器软件环境下实现的方法是不一样的。这里介绍几种常见的URL重写方法,包括Apache服务器、IIS服务器及ASP.NET ⁷。
Apache 服务器。Apache是目前最流行的HTTP服务器软件之一。它有一个叫做mod_rewrite的重写模块,该模块能够让你将包含环境变量的URL转换为搜索引擎能够支持的URL类型。不过mod_rewrite不是Apache软件安装中的缺省模块,因此,你应当咨询你的服务器提供商进行,看看你的服务器上是否已经安装此模块。
IIS服务器。想要IIS支持URL重写,得先装ISAPI, 试用版下载地址:http://www.seochat.org/download/isapi.msi。
ASP.NET。关于ASP.NET的URL重写实现可参考微软的官方网站,以下是中文版的说明:http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx?mfr=true。
URL重写可以有效缩短URL长度,为URL优化打下基础。而且URL重写还能隐藏文件的真实路径,提高网站的安全性。URL重写为静态URL后,页面更容易被搜索引擎收录,也能得到更高的权重。
但是,URL重写会占用一定的服务器资源,从而影响网站的访问速度,加大硬件的投入,这在访问量比较大的网站里表现得尤为明显。
4.10.2 生成静态页面
除了使用URL重写的方法实现页面静态URL效果外,还有一种常见的办法就是利用程序把相关的内容生成静态页面。这样,既能使用数据库管理庞大的信息,又能提高页面访问速度,满足用户的需求,提高页面的权重,正所谓一举多得。
本章从URL各组成部分的命名技巧、分隔符的使用、URL长度、关键字词频及关键字结合技巧等方面介绍URL优化的细节及具体操作技巧。此外,还介绍了关键字域名使用的技巧和方法,以及URL静态化实现的方法及重要性。




本书评论