`
ferreousbox
  • 浏览: 288250 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

说说网站静态化和SEO

    博客分类:
  • java
阅读更多
    大家一说起网站的高性能,第一时间想到的就是使访问者访问的是静态页面,因为大家都知道访问静态页面的开销比动态的要小得多,而且高效得多。这也是前几年seo专家们普遍优化网站的重点之一。但是对于目前网络上内容变化频繁的大型网站而言(如淘宝),使用静态页面访问虽然很好。但是细细想一下,以淘宝这样的规模,其静态化网站的页面至少有几十万,甚至上百万。这样维护一个如此大规模的静态文件,其难度程度可想而知了,最重要的是其页面内容是经常更新的,如我们一个宝贝的页面,要显示店主的在线状态、用户的购买情况等等,这些都是可能随时更新的,因此对于这样的网站实行静态化,个人感觉无疑于“自杀”!话可能说的有点过了,呵呵,网站静态化对于小型网站,页面内容更新不需要很频繁的网站无疑是优化网站性能的一个很重要的方面,而且网站静态化对于SEO也是非常有帮助的,虽然目前的搜索引擎也支持动态生成的内容,但似乎更青睐静态页面,包括伪静态页面。

    以前在开发系统时,也有一个门户的部分,当时考虑到系统的性能问题也使用静态化页面,但并不是传统的html页面,而是xml+xsl文件的组合,这样改变xsl文件后整个网站也就随之改变了,达到了内容与显示的分离,同时也实现了静态化。当然了,那个门户基本上都是新闻发布之类的,对于其内容的更新不是非常多,所以这样处理就很方便和实用了。刚刚也说到了使用伪静态化似乎是大型网站的更好的选择,因为不需要维护大量的静态文件。我们可以看到对于淘宝、163、sohu等网站,虽然其新闻页面和宝贝页面是html后缀的,但是同时也看到其内容应该是属于动态更新的,要不然,还真是无法想象。所以可以想到,目前的大型网站几乎很少用静态页面来访问的,多数是基于伪静态化的访问方式。伪静态化就是说访问地址看上去其后缀是html或htm等形式,但其内容实际上是动态生成的。那么如何实现网站的伪静态化呢?这个也是我下面要说的,就是URL的rewrite,即URL的重写技术。

    我们以apache2.2为例来说下如何实现url的rewrite,首先要给apahce2安装rewrite模块,操作步骤如下:

#cd /home/
#tar xf httpd-2.2.6.tar.gz
#cd httpd-2.2.6
#./configure --prefix=/usr/local/apache2.2 --enable-so --with-mpm=worker --enable-module=rewrite --enable-shared=rewrite
#make && make install
#cd modules/mappers/
#/usr/local/apache2.2/bin/apxs  -c mod_rewrite.c -lgdbm
#gcc -shared -o mod_rewrite.so mod_rewrite.o -lgdbm
#/usr/local/apache2.2/bin/apxs  -i -A -n rewrite mod_rewrite.so


    这样我们就安装好了apache的rewrite模块,然后我们就可以使用正则式来匹配url并替换了。apache使用rewrite模块的格式如下:

RewriteEngine On   #开启rewrite模块
RewriteRule 源地址的正则式 rewrite后的真实地址

    通常对于如下的动态地址我们可以使用相应的静态地址进行重写,如下:

/bbs/list-4-1.html      /mybbs/show-topic.do?border=4&page=1

这样我们在apache中就可以这样写入:

RewriteRule ^/bbs/list-([0-9]+)-([0-9]+)\.html$  /mybbs/show-topic.do?border=$1&page=$2 [pt]


    像上面的地址我们就是将所有/bbs/list-4-1.html这样的地址匹配成/mybbs/show-topic.do?border=4&page=1这样的动态地址,同时转给tomcat来进行处理(rewriteRule后的[pt]标志)。我们假设以静态页面为例子的话,同时假设apache的网站根路径是/www/test/,我们在根目录下建立123.html文件,然后在apache的配置文件中写入如下的重写规则:

RewriteRule ^/show/news-([0-9]+)\.html$ /$1.html

    这样,当我们访问/show/news-123.html的时候,就会被apache重写为/123.html,也就是访问到根目录下的123.html文件了,如果有246.html文件在根目录下,那么我们就可以访问/show/news-246.html了。

    通过url的rewrite技术,我们可以很方便的来伪静态化网站,同时又实现动态的内容,而且对于seo也有一定的帮助,呵呵~~~另外,在lighttpd中使用rewrite也是非常方便,正则式基本上差不多。
6
1
分享到:
评论
3 楼 ferreousbox 2010-02-04  
rkikbs 写道
我们的项目也打算做静态化,我在网上搜了搜有关静态化的东西,关于url重写有的用的是tuckey的urlrewrite,这个和你说的apache的那个url重写有什么区别?

tuckey的urlrewrite是应用程序级别的,镶嵌的软件内部;而apache的url重写是应用服务器级别的,功能都一样,舍去看自己的需求了
2 楼 rkikbs 2010-02-04  
我们的项目也打算做静态化,我在网上搜了搜有关静态化的东西,关于url重写有的用的是tuckey的urlrewrite,这个和你说的apache的那个url重写有什么区别?
1 楼 wutao8818 2008-04-21  

恩,rewrite对seo是有帮助。大家对淘宝这样流量的网站的技术架构一定更感兴趣,但不知道谁有这方面的资料可以分享。你确定taobao没有做大规模的静态化吗

相关推荐

    Laravel开发-laravel-jet-pages

    此外,Laravel-jet-pages可能还包含了其他实用功能,如模板引擎优化、SEO友好的URL管理、自定义错误页面等,这些都旨在提升开发者的工作效率和网站质量。通过使用这个包,开发者可以专注于业务逻辑,而不是基础架构...

    wordpress主题-argon

    Argon还具有自适应、精心优化的文章阅读界面,可切换衬线/非衬线字体,可自定义CSS和JS,支持使用CDN加速静态文件访问,具有良好的SEO友好性等特点。Argon是以GPL V3.0协议开源的,使用时需要遵守该协议。在使用...

    PHP高速度电视直播管理系统源码程序 v2.0(带手机直播功能).rar

    11月1日更新了 1.后台可增加单独频道(全球1800个) 2.单独的频道,可以设置单独...高级版:系统功能一样,为你设置好了所有的频道分类和SEO优化。           相关阅读 同类推荐:站长常用源码

    PHPOK企业建站系统 v4.1.0818

    3、伪静态化更人性化 4、内置SEO功能,可全局设定及单个主题或单个分类或单个项目设置 5、强大的自定义功能,支持:会员,项目,会员组,分类,全局等等,都是可以自定义。使用了一整套的字段管理器 6、附件管理支持...

Global site tag (gtag.js) - Google Analytics