对WordPress博客的一次彻底优化!

avatar 2019年4月2日18:08:24 2 4,530

前言

也是许多人跟我说我博客越来越慢,我自己也也感觉,于是对博客做了一次优化,虽然做不到特别快,但是也算不错了!毕竟学生机,优化也不好做。(自我感觉优化不懂。)

正文

我分别说一下我对自己博客都做了什么地方的优化,也给你们详细讲一下。

压缩图片

将图片全部压缩了一次,原先在图片都在七牛云,所以压缩很费劲,自己下载下来然后压缩又上传。

这里我说一下如何把图片批量从七牛云下载下来

1、下载官方的批量下载工具:百度网盘下载

链接: https://pan.baidu.com/s/1cJB45K 密码: 3hjr:

提取密码:3hjr

2.我把下载的文件解压,放在我电脑的D磁盘的aaa文件夹下面。如下图所示。

对打开配置文件 runker.conf,然后编辑这个配置文件,如下图所示。

配置文件说明

我修改的例子,把我的七牛下的qncdn域名下的所有公开的文件下载到我电脑上的D磁盘下的abc文件夹下(因为配置文件放在D盘,所有不需要再填写D盘),所以就修改填入我七牛账号的配置文件,如下图所示。你们根据你自己的账号填写。

填写好配置文件,然后就开始执行命令了。键盘【win+R】快捷键【运行】,输入cmd 打开Windows系统的dos命令,如下图所示。

七牛云存储批量下载图文教程6.gif

然后输入【D:】 进入D磁盘目录,然后在输入【cd abc】进入D磁盘下的abc文件夹下面,然后执行命令【 qshell qdownload 10 runker.conf 】(qshell qdownload是命令;10下载的并发协程数量,从1~10 可以理解为下载速度。)。如下图所示。

注意:可能需要精准到目录

减少插件

相对之前来说我博客有许多无用插件,比如SEO工具,主题本身就有 用了插件也没啥用,反而影响访问速度,个别可以用代码实现比如网站地图

一直以来,张戈博客都是用 DX-SEO 这个很好用的中文 SEO 插件生成的 sitemap。今天整理电脑文件时,看到了以前收藏的生成 sitemap.xml 的 php 脚本,就随手打开看了看,发现这个代码只能生成主页和文章页的 sitemap。果断百度了一下,发现网上分享的都大同小异,只有首页和文章页。感觉有点缺憾,反正今天也是闲着,就动手改造了一番,让这个代码更加完善,可以同时生成首页、文章、单页面、分类和标签的 sitemap!

一、PHP 代码

将以上代码保存为 sitemap.php,传到网站根目录。手动访问查看效果,如:https://www.lurbk.com/sitemap.php

二、伪静态

①、Nginx

编辑已存在的 Nginx 伪静态规则,新增如下规则后(平滑)重启 nginx 即可:

rewrite ^/sitemap.xml$ /sitemap.php last;

②、Apache

编辑网站根目录的 .htaccess ,加入如下规则:

做好伪静态规则后,就可以直接访问 sitemap.xml 看看效果了,比如 https://www.lurbk.com/sitemap.xml

数据库优化

服务器优化

使用 Nginx 替代 Apache

虽然 Apache 对于 PHP 的处理更好,但是 Nginx 本身更加轻量,能够花费更少的系统资源。在 Nginx 节省的资源将会用到 PHP 中。

为 PHP 开启 OPCache
什么是 OPCache

当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,OPCode)。OPCode Cache 的目地是避免重复编译,减少 CPU 和内存开销。如果动态内容的性能瓶颈不在于 CPU 和内存,而在于 I/O 操作,比如数据库查询带来的磁盘 I/O 开销,那么 opcode cache 的性能提升是非常有限的。

启用 OPCache

默认情况下 PHP 会安装 OPCache,但是不会启用,我们可以通过在 php.ini 中添加如下代码,开启 OPCache。

; 开关打开
opcache.enable=1

; 可用内存酌情而定,单位 megabytes
opcache.memory_consumption=256

; 对多缓存文件限制,命中率不到 100% 的话,可以试着提高这个值
opcache.max_accelerated_files=5000

; Opcache 会在一定时间内去检查文件的修改时间,这里设置检查的时间周期,默认为 2,定位为秒
opcache.revalidate_freq=240

; 设置缓存的过期时间
opcache.revalidate_freq=0

; 控制内存中最多可以缓存多少个PHP文件
opcache.max_accelerated_files=7963


; 是否快速关闭,打开后在 PHP Request Shutdown 的时候回收内存的速度会提高
opcache.fast_shutdown=1

; 不保存文件/函数的注释
opcache.save_comments=0
为 MySQL 开启 Query Cache

通过为 MySQL 开启 Cache,可以加快 WordPress 的查询速度。

在 MySQL 的配置文件 my.cnf 中添加如下代码,并重启 MySQL,即可开启 MySQL Query Cache。

query_cache_type = 1  
query_cache_limit = 1M  
query_cache_size = 16M


但是,需要注意的是,MySQL Query Cache 并不适合所有场景,如果你的博客浏览量较大、且更新频率不高,可以考虑开启 Query Cache,如果更新频繁且浏览量不大,那么 Query Cache 反而可能带来负效应。

http://www.orczhou.com/index.php/2009/08/query-cache-1/

为服务器开启 Gzip 压缩

为程序加入 Gzip 压缩,可以有效减少传输数据的大小。一般来说,我们可以使用如下几种方式开启 Gzip。

cPanel 可以直接在面板的“优化网站”中开启 Gzip。

在 WordPress 中开启 Gzip

可以在根目录下的 index.zip 中添加如下代码,以开启 Gzip 压缩。

// 此代码需要放在 define('WP_USE_THEMES', true); 后,
ob_start(‘ob_gzhandler’);

通过 Apache 的 .htaccess 文件开启

可以在网站根目录中的 .htaccess 文件中添加如下代码,以开启 apache 的 gzip 压缩:

<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>

通过 Nginx 的 Conf 文件开启

在 nginx.conf 中添加如下代码,则可以开启 Gzip 压缩:

gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_min_length 256;
gzip_http_version 1.1;

gzip_types text/plain text/css text/x-component text/html application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/x-icon image/svg+xml image/jpeg image/gif image/png font/opentype;

通过 php.ini 开启

可以通过给 php.ini 中添加如下代码,来开启 gzip 压缩:

zlib.output_compression=On
zlib.output_compression_level = 5

总结

WordPress优化在于缓存,而且图片不压缩,后悔都没地哭去。

如果你有什么更好的优化方案,欢迎评论留言。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  1   博主  1

    • avatar 搬瓦工 0

      先收藏了 回头也试试

        • avatar 少羽 Admin

          @搬瓦工 成功反馈一下