虽然已经有许多WordPress优化加速的教程和方案了,但我目前所采用的加速方案或许正好适合你,并且我所采用的方案操作上也比较简单。
先来看下比较常见的几种方案:
Memcache加速
WordPress自带有对象缓存机制,在开发插件或主题时,主要涉及以下函数:
- wp_cache_get()
- wp_cache_set()
- wp_cache_delete()
在自定义查询中,应该充分使用WordPress的对象缓存。一般尽可能使用WordPress自带函数来获取数据,而不是自己编写数据库查询。
启用Memcache缓存需要主机支持Memcache扩展,云服务器可以自己安装,一般虚拟主机都不支持。
另外,还需要安装Memcached Object Cache插件。
Memcached Object Cache插件安装方法:
解压出插件包中的object-cache.php文件,上传到wp-content目录。
在wp-config.php中添加:
define('WP_CACHE_KEY_SALT', '自定义Key');
添加Key是为了防止多个WP站点同时开启Memcache缓存导致冲突。
WP Super Cache
这是比较有名的一款缓存插件,可以将数据缓存为静态文件,绕过PHP直接从硬盘上读取,速度也会明显提升。
类似的缓存插件还有:
如果你的服务器环境是LiteSpeed,则可以使用:
腾讯云COS + CDN
以上方法还是没有逃离服务器的束缚,比如像我这种使用着便宜甚至免费的虚拟主机,但又想拥有腾讯云服务器般的速度。
这是我目前采用的方案,需要两个插件:
腾讯云对象存储的配置:
在腾讯云对象存储创建两个私有读写的存储桶,一个用于备份数据库,一个用于存放附件。
存放附件的存储桶需要进行一些设置,在域名与传输管理里,设置自定义CDN加速域名:
在内容分发管理中,找到添加的这个cdn域名,访问控制里设置防盗链:
beizigen.com *.beizigen.com
IP访问限频配置:一定程度上可以预防一些CC攻击,一般小网站设置为10即可。
缓存配置:缓存键规则配置可以设置为忽略参数。
节点缓存过期配置:添加一条全部文件的缓存规则,缓存时间最多可设置为365天。
HTTPS配置:如果使用https访问,还需要设置SSL证书,在腾讯云申请的免费证书可以一键配置。
高级配置:用量封顶可以设置最多可用流量。
SEO设置:开启搜索引擎回源。
对象存储COS插件配置:加速域名填写以上自定义CDN域名,加速范围选择内容。
腾讯云CDN的配置:
在腾讯云CDN添加网站的访问域名,例如:
www.beizigen.com
加速类型:静态加速(全站加速太贵)。
访问控制:只设置IP访问限频配置即可。
缓存配置:缓存规则配置不忽略参数。
节点缓存过期配置:
如果你的网站前端所有页面都需要缓存,即没有类似购物车的动态页面,那么只需要添加两条规则:
- 类型:全部文件;内容:全部文件;缓存选项:缓存
- 类型:文件目录;内容:/wp-admin;缓存选项:不缓存
如果需要特定页面缓存,则可参考我的设置:
由于这里我设置了js/css等静态文件规则,所以对象存储COS插件里的加速范围仅选择内容。
其他规则根据网站URL格式实际情况添加,最后一条文件目录wp-admin不缓存是排除网站后台的静态文件。
HTTPS配置:如果使用https访问,还需要设置SSL证书,在腾讯云申请的免费证书可以一键配置。
高级配置:用量封顶可以设置最多可用流量。
SEO设置:开启搜索引擎回源。
CDN插件配置:勾选发表文章、更新文章时自动刷新缓存等选项。
小结:
之所以COS插件要单独设置一个加速域名,是为了设置防盗链防止文章图片被盗链浪费流量。
网站域名CDN缓存配置添加静态文件后缀规则,而不在COS插件里配置全站加速,是因为洁癖,不想在存储桶中看到js等文件。
腾讯云COS老用户永久免费50G存储空间、每月10GB的CDN回源流量、每月10GB外网下行流量。
腾讯云CDN目前每月发放60GB流量包,不知道发放多久。
即使超出了免费配置,中国大陆流量0.21元/GB也还是能接受的。
粗略计算了一下,像我这种站点50GB月流量大概能支撑每天3000PV。