百度云加速或360网站卫士关于WordPress评论缓存的巧妙设置

开启云加速或网站卫士的 html 缓存后,文章和页面将缓存到 CDN 节点,导致用户评论之后无法及时显示,必须等到 CDN 节点刷新缓存才能展示已有评论。

那么就会出现这样一个问题:当管理员回复了用户评论时,WordPress 会给向用户邮箱发一封评论被回复的通知邮件。可是,用户点击邮件的评论链接之后,却无法看到管理员的回复,也就无法二次回复管理员了。

本来,我想可以用 ajax 动态加载评论列表,避开缓存的。可惜,空有想法却不会实现!希望有懂 PHP 和 JS 的朋友指点一二,实现这个还没人分享过的技术!

当我无聊翻看邮箱已发送邮件时,发现 WordPress 发出评论回复通知中,评论链接地址是这样一种形式:

http://zhangge.net/liuyan/comment-page-8/#comment-8171

那就好解决了,直接在百度云加速或网站卫士的缓存黑名单里面排除带 comment 或 page 关键字就可以了!

比如,360 网站卫士可以这样设置:

百度云加速或360网站卫士关于WordPress评论缓存的巧妙设置

同样的,如果是百度云加速,也可以如下设置:

百度云加速或360网站卫士关于WordPress评论缓存的巧妙设置

保存设置之后,再去访问带 comment-page 关键字的页面,就不会被缓存了,而是展示最新内容。现在,从评论邮件点击过来的用户就可以看到管理员的最新回复了,是不是很巧妙呢?

百度云加速和 360 网站卫士的缓存黑名单都是支持通配符的,所以只要你挑选一个通用的关键词+通配符,就能避开缓存了,本文正式利用这一点,解决了 CDN 缓存带来的困扰。

评论已关闭!