WordPress优化之根据Cookies配置CloudFlare缓存规则
前言
WordPress是许多朋友建站的第一选择,因为它足够简单,生态丰富,并不需要多少技术就能轻轻松松搭建起来。然而,WordPress是非常吃性能的,如果不对站点进行优化,小VPS根本撑不起来并发。这时候就有人说了:我可以交给Cloudflare啊,Cloudflare可以帮助我全站加速呀。是的,但是WordPress的文章是动态生成的,如果你只是接入了Cloudflare开启小云朵,那么用户每次访问你的网站,CF的边缘节点都要回源到服务器获取内容,一样是解决不了问题,反而访问速度还会大大增加,本文,我将给大家介绍一下啊如何通过CF的Cache rules来配置缓存,实现网站秒开。
准备
- 域名接入到CF
- WordPress站点
- 手
配置
Wordpress开启伪静态
首先我们进入到WordPress后台,点击设置–>固定连接。
再然后,固定链接结构选择自定义结构,我推荐使用这种数字ID,写法如下:
1 | /%post_id%.html |
后台配置成这样也差不多了,当然如果你的服务器安装了Redis的话我推荐你开启Redis缓存,效果更佳。(插件安装Redis Object Cache并启用即可)
后台配置完之后我们还要配置伪静态规则,如果你使用的是宝塔面板,那将非常简单,只需要点击网站,在弹出的窗口中选择伪静态,点击倒三角选择WordPress,保存即可。
就此,WordPress方面配置结束。
Cache Rules配置
我们首先要明确一下我们的目的,我们想要的有三点:
- 后台、登录页面和搜索页面等动态内容页面不缓存
- 登录的用户所访问的内容是回源的,不缓存的
- 普通未登录访客所访问的内容为缓存的,不需要回源的
在明白了需求之后就很简单了,我们准对每一点需求配置一条合适的规则即可。
第一条:不缓存的目录
进入 CloudFlare 后台,点击对应的域名–>缓存–>Cache Rules–>创建规则,选择自定义筛选表达式
可以通过表达式粘贴再修改,也可以根据自己的主题添加一些特殊的地址,表达式如下:
1 | (http.request.full_uri wildcard "https://你的站点域名/wp-admin/*") or (http.request.full_uri wildcard "https://你的站点域名/*preview=true*") or (http.request.full_uri wildcard "https://你的站点域名/account/*") or (http.request.full_uri wildcard "https://你的站点域名/?s=*") |
缓存资格和浏览器TTL都选择绕过缓存,随后点击部署,第一条规则完成。
第二条:登录用户绕过缓存
进入 CloudFlare 后台,点击对应的域名–>缓存–>Cache Rules–>创建规则,选择自定义筛选表达式
表达式:
1 | (starts_with(http.request.full_uri, "https://你的站点域名/") and http.cookie contains "wordpress_sec_") or (starts_with(http.request.full_uri, "https://你的站点域名/") and http.cookie contains "wordpress_logged_in") or (starts_with(http.request.full_uri, "https://你的站点域名/") and http.cookie contains "comment_") |
缓存资格和浏览器TTL都选择绕过缓存,随后点击部署,第一条规则完成。
第三条:未登录用户缓存所有
同理创建规则
表达式:
1 | (starts_with(http.request.full_uri, "https://你的站点域名/") and not http.cookie contains "wordpress_sec_" and not http.cookie contains "wordpress_logged_in" and not http.cookie contains "comment_") |
注意这第三条是缓存规则,缓存资格选择符合缓存条件。边缘TTL也就是CF边缘节点的缓存保存时间,如果内容更新快的话可以选择短一点时间,如果长期不更新可以选择长一点时间。
浏览器TTL也就是浏览器缓存时间,这个大家随意,另外还有一下其他的配置,大家可以跟我的一样,也可以自行选择。
这时三条规则就配置好了,我们回到Cache Rules看看顺序,必须要按照这个顺序来。
最后还需要在缓存–>配置–>清除所有内容,让缓存规则生效。
测试
未开启缓存:
开启缓存:
总结
优化好WordPress,小鸡也能带的动,加油吧。