说到 CloudFlare (CF) 七七八八的功能中 其实最值钱的最好用的应该是页面规则 (Page Rules). 可惜这个在免费版本中最多只能创建3条. 而在付费的Pro版本中可以创建20条. 我现在手头上有15个域名, 其中5个是PRO, 早期有 Early Bird, 所以有3个域名是折扣价每个月5美元的.
页面规则会优先于于其它指定的缓存规则 例如 .htaccess 指定的缓存有效期会被 CF的页面规则重写. CF有一个缓存所有, 这个是会把动态的网页给缓存起来的, 这一来是加快页面加载速度, 二来是可以减少你源服务器 (Origin) 的负担. 这个在一些不是很经常更新的页面的是很好用的, 其实很多页面都可以缓存所有, 但只要你页面不包含有POST到当前页的功能(比如WP的自带评论), 就可以大胆的利用缓存所有来加速.
有评论的也可以通过: (1) 禁用某一页的评论 (2) 使用第三方评论功能替代 e.g. Disqus 或 多说 (3) 使用 ajax 评论.
处理掉这些含有动态功能的页面后 就可以通过页面规则 来设置: Cache Level = 缓存所有, Browser Cache TTL: 一般我设置8天, Edge Cache TTL: 1小时, 这个时间是CF服务器多久需要去你的源服务器查看是否有更新 当然是越短越好 可惜, 免费的最短是2小时 而 PRO版本是1小时. 不过对于小型博客来说是足够了.
本博客缓存所有的页面有:
- 首页, 不用说 访问最频繁.
- 分页, 包括搜索分页 e.g. *justyy.com/page/*
- 搜索项 e.g. *justyy.com/?s=*
- 标签 e.g. *justyy.com/tag/*
- 类别 e.g. *justyy.com/category/*
- 音频和视频 e.g. *.mp3, *.mp4
- 所有文章存档
- 评分
- 热贴
- 论坛首页
- QR二维码URL动态引用
- 站点地图 e.g. *justyy.com/sitemap*
- Feed e.g. *justyy.com/feed*
- robots.txt
这样一来加上其它一些不缓存的页面, 20条就差不多用完了, 当你更新文章的时候就需要手动的清理一下个别的页面, 或者你可以将缓存时间设置成1天也可以.
GD Star Rating
loading...
本文一共 528 个汉字, 你数一下对不对.loading...
上一篇: 博客因为添加插件导致在中国变慢的原因及经验教训
下一篇: CloudFlare 在中国访问速度确实不行
扫描二维码,分享本文到微信朋友圈
你的博客不用代理是打不开的,坐标江西电信.
瓶颈:https://ajax.cloudflare.com/cdn-cgi/nexp/dok3v=0489c402f5/cloudflare.min.js
多谢反馈, 我向CF反映一下
CF会去处理这种被墙的问题吗
我估计如果提的人多了 至少会做些优化吧.
不懂了, 也是试试,国内的网络环境实在是参差不齐的.北上广会好一些.内部一些城市就很难保证了.
https://justyy.com/archives/3400
有没有可能帮我 生成一个HAR文件 这样可以帮助 CF 调试这个问题?
已邮件.但这次测试并没有出现cloudflare.min.js,而是addthis的一个文件,奇怪了.
墙的问题应该不是网络环境的问题,管的是出国通道吧.
是的 我发现可能是暂时的问题, 有时候 DNS 查找花了 5秒.
有没有办法让CF缓存全站,也是用的WORDPRESS,并且首页发布文章后马上更新
第一条:
*justyy.com/ By pass cache
第二条:
*justyy.com/wp-admin* By Pass cache
第三条:
*justyy.com/* Cache Everything.
这样是不是就是不缓存首页了啊,其他的页面全缓存,一般来说首页的速度还是很重要的,PASS后首面的图片和CSS类的还缓存吗?
PASS后首页的图片和CSS类的还缓存吗?
静态资源(CSS,JS,还有图片) 默认是缓存的, 缓存所有是把PHP动态的也缓存了.
这样是不是就是不缓存首页了啊,其他的页面全缓存,一般来说首页的速度还是很重要的,PASS后首面的图片和CSS类的还缓存吗?
关于Edge Cache TTL的行为有些疑惑.如果当到期失效后会主动pull新内容,那么当然是时间越短越好.可如果到期后只是缓存失效,而并不会主动pull,只有当新访客请求时才去pull,那么时间设置的越短反而可能导致网页响应变慢.到底Edge Cache TTL的行为是哪种呢?
应该是到期了主动去PULL,所以是越短越好.
免费帐号最短可以设置的时间是2小时.
PRO帐号最短可以设置成1小时.
主要问题是缓存后会保存页面的所有数据, 即使新房客也会看见是已登录状态的.
可以在WP里把上面的登陆状态条去掉.
免费的只有三条规则 评论数据显示总是不及时 可以分享你的规则么
是的,免费的有3条,PRO有20条。
我现有10个域名是免费的,5个域名是PRO
评论数据显示不及时有可能是把动态的内容也缓存了。比如你把整个页面都Cache Everything了。
我一般只是把 page, search这些不带评论的页面给缓存了,post这种就最好不要cache
cache的时候可以选择短一点的时间,browser cache with TTL, 还有就是那个 edge 检查时间改成最小。
有空余位置可以加: always https, 还有就是 把 domain.com forward成 http://www.domain.com或者反过来。
时间设置短 好像还有点作用 感谢你的解答👍