`
ferreousbox
  • 浏览: 287199 次
  • 性别: 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没有做大规模的静态化吗

相关推荐

    DEDE织梦CMS Tag静态化 插件 SEO工具

    Tag静态化是SEO(搜索引擎优化)中的一个重要环节,能够提高网站的加载速度,降低服务器压力,并有助于搜索引擎更快地抓取和索引页面,从而提升网站的搜索引擎排名。 该插件特别适用于DEDE织梦CMS的5.6或5.7版本,...

    TAG静态化-5.7-亲测可用转拼音

    总的来说,TAG静态化对于提升织梦网站的性能和SEO效果有着显著的作用,而结合拼音转换的策略,更是解决了中文URL的兼容性和可读性问题。通过理解这一技术,你可以为你的织梦站点带来更好的用户体验和搜索引擎表现。

    大型站点网站静态化实现方案

    网站静态化是提升大型站点性能和可扩展性的重要策略,尤其在处理高并发访问和优化SEO(搜索引擎优化)方面有着显著优势。以下是对这个大型站点网站静态化实现方案的详细解读。 1. **静态化原理**: 静态化是将动态...

    ASP.NET页面静态化,伪静态化

    ASP.NET页面静态化和伪静态化是Web开发中提高网站性能和SEO优化的重要技术。页面静态化是指将原本动态生成的HTML页面转化为静态HTML文件,这样用户请求时无需执行服务器端的代码,直接从硬盘读取文件,提高了访问...

    jsp静态化和伪静态化

    总的来说,静态化和伪静态化都是优化Web性能的重要手段,它们能够降低服务器负载,提升用户体验,同时也有助于SEO。在实际应用中,需要根据项目需求和环境选择合适的方法,并注意处理好页面更新和缓存策略。

    jsp静态化,jsp静态化

    JSP(JavaServer Pages)静态化是一种常见的优化技术,主要目的是提高网站的访问速度和搜索引擎友好性。在动态网页系统中,JSP页面通常需要经过服务器端的解释和执行,然后将结果发送到客户端。这个过程对服务器资源...

    html生成静态页,SEO优化

    HTML生成静态页是一种常见的网页开发技术,主要用于提升网站的搜索引擎优化(SEO)效果。静态页面是预先编译好的HTML文件,...同时,选择合适的静态生成工具和技术,能够帮助开发者构建出既高效又易于SEO优化的网站。

    httpclient 静态化网站 project

    【标题】"httpclient 静态化网站 project"是一个基于Apache HttpClient库的项目,旨在实现网站内容的抓取和静态化。HttpClient是一个强大的HTTP客户端编程工具包,它允许开发者在Java环境中执行HTTP请求,获取网页...

    PHP 直接静态化和触发静态化

    "PHP 直接静态化和触发静态化"这个主题探讨了两种不同的静态化方法,这两种方法都可以提高网站或应用的响应速度,特别是对于那些经常被访问但数据很少变化的页面。 直接静态化是指在处理请求时,将生成的HTML内容...

    一个静态化的例子(利用模板生成静态化页面)

    在IT行业中,静态化是一种常见的优化网站性能的技术。它涉及到将动态生成的网页转换为静态HTML文件,以便用户可以直接从服务器获取,而无需通过复杂的服务器端脚本处理。这种技术可以显著提高页面加载速度,减轻...

    asp.net TO html 网站静态化处理

    综上所述,ASP.NET到HTML的静态化处理是一项重要的网站优化技术,通过合理的设计和实现,可以显著提升网站性能和SEO效果。此程序提供的继承处理类方式,简化了开发过程,使得开发者能更专注于业务逻辑,而不是静态化...

    帝国cms TAG静态化插件.zip

    6. 维护与更新:随着帝国CMS系统的升级和网站规模的扩大,可能需要定期更新或调整静态化插件,以保持最佳性能。同时,注意备份静态文件,以防误操作导致数据丢失。 总的来说,"帝国cms TAG静态化插件"通过将动态TAG...

    有关Java页面静态化

    Java页面静态化主要有两种方式:服务器端静态化和客户端静态化。 1. 服务器端静态化: - **预渲染(Prerendering)**:在用户请求之前,系统自动将一些常用或者热点页面生成静态HTML文件,存储在文件系统或CDN上。...

    ASP静态化插件

    ASP静态化插件是一种用于提升网站性能和SEO优化的工具,尤其在处理高访问量的ASP(Active Server Pages)网站时显得尤为重要。该插件的主要功能是将动态生成的ASP页面转换为静态的HTML页面,从而减少服务器的负担,...

    .net页面静态化

    .NET页面静态化是一种提高网站性能和搜索引擎优化(SEO)的技术,它通过将动态网页转换为HTML文件存储在服务器上,从而减少服务器处理时间并减轻数据库负载。这种技术尤其适用于那些内容相对固定、更新频率不高的...

    Emlog文章页静态化插件 v1.5.7

    Emlog文章页静态化插件 v1.5.7 是一款专为EMLOG博客系统设计的增强性能和优化搜索引擎优化(SEO)的工具。这款插件的核心功能是将动态生成的文章页面转换为静态HTML文件,从而提高网站的访问速度和降低服务器负载。 ...

    c# 页面静态化软件

    C# 页面静态化软件是一种基于C#编程语言开发的应用程序,用于将动态网页转换为静态HTML页面,以提高网站的加载速度和搜索引擎优化(SEO)。动态网页在服务器端执行脚本,每次请求都需要与服务器交互,而静态HTML页面...

    页面静态化处理

    页面静态化处理是一种提高网站性能和用户体验的技术,它将动态生成的网页转换为静态HTML文件,用户请求时直接返回这些预先生成的文件,而非每次都执行数据库查询和其他服务器端逻辑。这种方式降低了服务器负担,加快...

    动态页面静态化汇总--页面静态化方案

    动态页面静态化是一种提高网站性能和搜索引擎友好度的技术手段,主要通过将原本由服务器动态生成的HTML页面转换为预先生成的静态HTML文件。这样,用户请求时,服务器无需执行数据库查询和其他复杂操作,而是直接返回...

    网页静态化,伪静态页面

    网页静态化和伪静态页面是ASP.NET开发中提高网站性能和搜索引擎优化(SEO)的重要技术。在现代Web开发中,动态网页虽然功能强大,但在处理大量用户请求时,可能会增加服务器负担,降低页面加载速度。为了解决这个...

Global site tag (gtag.js) - Google Analytics