那么到底什么是GZIP压缩呢,这个压缩是对网页的,不是我们的360压缩,但性质却是一样的,因为压缩就意味着
会“更小”那么页面被压缩后对我们SEO有什么影响呢?页面的加载速度会提高很多,这样以来,用户的体验程度
就会大大的提高,试问一下,你喜欢龟速的网站吗,第二呢,有些站长会说GZIP压缩对搜索引擎不友好,传来传
去也没有证实,其实在这里我想说啊,就算GZIP压缩对
搜索引擎不好,也起不到关键作用,而且就算对优化不利
,我们最终的目的是面向客户,再者来看,页面的加载速度或许还对引擎抓去有利呢,仁者见仁好吧。
GZIP的压缩分为2种方式
一:服务器ISS配置
这种压缩显而易见是对整个站点进行的全面压缩,因为GZIP压缩会对服务器CPU造成负担,当然这点负担对一个服
务器来讲微乎其微,但也因为这一点服务器商通常要收钱,这一谈钱就色变了,如果你是非常正规而且信息量非
常大的站,那么还是建议花钱做下吧。
二:函数代码
GZIP不会对图片进行压缩处理,如果你是个图片站,那么意义可能要小的很多,但是GZIP可以实现对swf文件压缩
,也就是FLASH动画,用代码
压缩的效果和服务器是一样的,但区别就在于,我们不能完全的将整个压缩,如果程
序是我们自己写的,就可以自定义然后调用,但是很多站长的程序都是
免费或者购买来的,这样的
程序都是经过
加密的,所以我们只能在有限的范围内把页面进行压缩,其实网站大体的页面也就那么几个,完全压缩的区别也
没有那么的大。
代码压缩的2种方式:
代码压缩也同样分2种方式,和301一样是要在.PHP文件中写入,但是GZIP函数代码要在最开头和最结尾,意思就
是要把所有的内容包起来,然后进行压缩。
一、PHP内置函数
内置函数,换句话我们可以讲成 系统默认的压缩,当然压缩是有一个比值的,1-9的范围,当然越大越好了,但
是也会服务器造成更大压力,
系统的缺省值是6,也就是默认的是6,以下代码就是默认的,请参照:
< ?PHP //头段
if(Extension_Loaded(’zlib’)) Ob_Start(’ob_gzhandler’);
Header("Content-type: text/html");
? >
< ?
PHP //原有内容
zhiai1314.net
? >
< ?PHP //尾段
if(Extension_Loaded(’zlib’)) Ob_End_Flush();
? >
为了方便,我用下注释符“//”复制代码的时候要把所有注释符去掉,我先说头段,头段一定要放在最前面,也
就是说上面就是顶部了没有任何代码部分了,而尾端同样的
道理,不要把代码放到你原有的 php 内容 ?> 内容
部分,这样就被内容包起来了,而不是我们要的把内容包起来压缩,这种压缩比值6。
二、自定义函数
这种自定义函数是我们需要写一个方法,然后调用自己的方法,实现GZIP压缩,代码如下:
< ?PHP //头段
if(Extension_Loaded(’zlib’)) Ob_Start(’ob_gzhandler’);
Header("Content-type: text/html");
? >
< ?PHP //原有内容
zhiai1314.net
? >
< ?php //尾段
ob_end_flush();
function ob_gzip($content){
if(!headers_sent()&;&;extension_loaded("zlib")&;&;strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip")){
$content = gzencode($content,9);
header("Content-Encoding: gzip");
header("Vary: Accept-Encoding");
header("Content-Length: ".strlen($content));
}
return $content;
}
? >
同第一种代码一样,需要放到最头和最尾,自定义方法我已经给大家写好了,压缩比值是 9。代码是这段
$content = gzcode($content,9); 可以把数值9改成你想压缩的值,取值范围(1-9)。
以上2种代码不用任何修改,均为写好的,可以直接复制,自定义的可以改一下参数,一定要把注释符,都删掉!