wordpress在cloudflare免费版上的最佳缓存方案

cloudflare免费版仅支持3个page rule,想要适当的缓存wordpress网站,需要费点心思。

不多说,直接上规则(以本站域名为例):

第1条

www.yaoruisheng.com/*.php*

Cache Level: Bypass
第2条

www.yaoruisheng.com/*.*

Cache Level: Cache Everything, Edge Cache TTL: a month
第3条

www.yaoruisheng.com/*

Cache Level: Cache Everything, Edge Cache TTL: 2 hours

解释各条规则如下:

第1条是 不缓存php的文件,动态网页当然不能缓存了。

第2条是缓存网站下 所有url 带点号的文件,一般大家搞伪静态的时候,也多是将文件名后缀弄成.html吧,这样子文章也会被缓存。这类文件缓存期,我都是设置为长期:一个月。

第3条是所有文件都默认缓存,节点缓存时间是2小时。

cloudflare处理这些规则是按从上到下匹配处理的,如果url同时匹配多条规则,则只应用第一个匹配上的规则。

至于,被缓存的文章如何能刷新?除了等一个月、上cloudflare后台刷新外,还有办法么?办法是有的,我打算写个插件,wordpress后台结合cloudflare api自动刷新缓存。

但是尴尬了,遇到这么一个问题,wordpress登录状态,访问站点的时候,会多出顶部的登录条,html源码里也会出现一些只有登录后才有的js和css引用。。。很尴尬,解决办法只有一个,那就是修改主题。