欢迎光临
我们一直在努力

WordPress站点加速:网站开启Gzip压缩加速传输

总结并分享如何在WordPress站点上启用Gzip压缩以加快传输速度。

Nginx开启Gzip的方法

gzip on;
gzip_min_length  1k;
gzip_buffers     4 16k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
gzip_vary on;
gzip_proxied   expired no-cache no-store private auth;
gzip_disable   "MSIE [1-6]\.";

解释:
 `第1行:开启Gzip(这是缙哥哥唯一不借助翻译就能看得懂的)
第2行:不压缩临界值,大于1K的才压缩,一般不用改
第3行:buffer,就是,嗯,算了不解释了,不用改
第4行:用了反向代理的话,末端通信是HTTP/1.0,有需求的应该也不用看我这科普文了;有这句的话注释了就行了,默认是HTTP/1.15行:压缩级别,1-10,数字越大压缩的越好,时间也越长,看心情随便改吧,缙哥哥用的是6.6行:进行压缩的文件类型,缺啥补啥就行了,JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式就行了。不过你要考虑自己的CDN之类的,如果静态文件已经丢出去了,也就没必要了!
第7行:跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding",我不需要这玩意,自己对照情况看着办吧
第8行:IE6对Gzip不怎么友好,不给它Gzip了` 

如果您使用宝塔面板,它默认为您开启了Gzip压缩功能,如下图所示:
20190114160507.png
Apache开启Gzip的方法
首先确保你的 Apache 已经加载了 mod_deflate 模块,然后在 httpd.conf 代码中加载以下代码:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/json application/x-httpd-php application/x-javascript
</IfModule>

如果你没有权限修改你的主机,你也可以把上面的代码复制到网站根目录下的.htaccess文件中。
PHP开启Gzip的方法
如果修改Apache httpd.conf文件无效,可以修改PHP的php.ini方法:

打开php目录下的php.ini文件,找到

zlib.output_compression = Off
zlib.output_compression = On
;zlib.output_compression_level;

如果无法修改php.ini文件,可以在需要gzip压缩的PHP文件的头部添加

if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
    ob_start('ob_gzhandler');
}else{
    ob_start();
}

两者都可以实现php页面的gzip压缩。
如何在 WordPress 中启用 Gzip
如果以上方法都不行,将以下代码复制到当前主题的functions.php文件中,实现整个WordPress站点的gzip压缩:

//WordPress站点加速之开启Gzip压缩加快传输 - https://www.dujin.org/12613.html
add_action('init', 'wpjam_gzip_compression');
function wpjam_gzip_compression(){
    if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
        ob_start('ob_gzhandler'); 
    }else{
        ob_start(); 
    }
}

htaccess 启用 Gzip 压缩
编辑站点根目录 .htaccess 文件并在最后添加三个代码中的任何一个。
代码一

php_value output_handler ob_gzhandler

代码二

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
</IfModule>
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript
</IfModule>

代码三

php_flag zlib.output_compression On
php_value zlib.output_compression_level 6

WordPress插件开启Gzip的方法
有很多插件可以打开Gzip。 随意举几个例子,自己尝试一下。 无论适用与否,您都需要自己尝试一下。

WP Super Cache 超级缓存插件
如果您的 WordPress 安装了 WP Super Cache 缓存插件,您可以检查压缩页面,以便更快地向访问者提供它们。 (推荐)在WP Super Cache设置→高级选项中勾选 Compress pages so they’re served more quickly to visitors.(Recommended) 一项,这样你也可以启用Gzip压缩

WP Performance插件

如果你使用的是WP Performance插件,那就更简单了。 直接在插件设置主页查看
20190114153225.png
Gzippy 插件
如果您使用的是 Gzippy 插件,只需启动插件即可。
index开启Gzip的方法
通过修改WordPress根目录下的index.php文件来开启Gzip压缩,是认为的最蠢的做法!

为什么? 众所周知,WordPress的更新就像换内衣一样,两天就更新一次。 一旦更新,您必须更改它。 这不是最愚蠢的方法吗? 不过,如果以上方法对你不利,不妨试试这个方法!

进入 WordPress 网站根目录,修改 index.php 文件,找到

define(’WP_USE_THEMES’, true);

在后面加上:

//WordPress站点加速之开启Gzip压缩加快传输 - https://www.dujin.org/12613.html
ob_start(‘ob_gzhandler’)

在上面加个地址,这样你就不会忘记这句话的意思。 升级 WordPress 后不要忘记重新添加它!
Gzip使用注意及说明
如果.htaccess文件中禁用了Gzip功能,那么在php.ini文件中启用后,还必须在.htaccess文件中启用Gzip,否则无效。
WordPress开启Gzip功能后,服务器会对页面进行压缩后再传输,可以有效降低服务器带宽占用,加快页面下载速度。
另外请注意,您只能选择一种方式来启用WordPress Gzip压缩,否则可能会引起冲突,请牢记。
经测试,使用服务器压缩比使用PHP压缩要快,而且压缩后体积更小。 所以最好的办法是让Apache直接进行gzip压缩。 如果无法修改Apache的httpd.conf文件,尝试再次修改php.ini文件,最后使用修改php文件和WordPress hook的方法

赞(0)
未经允许不得转载:阿强爱分享 » WordPress站点加速:网站开启Gzip压缩加速传输

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址