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

背字根

虽然已经有许多WordPress优化加速的教程和方案了,但我目前所采用的加速方案或许正好适合你,并且我所采用的方案操作上也比较简单。

先来看下比较常见的几种方案:

Memcached加速

WordPress自带有缓存机制,在开发插件或主题时,主要涉及两个函数:

  • wp_cache_get()
  • wp_cache_set()

在自定义查询中,应该充分使用WordPress的对象缓存。一般尽可能使用WordPress自带函数来获取数据,而不是自己编写数据库查询。

启用Memcached缓存需要主机支持Memcached扩展,VPS主机可以自己安装,一般虚拟主机都不支持。

下载Memcached插件

这不是传统的插件,所以不能在后台安装,解压后得到:

object-cache.php

上传这个文件到wp-content目录中。

使用Notepad++之类的纯文本编辑器:

wp-config.php

添加WP_CACHE_KEY_SALT常量:

define('WP_CACHE_KEY_SALT', '随机字符串');

添加WP_CACHE_KEY_SALT常量的目的是防止同一服务器多个WordPress开启Memcached缓存发生冲突。

设置服务器信息:

$memcached_servers = array(
	'default' => array(
		'10.10.10.20:11211',
		'10.10.10.30:11211'
	)
);

如果不设置,默认为:

127.0.0.1:11211

Memcached缓存可以减轻数据库的压力,另外,从内存中读取缓存数据也要快速得多。

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。

个赞
扫码关注背字根

一个热爱Web开发的大男孩