不用外挂,直接启动WordPress的Gzip网页压缩

  • 341views

网页想要速度再快,除了平时做好网页优化之外,如果网页输出时可以经过压缩,那可以让网页加速开启,减少等待时间,这项功能就叫做Gzip网页压缩。在WordPress中虽然有外挂可以启动Gzip网页压缩,不过能透过几句语法来达到网页压缩,这样不是更好吗?其实在PHP中,有一句语法是可以开启Gzip的,只要加在网页输出的前端即可。

除此之外,也可以透过.htaccess来调整系统,启动Gzip所需的设定,让网站达到加速的需求,若是可以启动Gzip除了输出时网页比较小,接收者可以很快开启网页之外,也可以省一些流量的耗损,算是不错的功能,但若是主机不支援这些设定选项,那就比较可惜了。

在WordPress中,其实大部分的快取外挂都有内建启动Gzip压缩功能,不论是老牌的快取外挂「WP Super Cache」、轻巧的「1 Blog Cacher」或是「hyper Cache」都可以启动Gzip网页压缩功能。如果你没有装这些外挂,或是这些外挂虽然启动了Gzip功能但是检测出来却没有压缩,那你可能需要透过外挂「GZippy」来启动,不过透过这个外挂来启动时,记得快取外挂本身的Gzip要关掉,否则可能造成冲突。

但如果你是很老手的WordPress玩家,那你一定有印象以前在后台管理中有一个是启动网页压缩Gzip的设定选项,不过不知道从哪个版本开始偷偷被拿掉了,不过从资料库内的「wp_options」资料表内看,一定还会看到一个栏位是「gzipcompression」,这就是储存Gzip启动的设定值,现在是空的,1表示启动,0表示关闭,但现在就进入资料库修改,似乎是无效了。

不过在WordPress官方的Codex上面记录了两种启动Gzip压缩的方式,一种是透过PHP函式来启动,另一种则是透过.htaccess档案来启动。如果你不想要使用外挂启动也不想使用快取外挂内建的来启动,可以自己加入语法。

利用.htaccess启动Gzip网页压缩

这方法是透过阿帕契(Apache)的「Enabling Compression」来达到。请透过FTP软体将您的.htaccess档案下载回来,如果没有请用笔记本建立一个,储存时类型请选择所有档案,然后档名输入「.htaccess」即可。在.htaccess档案中请加入以下语法,然后储存上传覆盖即可。

# Insert filtersAddOutputFilterByType DEFLATE text/plainAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xmlAddOutputFilterByType DEFLATE text/cssAddOutputFilterByType DEFLATE application/xmlAddOutputFilterByType DEFLATE application/xhtml+xmlAddOutputFilterByType DEFLATE application/rss+xmlAddOutputFilterByType DEFLATE application/javascriptAddOutputFilterByType DEFLATE application/x-javascriptAddOutputFilterByType DEFLATE application/x-httpd-phpAddOutputFilterByType DEFLATE application/x-httpd-fastphpAddOutputFilterByType DEFLATE image/svg+xml# Drop problematic browsersBrowserMatch ^Mozilla/4 gzip-only-text/htmlBrowserMatch ^Mozilla/4\.0[678] no-gzipBrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html# Make sure proxies don't deliver the wrong contentHeader append Vary User-Agent env=!dont-vary

不用外挂,直接启动WordPress的Gzip网页压缩

透过PHP启动Gzip网页压缩

另外一个方法就是透过PHP函式的方式来启动网页压缩,但前提是您的系统必须有支援「Zlib Compression Functions」才有办法启动,您可以丢个网页探针到伺服器上查询看看就知道了。语法加入方式很简单,透过FTP软体连到WordPress根目录,然后下载其中的「index.php」并使用笔记本软体开启,在「ob_start('ob_gzhandler');

不用外挂,直接启动WordPress的Gzip网页压缩

以上两种方法请选择一种使用,设定好后可以透过Gzip检测工具检查看看是否有成功启动啰!不过经过测试,在zbaike或是GIDZipTest检测时有时候结果会不太一样?但大部分的状况下,透过PHP的方式启用检测出来都有成功而透过.htaccess方式好像没有正确的压缩到?我目前是透过Hyper Cache快取外挂启动Gzip,在zbaike检测出来有压缩,但在GIDZipTest却是没有压缩,不知道他们判定的标準为何?大家可以自己试试看,以上两种方法和小经验提供给大家参考,也欢迎您分享经验。