原文地址:
浅谈页面静态化、缓存技术与SEO http://iecspace.ecjtu.org/posts/staticize-cache-seo
Apache Rewrite规则详解 http://www.ha97.com/3460.html
PHP-OB缓存 http://ziliao1.com/Article/Show/B39E37D7980C4DC959980D2DEC058FA0
浅谈页面静态化、缓存技术与SEO
发布于: August 2, 2012, 11:46 am 分类: 爱上杂记 作者: IECspace 阅读:376次
这篇文章主要是想谈谈页面静态化、缓存技术与SEO之间的关系,在此之前有必要先解释一下这三个词的概念。
- 页面静态化:我们大多数情况下是直接访问php文件,php脚本在服务器端执行并返回信息,对于一些大型网站,访问量很大,频繁的动态操作和数据库操作会加重服务器的负担。这种情况下,我们通常会使用缓存技术或页面静态化来解决。页面静态化又分为真静态和伪静态。真静态是指将php文件通过程序控制生成html页面,从而就无需访问数据库;伪静态只是把网址静态化,(如果没有做缓存)访问时依然需要每次操作数据库。
- 缓存(cache)技术:通常,我们获取动态信息有三种方式:1.从数据库获取;2.从文件获取;3.将信息保存在内存,直接从内存获取,即我们通常所说的缓存(php中的缓存技术通常使用ob已及memcached)。其效率在同等数据量信息下是1<2<3。虽然使用缓存技术将耗费大量内存,但是,庆幸的是内存的市场价现慢慢变的可接受,因此以资源换取效率变的很理性与简单。
- SEO:中文译为搜索引擎优化,是较为流行的网络营销方式,主要工作是通过了解各类搜索引擎如何抓取互联网页面、如何进行索引以及如何确定其对某一特定关键词的搜索结果排名等技术,来对网页进行相关的优化,使其提高搜索引擎排名,从而提高网站访问量,最终提升网站的销售能力或宣传能力的技术。
从大的方向来说,大型网站的提速一般是通过页面静态化、缓存技术(主要指memcached)、mysql优化三个方面来实现。同时,提速经常又需要考虑现实状况,比如SEO问题、静态页面是否需要及时更新、大量产生静态页面后导致的文件堆积问题等等,于是这些矛盾就引出了我们今天的话题。
页面静态化(这里特指真静态)能够明显地提高网站的访问效率,并且无论是真静态还是伪静态对于SEO来说都是非常有利的。因为搜索引擎对静态页面“情有独钟”,蜘蛛爬虫很乐意去爬取静态网页的内容,而对于动态网页,诸如php页面,搜索引擎总认为去检索页面信息很麻烦,而且为了尽量抓取有意义的页面内容,总是要对动态页面抓取多次,如此一来,对页面的收录效率就会相对降低,即对SEO有了负面的影响。还有,从安全的角度来说,静态页面更不容易被SQL注入攻击。因此,为了提高访问效率,同时利于SEO,增强安全性,我们通常需要将动态页面静态化。
如果采用真静态,访问页面提供的是静态链接,可以减少服务器对数据响应的负荷,二次加载时不用调动数据库。响应处理过程是如果当前链接指定的静态页面存在,则直接访问静态页面,否则视为第一次访问,创建这个静态页面,并保存。在创建的过程中,又可以引入模板、ob缓存机制,甚至是memcached技术。可能大家会想,那如果是大型网站,由于信息量和访问量都是海量数据级别的,那么岂不是会随着时间的推移产生大量的静态页面,即冗余文件大量堆积,空间占用比较大,而且,毋庸置疑的是可能某些文件用于不会再被使用。这种情况下,我们通常可以根据需要,设定相应的处理规则,根据规则开发对应程序,比如定时执行任务计划,删除冗余文件,或者当原有数据库内信息被修改时,也同时修改对应静态文件等等,这样就可以在很大程度上缓解压力。必须提出的是,由于访问的都是静态页,对SEO来说,真静态确实是一种较佳的选择。
无论怎么处理,真静态都会必不可免地产生堆积内容,这时候,往往我们会想到伪静态方法。
伪静态提供的也是静态链接,但是需要注意的是其实际访问的依然是动态页面。那么,伪静态有什么作用呢?正如之前的介绍,由于链接是静态的,这对于SEO来说还是很有利的,而且,一定程度上提高的安全性。至于访问效率的提高,我们依然可以使用ob缓存机制来提升访问效率。与真静态相比,伪静态避免产生海量的静态页面。实现伪静态的方法有很多,在IIS下有rewrite规则、Apache下有rewrite规则,甚至可以通过正则表达式使用PHP脚本直接处理。然而通常我们选用rewrite规则来实现伪静态。(实现过程略)
那么如何选择使用真静态还是伪静态呢?
- 网站实时性要求比较高,不要使用页面静态化(真静态、伪静态均不适宜)
- 如果网站访问量较小,没有必要使用静态化技术
- 如果数据项目不多,但是访问频率极大,建议使用真静态,如新浪新闻频道
- 如果数据醒目海量使用真静态会生成海量的html静态页面,建议使用伪静态
小结:如果一个网页会被频繁地访问(比如百万级别),通过该网页每次都会去操作数据库,可以考虑使用真静态;如果一个网页为了实现对搜索引擎的优化,提高网站的安全性,考虑使用伪静态(+缓存机制)。
相关推荐
PHP的缓存与静态化应用,和当今cms主流系统的缓存技术,商城缓存技术,页面静态化生成技术
动态页面静态化技术,c#技术 动态页面静态化技术,c#技术
动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html...
一个比较实用的页面静态化代码,可以很好地实现静态化的效果
URL重写 页面静态化 伪静态化,实现页面静态化。
在实际的应用中,用户使用浏览器浏览Web应用,都是在向Web...而大部分用户的请求都很类似,因需要将PHP脚本执行的结果进行缓存或将其放到静态的HTML文件中。这样,用户在访问时就直接访问静态HTML网页,不执行PHP脚本。
有关Java页面静态化
一款随机静态页面生成系统,一秒钟可生成上千条单页面,批量生成单页用来做SEO是非常不错的源码。 雨尘SEO静态页面生成系统PHP网站源码v1.3最新版本,支持文章采集,功能,多模板选择批量生成单页,本次更新增了百度...
php进行页面静态化的一个事例,包含数据库。
php 页面静态化
asp.net 动态页面静态化 asp.net 动态页面静态化
ASP.NET 动态页面静态化,ASP.NET 动态页面静态化
最近一直在研究动态页面生成,汇总了网络的有效资源、方法,在这里分享一下,希望对后来做静态化的同仁有所帮助。也包括自己公司实际成熟的设计方案。
本案例主要使用PHP 7中的文件读写功能与ob缓存机制实现纯静态页面的生成,使用正则表达式和url重写实现伪静态页面的生成。 PHP页面静态化,是把那些内容不常变化的页面静态化,而不通过动态程序从数据库或者缓存中...
一款随机静态页面生成系统,一秒钟可生成上千条单页面,批量生成单页用来做SEO是非常不错的源码。雨尘SEO静态页面生成系统源码v1.3版本,支持文章采集,功能,多模板选择批量生成单页,本次更新增了百度自动推送和...
前台页面的静态化就有利于SEO,所以这个问题摆在了我的面前,在网上一搜,关于这方面的资料不是很多,又很杂,关于这方面的知识,越来或多的程序员将会碰到,原来项目中这部分静态化的功能主要由我来做的,现在我将...
一个静态化的例子,先有个模板页面,然后程序会根据模板生成样式相同的页面
asp转成静态页面, asp转成静态页面(网页静态化)
JSP页面静态化总结_动态页面变为静态页面以减少访问数据库的次数提高速度.zip
Java页面静态化视频教程,将动态化页面转为静态化页面,减少服务器压力