内容型WordPress站点加速提升访问速度方案

虽然已经有许多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直接从硬盘上读取,速度也会明显提升。

WP Super Cache插件下载

类似的缓存插件还有:

W3 Total Cache

如果你的服务器环境是LiteSpeed,则可以使用:

LiteSpeed Cache插件

腾讯云COS + CDN

以上方法还是没有逃离服务器的束缚,比如像我这种使用着便宜甚至免费的虚拟主机,但又想拥有腾讯云服务器般的速度。

这是我目前采用的方案,需要两个插件:

WordPress腾讯云对象存储COS插件

WordPress腾讯云CDN缓存自动刷新插件

腾讯云对象存储的配置:

腾讯云对象存储创建两个私有读写的存储桶,一个用于备份数据库,一个用于存放附件。

存放附件的存储桶需要进行一些设置,在域名与传输管理里,设置自定义CDN加速域名:

腾讯云对象存储COS自定义CDN域名

内容分发管理中,找到添加的这个cdn域名,访问控制里设置防盗链:

beizigen.com
*.beizigen.com

IP访问限频配置: 一定程度上可以预防一些CC攻击,一般小网站设置为10即可。

缓存配置: 缓存键规则配置可以设置为忽略参数。

节点缓存过期配置: 添加一条全部文件的缓存规则,缓存时间最多可设置为365天。

HTTPS配置: 如果使用https访问,还需要设置SSL证书,在腾讯云申请的免费证书可以一键配置。

高级配置: 用量封顶可以设置最多可用流量。

SEO设置: 开启搜索引擎回源。

对象存储COS插件配置: 加速域名填写以上自定义CDN域名,加速范围选择内容。

腾讯云CDN的配置:

腾讯云CDN添加网站的访问域名,例如:

www.beizigen.com

加速类型: 静态加速(全站加速太贵)。

访问控制: 只设置IP访问限频配置即可。

缓存配置: 缓存规则配置不忽略参数。

节点缓存过期配置:

如果你的网站前端所有页面都需要缓存,即没有类似购物车的动态页面,那么只需要添加两条规则:

  • 类型:全部文件;内容:全部文件;缓存选项:缓存
  • 类型:文件目录;内容:/wp-admin;缓存选项:不缓存

如果需要特定页面缓存,则可参考我的设置:

腾讯云CDN缓存规则配置

由于这里我设置了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。

阿里云