对于 WordPress/Typecho 站点来说,要想用好 CloudFlare 防护和加速是一个成体系的事儿,并不是你将站点接入 CloudFlare 就万事大吉了,这也是很多新手站长们的一个主要误区。要想用好 CloudFlare 是需要你熟练掌握了大量的网站、服务器基、CDN、网络础知识,多个方面的结合、配合才能发挥出最大的作用。我们先讲一下 WordPress/Typecho 站点在 CloudFlare 里缓存规则的制定:
1、静态内容强制缓存
随着 CloudFlare 后台的多次升级改版,我们要强制 CloudFlare 缓存站点静态内容可以在CloudFlare 后台——缓存——Cache Rules(向该区域发出的 URL 编码请求会在边缘和服务器进行标准化。)里添加,免费版 CloudFlare 账号可以创建 10 条 Cache Rules 呢!
上图即为明月博客当前要强制 CloudFlare 缓存的静态资源,主要是以目录形式的,这里要根据你自己站点的实际情况选择了,唯一标准就是固定的目录或者静态文件链接,像.php 后缀、包含参数的属于是动态文件是不能强制缓存的。其中第二条/timthumb/*
这个是明月使用的 Dragon 主题特有的缩略图伪静态化后的目录,目前能够伪静态化缩略图片链接的 WordPress/Typecho 主题不多见,所以这里大家要根据自己实际情况哦,直接复制使用的后果自负。
第三条的/upload/*
是为了兼容另一个二级域名非WordPress 站点的,所以大家也可以忽略掉。
第四条是个.json 文件,属于是 PWA 支持的(可以参考【WordPress 站点很有必要借助渐进式 Web 应用(PWA)提升用户体验与 SEO 优化】一文了解),如果你没有安装和启用 PWA 插件,这条也可以忽略不要。
第五条是为了准确的缓存主题自带的静态资源的,大家要根据自己的主题具体情况哦!
理论上 CloudFlare 可以自动判断识别站点的静态资源自动缓存的,但考虑到准确性,明月实测感觉是很有必要单独制定一个这样的缓存规则的。
2、登录状态和非登录状态的区别缓存规则
这个可以说是大部分 CDN 服务的顽疾,尤其是免费 CDN 服务几乎都不支持登录状态和非登录状态的区别缓存规则,幸运的是 CloudFlare 免费版现在就支持了。目前很多优秀的 WordPress 主题几乎都是支持多用户登录,也是网站运营非常需要的一种模式,正好我们可以利用 CloudFlare 实现登录用户不缓存和非登录访客缓存的策略来提升网站浏览速度,同时也能缓解服务器的负载压力,给登录用户提供更好的、更及时的浏览体验。
我们依旧在CloudFlare 后台——缓存——Cache Rules里创建一个规则,如下图:
可以看到这里我们是根据请求传递的cookie
值是否包含wordpress_logged_in
来判断登录和非登录的,这条规则的作用就是只要请求cookie
里不包含wordpress_logged_in
就说明是非登录用户强制 CloudFlare 缓存所有内容呈现给来访者,否则就反之。并且这个cookie
值wordpress_logged_in
同样对 Typecho 站点有效,非 WordPress/Typecho 站点的可以借助浏览器开发者工具查看具体的登录用户cookie
值即可。
具体怎么缓存可以参考下面的截图勾选配置即可:
其实细心的站长们也发现了【静态内容强制缓存】和【登录状态和非登录状态的区别缓存规则】两条规则完全可以合并成一条,这个大家自己用的时候自由配置就是了总之一句话根据自己站点实际情况灵活配置才是王道。
共有 0 条评论