搜索引擎在抓取页面的时候,对于页面的URL长度会存在一定的限制。对于超过限定长度的URL所指向的页面,搜索引擎就可能放弃收录。决定URL长度的主要因素包括域名长度、路径长度及文件名长度。
4.5.1 域名长度
域名长度是指“子域名+域名名称+域名类型”所占用的字符数。例如对于www.seochat.org,子域名是www,域名是seochat,域名类型是org,则域名长度为15。
4.5.2 路径长度
路径长度指文件存放路径的名称所占用的字符数,路径长度=目录1名称长度+目录2名称长度+…+目录N名称长度,例如http://www.seochat.org/mobile/nokia/n95.htm。其中,“/”为根目录、“mobile/”为二级目录、“nokia/”为三级目录,则该页面的路径长度=1+7+6,即14。
4.5.3 文件名长度
文件名长度指文件名称所占用的字符数(包括后缀名),例如n95.htm,其文件名长度就是7。
4.5.4 URL长度
综上所述,URL长度=Internet资源类型+域名长度+端口号+路径长度+文件名长度。例如,http://www.seochat.org/mobile/nokia/n95.htm的URL长度=7+15+14+7,即43。
4.5.5 URL长度的影响
搜索引擎抓取页面的时候,对页面的URL长度是有一定限制的。对于超过这个限制的页面搜索引擎就可能会放弃收录。而且,页面的URL越短,得到的权重就越高(请参考8.4.1节)。
例如,
URL A: http://www.a.com/n95.htm
和
URL B: http://www.a.com/mobile/nokia/n95.htm
同样的页面n95.htm,使用URL A比URL B能获得更高的权重。因为站在目录深度的角度,URL A显示比URL B更浅(关于URL目录深度请查看7.4.1节)。
4.6 关键字词频
在一个完整的URL中,不管对于普通用户还是搜索引擎,主关键字只出现一次都是较为友好的。一方面涉及URL长度的问题;另一方面,就是URL目录深度的问题。例如,http://www.seochat. org/camera/camera/camera/camera.htm是不可取的。
4.7 关键字结合
在URL中,我们还可以利用分隔符对URL各组成部分的名称进行组合,从而产生新的词组(或短语)来拓展URL的意义。这就是本节要讨论的关于URL中各组成部分名称的组合与分隔的问题,即URL中目录间、目录与文件间的名称组合与分隔的问题。
例如http://www.seochat.org/mobile/nokia/n95.htm。在这个URL中,巧妙地把两个表面上毫不相关却存在紧密联系的关键字“nokia”与“n95”进行组合,从而产生了另一个新的热门关键字“nokia n95”。另外,为了能让搜索引擎能更好地识别组合后的关键字的意义,又利用目录间的分隔符斜杠“/”对这两个关键字进行了有效的分隔,同时兼顾了“nokia n95”与“n95”这两个关键字。
再看下面这个URL;http://www.seochat.org/mobile/nokia-n95.htm,如果使用这种命名方式,那么重点就会集中在“nokia n95”上,而淡化了“n95”。
4.8 URL各组成部分优化
前面已经介绍了URL优化的基础:URL命名技巧、分隔符的使用、URL长度、关键字词频及关键字结合,本节将介绍怎样把这些技巧应用到URL各组成部分中,即域名、路径及文件名中。
4.8.1 域名
域名是一个网站的入口,是所有用户(包括搜索引擎)访问网站的必经之路。在某些情况下,域名还能从一定程度上反映网站的主题,例如,网站seochat.org的主题是SEO。
1. 域名的组成
以seochat.org这个域名为例,它是由两个不同的部分组成的,这两个部分间具有鲜明的层次关系。其中,“.org”是域名的第一层,即域名类型;而“seochat”则是域名的名称,处在第二层。
2. 域名注册时间
域名注册时间就是指域名建立的时间,域名注册的时间越长,从一定程度上反映这个域名是更值得信任的。因此,这个域名所指向的网站就可以获得更高的权重。下面介绍怎样查看网站注册的时间。
在实际应用中,我们会使用域名信息查询系统查询域名的注册时间、过期时间及域名所有者等信息,每一个域名注册提供商都会提供这样的免费查询服务。例如我们在注册某个域名的时候,就会利用域名信息查询系统查询相关域名的信息。
如图4-9所示,我们只需在域名信息查询系统里输入要查询的域名名称,以及选择对应的域名类型;然后点击“查询”,如果该域名已经被注册,我们就可以查看该域名的相关信息。从查询结果中可以看到,这个域名的建立时间(Creation Date)是2008年8月6日,如图4-10所示。
图4-9 域名信息查询系统
图4-10 域名seo234.com的相关信息
3. 域名使用时间
域名使用时间是指域名被绑定到某个特定的网站以后,这个网站运营的时间。但是,域名的使用时间需要结合网站的主题进行衡量。也就是说,域名的使用时间是与域名所指向的网站的主题相关联的。例如一个域名使用了10年,如果这个域名在这10年间,断断续续地指向100个不同主题的网站,那么这个域名在提高网站主题相关性方面所起的作用也是微不足道的。
在互联网上,有一些网站是可以提供网站的历史信息查询的,例如WaybackMachine(http: //web.archive.org),如图4-11所示。
图4-11 WaybackMachine查询界面
在图4-11中,我们在文本框中输入要查询的域名,然后点击Take Me Back按钮,就会返回指定域名所指向的网站的历史信息。如图4-12所示。
从这个结果中就可以看到域名大概的运营时间。如果一个域名所指向的网站的主题是不变的,那么时间越长,它在搜索引擎中得到的权重也就会越高。
4. 域名过期时间
每一个域名都有一个使用时间,这个使用时间主要是取决于购买或者注册域名时所付出的费用,例如,可以购买三年甚至是更长的使用时间。
站在搜索引擎优化的角度,域名的过期时间也会在一定程度上影响网站的权重。一个域名的可使用时间越长,那么得到的权重相对来说就会越高。例如对于同样时间注册的两个域名,域名A的过期时间是十年后,而域名B的过期时间是一年后,那么搜索引擎就会认为域名A更值得信赖,从而赋予域名A更高的权重。
图4-12 seochat.org的使用历史
5. 关键字域名
从URL命名技巧中,我们知道采用相关的关键字为URL各组成部分进行命名,有利于提高对应页面的相关性。同样,采用与网站主题相关的关键字作为域名也有利于提高网站的相关性。
使用关键字作为域名,还涉及关键字的表达形式问题,例如中文、英文及拼音等。在实际应用中,我们应该根据网站的具体情况采用相应的命名形式。例如,对于简体中文网站,我们常以关键字的拼音形式作为域名。
看看下面这几个关于关键字域名的例子。
域名(1):www.shumaxiangji.com
域名(2):www.smxj.com
域名(3):www.digital-camera.com
这3个域名都是想在域名中表达“数码相机”这个关键字,却存在很大的差异。域名(1)中shumaxiangji是关键字“数码相机”的拼音形式,如果这是一个与“数码相机”相关的简体中文网站的域名,则能在很大程度上提高网站的相关性。
域名(2)中的SMXJ是“数码相机”每个拼音的首字母,但搜索引擎的切词系统里并不存在这个词。因此,该域名也就表达不了“数码相机”的意义。
域名(3)中digital-camera是“数码相机”的英文形式,绝大部分搜索引擎都能识别,因为digital camera是一个存在于搜索引擎切词系统里的词组。对于选择该关键字作为域名的网站,如果内容是英文,则该域名起的作用是非常大的。但如果内容是中文,则不如域名(1)。
为什么在中文网站中使用拼音形式的关键字域名会更具优势呢?因为绝大部分用户对自己的母语最为熟悉。如果你是中国人,难道你希望在搜索结果中首先看到阿拉伯语言的网站吗?
再次强调,关键字域名除了在语言上要与网站相匹配外,在内容上也必须与网站主题相关,即该关键字所表达的意义与网站主题是相关的。域名中的关键字与网站主题内容毫不相关,不仅是一种欺骗搜索引擎的行为,同样也是一种欺骗用户的行为。尽管搜索引擎不会因为你采用了与网站主题不相关的关键字域名而对你的网站进行惩罚,但也不会有任何帮助。既然这样,既不讨好搜索引擎又误导了用户,还有必要采用吗?
实际上,我们也不能为了单纯提高网站的搜索引擎友好性而申请相关的关键字域名,更应该结合网站品牌、域名的易记性、搜索引擎友好性等多方面进行考虑。这在中文内容网站中实现起来比较困难,因为在中文网站中,拼音形式的关键字域名字符数是非常多的,并不能满足易记性的要求。例如,“数码相机”的拼音形式域名“shumaxiangji.com”。
但是,在英文网站中,可行性是非常高的。例如一个销售“数码相机”的网站,把域名定为“www.digital-camera.com”,这样对于一个母语是英语的人来说就非常易记的,更重要的是该域名还是一个极为热门的关键字。
6. 域名后缀问题
本节讲述的是域名后缀(域名类型)的选择问题,常见的域名后缀包括:“.com”、“.net”、“.org”、“.gov”和“.edu”。其中,“.com”表示商业机构,“.net”表示网络服务机构,“.org”表示非盈利性机构,“.gov”表示政府机构,“.edu”表示教育机构。
实践证明,Google更重视“.org”、“.edu”为后缀的域名,这说明Google更重视非盈利性与教育性网站。但是,我们不能因为搜索引擎特别重视这两类域名而忽略网站自身的性质,采用不相关的域名后缀。
域名后缀只是决定网站排名的众多因素之一,并非唯一因素。单纯为了迎合搜索引擎而选择与网站不相关的域名类型是一种得不偿失的做法。
7. 国家(地区)域名的选择
除了国际域名以外,几乎每个国家(地区)都会有各自的域名,例如中国大陆的国家域名包括“.cn”、“.com.cn”等。
以Google为例,在世界上多个国家或者地区都有不同语言版本的Google。对于来自不同国家(地区)的请求,它会优先返回与发出查询请求者所在地区最接近的网站。例如,我们使用英国版Google(www.google.co.uk)查询“SEO”,那么在搜索结果中,它会优先返回英国地区的网站,如图4-13所示。
从上面的例子中可以知道,搜索引擎除了可以根据网站的服务器IP及语言来识别网站所在的地区外,还会根据网站所使用的域名后缀来判断网站的地域性。所以,如果网站针对的是某个特定的国家(地区),那么在注册域名的时候应该优先使用这个国家(地区)的域名。但是,如果网站针对的是全球,那么就应该优先使用国际域名,例如“.com”、“.net”等。
图4-13 Google.co.uk中“SEO”的搜索结果
8. 域名长度
在域名的命名标准中,对于域名长度是有明显限制的。其中,中国国家域名不得超过20个字符,国际通用域名不得超过26个字符。由于在URL优化中,我们还需要综合考虑URL各组成部分名称的长度。因此不能为了使用关键字域名而耗费太多的空间。
在此建议,对于英文形式的关键字域名的长度(加上分隔符后)应该控制在12个字符以内。因为,超过这个长度的域名是极不利于用户记忆的,就算再热门的关键字,也是得不偿失的,例如www.camcorderbatteryshop.com。
拼音形式的关键字域名长度也不宜超过12个字符,因为由12个字符组成的拼音域名已经相当难记了,例如www.shumaxiangji.com。
如果没能取得简短易记的关键字作为域名,建议放弃使用关键字作为域名的做法,而采用简短易记的域名代替。如果是简短的非关键字域名,我们还可以在URL的其他组成部分(路径及文件名)中进行补救;而如果选择长关键字作为域名,则会对URL其他组成部分的优化产生很大的限制。这样既不讨好搜索引擎,又得不到访问者的青睐。
9. 关键字词频
在申请域名时还需要注意域名中关键字词频的问题,应避免在域名中重复同一关键字。不管在什么情况下,域名中的同一关键字只出现一次就足够了,因为还要考虑域名所占用的字符数,为URL的其他组成部分预留足够的空间。
10. 域名商标
在注册域名时,要避免使用已知注册商标的名称作为网站的域名,因为这样会存在侵犯他人注册商标问题。
在实际操作中,我们在针对某些产品进行优化时有可能会注册很多热门关键字作为网站的域名,如果这些关键字恰好是其他公司的注册商标,那么就会存在侵犯他人注册商标的问题。例如域名www.thinkpad.com,其中Thinkpad是联想公司注册商标。如果你注册了这个域名,那么联想公司随时都有权力收回,这时你的努力就会付诸东流了。
4.8.2 子域名
1. 什么是子域名
顶级域名seochat.org由一个字符串加一个域名后缀组成,用“.”号进行分隔。如果在顶级域名前加分隔符“.”号,并加上不同的字符,则组成子域名,例如 bbs.seochat.org。
2. 子域名重要性
大型综合网站中常常有多个频道,用户访问这些频道的方式通常有两种方式:第一,“主域名+目录”;第二,子域名。
例如,某网站的手机频道可以通过以下两种方式进行访问:
(1) http://www.seochat.org/shouji/
(2) http://shouji.seochat.org
在上面两个URL中,都使用了关键字“手机”的拼音形式,而且也只出现一次。但是,两者在URL方面所得到的权重却是不一样的。一般认为,使用子域名的方式比“主域名+目录”的方式更具优势。
站在用户的角度,子域名更易记,也更具意义;而站在网站管理员角度,除非是特别重要的频道,否则不会绑定一个子域名。因此,搜索引擎也更重视绑定子域名的频道。
如图4-14所示,关键字“手机”的前10个搜索结果中,有6个结果的URL是使用子域名,这种现象足以说明子域名的重要性。
图4-14 关键字“手机”的搜索结果
3. 关键字子域名
关键字子域名除了继承子域名的优势外,还有一点比较重要的就是关键字子域名中的关键字出现在URL的最开始处,这就在很大程度上提高了URL所指向的页面与该关键字的相关性。例如http://shouji.seochat.org,该URL中包含了关键字“手机”的拼音形式,从而在很大程度上提高了该URL指向的页面与关键字“手机”的相关性。即便如此,关键字子域名在提高页面相关性方面所起的作用还是远不如关键字域名,因为域名拥有唯一性,而子域名则有无限的重复性。
关键字子域名的优化技巧与主域名优化基本是一样的,也要避免在子域名中重复同一关键字,以及在域名中使用与域名指向的页面不相关的关键字。接下来介绍如何处理主域名与子域名中存在相同关键字的情况,请看下面例子。
主域名:shumaxiangji.com
子域名:shumaxiangji.shumaxiangji.com
上例中,网站管理员明显是想把“数码相机”的拼音形式“shumaxiangji”作为子域名,以让关键字“shumaxiangji”能在域名的最开始处出现,提高页面的相关性。但这样做正好适得其反,我曾多次强调,同一关键字在URL中只出现一次已经足够。如果子域名与主域名存在相同的关键字,则我们可以根据实际情况使用一些意义相近、简单易懂的字符作为子域名的名称。如上例中的http://shumaxiangji.shumaxiangji.com,可以使用http://dc.shumaxiangji.com或者http://smxj. shumaxiangji.com等。
4. 免费子域名
免费子域名是由第三方提供免费使用的域名资源。在中国互联网发展的早期,很多个人网站会使用简单、易记的免费子域名作为网站域名,例如曾经风靡一时的转址域名“yeah.net”。
由于子域名与主域名是密切关联的,这就使得子域名在一定程度上继承了主域名及其平台的价值及影响力。但是,使用免费子域名作为网站域名也是非常危险的。由于使用同一主域名的网站非常多,就算域名提供商也不能保证这些使用子域名的网站是合法的,更不要说用户了。
曾经发生过这样的情况:使用同一子域名的网站,其中一小部分存在作弊的行为,结果导致搜索引擎对该域名下所有该子域名指向的网站进行封杀。不管你是否作弊、违规,你的付出都会付诸东流了。这种由子域名作弊而引起的“连坐”性惩罚,即使主域名也没能幸免。例如,提供免费虚拟空间的51.net就被整体封杀了近两年。
目前,搜索引擎经过改进算法后,会分别对每个子域名指向的网站内容进行判断,如果某个子域名指向的网站存在作弊行为,那么搜索引擎就只会对这个网站进行单独惩罚,而不会连累该主域名下的其他网站。
免费子域名的所有权还是归服务提供商所属,我们只拥有使用权,因此还要面对域名随时被收回的情况。
4.8.3 路径
路径优化实际上就是对组成路径的目录进行优化。在对目录进行优化的时候,除了要掌握目录的命名技巧,控制目录名称的长度及关键字词频以外,最重要的就是利用目录分隔符“/”实现目录名称间的自然分隔与组合。
斜杠“/”是目录间的自然分隔符,要使斜杠“/”能发挥目录名称间的分隔与组合作用,必须同时满足以下3个条件:
q 目录之间必须是相邻的;
q 每个目录的名称必须是一个独立存在的关键字,且父、子目录的名称组合后所产生的关键字也是存在的;
q 组合后所产生的关键字与目录下的内容是相关的。
例如http://www.seochat.org/camcorder/battery/,在该URL中,就是利用目录分隔符“/”对词组camcorder battery(摄像机电池)进行分隔及组合的。
说明 如果某一关键字在URL的其他组成部分已经出现过,则不需要再在路径中重复。
4.8.4 文件名
同样,对文件名的优化也需要掌握文件名的命名技巧、长度及关键字词频等要素。但是,还有一点非常重要,就是如何实现目录名称与文件名称的组合。与目录名称之间的组合类似,目录名称与文件名称的组合也需要同时满足以下条件:
q 目录与文件之间必须是相邻的;
q 目录名称与文件名称是独立存在的关键字,且组合后所产生的关键字也是独立存在的;
q 组合后的关键字与页面内容是相关的。
例如在 http://www.seochat.org/mobile/nokia/n95.htm中,目录名称“nokia”与文件名称“n95”组合后产生了一个新的关键字“nokia n95”。很明显,“nokia”、“n95”及“nokia n95”都是独立存在的关键字,更值得一提的就是组合后的关键字“nokia n95”与“n95.htm”页面也是密切相关的。
不管是目录名称之间的组合,还是目录名称与文件名称之间的组合,都可以有效地拓展URL的意义。在实际应用中,你可以根据实际情况加以变化,只有不断地尝试才能找出一条适合自身网站发展的道路。
说明 如果某一关键字在URL的其他组成部分已经出现过,则不需要再在文件名中重复。
4.9 URL重定向
重定向是指把对一个域名、目录或者文件的访问请求转发至另一个域名、目录或其他服务器空间上,当用户发出相应的访问请求时将自动跳转到指定的位置。
常见的重定向有301(永久重定向)及302(暂时重定向)两种。重定向常用于域名或者目录变更的情况,可以有效实现新旧域名或者新旧目录之间的无缝对接。不管是对于普通用户还是搜索引擎都是十分友好的,但由于一小部分人利用重定向向搜索引擎返回经过特别优化甚至是作弊的页面,搜索引擎已经把部分重定向方式列入违规行为的行列(请参考11.7节)。
为了避免陷入URL重定向的误区,接下来除了介绍URL重定向的实现方式外,还会对URL重定向过程中需要注意的问题进行详细的说明。
4.9.1 301重定向
301重定向又称为永久性重定向,适用于网站域名或者网页存储目录永久性更改的情况(这种方式对搜索引擎最为友好)。在搜索引擎优化中,301重定向还常用于实现URL静态化。
对于301重定向的实施,有以下几个常用的方法。
1. 在.htaccess文件中增加301重定向指令
采用mod_rewrite技术,形式如下所示:
RewriteEngine on
RewriteRule ^(.*)$ http://www.seochat.org/$1 [R=301,L]
2. apache 服务器
方法1:
<VirtualHost *>
ServerName [URL]www.10flash.net[/URL]
RewriteEngine On
RewriteRule ^/(.*)$ [URL]http://www.seochat.org/$1[/URL] [R=301,L]
</VirtualHost>
方法2:
<VirtualHost 219.133.X.X>
Redirect / http://www.seochat.org/
ServerName www.10flash.net
</VirtualHost>
3. IIS服务器
打开Internet信息服务管理器,在要重定向的网页或目录上点击右键,选择“重定向到URL”,在“重定向到”输入框中输入要跳转到的目标网页的URL地址,再选中“资源的永久重定向”(切记),最后点击“应用”即可。
4. 高级语言实现(ASP/PHP/ASP.NET):
ASP:
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.seochat.org/"
Response.End
PHP:
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.seochat.org/");
exit();
4.9.2 302重定向
302又称为暂时性转移(Temporarily Moved),常见的302重定向包括meta重定向及JS重定向(请参考11.7节)。
4.9.3 URL转发
如果网站启用新域名,需要把旧域名的访问请求重新引导到新域名上,那么还可以使用URL转发的方式实现(目前,一般的虚拟主机服务商都会提供域名URL转发管理功能)。
例如,要把对http://www.seoers.com.cn的访问请求转至http://www.seochat.org,则在“主机名”上填上“旧”域名,转发地址上填上“新”域名或者URL即可,如图4-15所示。
图4-15 URL转发设置
目前,URL转发是完全合法的。例如,目前淘宝上很多店家都会使用独立域名转发至淘宝的网店上。
在网站更换域名或者在路径、文件名发生变化的时候,不管该变化是永久性的还是临时性的,在此强烈建议读者使用301重定向的方式实现。因为,301重定向是目前已知最安全的方法。就Google而言,它还会把外部链接等权重转移至新域名、路径或文件下。
4.10 URL静态化
不管是普通用户还是搜索引擎都更钟情于静态页面。为什么?下面,先介绍一下搜索引擎及普通用户获取页面信息的过程。
1. 普通用户
普通用户通过浏览器发送指定的URL请求,Web服务器收到请求后定位到指定的文件,或者根据程序从数据库中调用相应的数据返回到浏览器。经过浏览器处理后,用户就可以看到一个完整的文件。
2. 搜索引擎
搜索引擎也相当于一个客户端,只是搜索引擎是一个比较特殊的客户端。搜索引擎在对指定的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:
q http://www.seochat.org/contactus.htm
q http://www.seochat.org/contactus.php
q 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。
l Apache服务器
Apache是目前最流行的HTTP服务器软件之一。它有一个叫做mod_rewrite的重写模块,该模块能够让你将包含环境变量的URL转换为搜索引擎能够支持的URL类型。不过mod_rewrite不是Apache软件安装中的默认模块,因此你应当咨询你的服务器提供商,看看你的服务器上是否已经安装此模块。
l IIS服务器
想要IIS支持URL重写,得先装ISAPI,试用版下载地址为http://www.seochat.org/download/ isapi.msi。
l 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效果外,还有一种常见的办法就是利用程序把相关的内容生成静态页面。这样,既能使用数据库管理庞大的信息,又能提高页面访问速度,满足用户的需求,提高页面的权重,正所谓一举多得。
4.11 小 结
本章从URL各组成部分的命名技巧、分隔符的使用、URL长度、关键字词频及关键字结合技巧等方面介绍URL优化的细节及具体操作技巧。此外,还介绍了关键字域名使用的技巧和方法,以及URL静态化实现的方法及重要性。