共计 1569 个字符,预计需要花费 4 分钟才能阅读完成。
来自 AI 助手的总结
作者将页面缓存与资源优化合并为自研 WordPress 插件 Cache Boost,替代旧插件并使文章体积减少 41%。
中文 英文 韩语 日语
本站一直跑在一台 2C2G / 4Mbps 带宽的轻量服务器上,带宽是第一瓶颈。过去用 WP Super Cache 做页面缓存、Autoptimize 做资源合并压缩,两个插件各管一摊——直到我认真排查了一遍缓存命中率和页面体积,发现两边的坑都不少,索性把两件事合并写成了一个插件:Cache Boost。
现在它已经接管了本站全部缓存与资源优化工作,上述两个插件均已停用。代码开源于 GitHub(GPL-2.0-or-later),欢迎试用与反馈。
为什么自己造轮子
- WPSC 对中文 URL 不友好:mod_rewrite 模式按百分号编码路径落盘,中文固定链接几乎全部不命中,只能退回 PHP 缓存模式。
- Autoptimize 的 HTML 压缩会静默吞代码:先压缩换行再跑 JSMin,内联代码块里的
//行注释会把它后面的所有代码一并吞掉,页面不报错、功能静默失效。 - 两个插件能力天然重叠:都改 HTML、都配浏览器缓存、各有一套失效逻辑,排障时要在两套配置之间来回对账。
核心特性
- 页面缓存:drop-in(advanced-cache.php)在加载数据库之前直接输出静态 HTML;缓存键 md5(host|path),中文 URL 命中正常;gzip 双份落盘;登录用户 / POST 请求 / 带查询串自动跳过。
- 资源优化:CSS/JS 合并压缩、HTML 精简(保护 pre / textarea / script / style,条件注释原样保留)、移除
?ver=查询串(内联代码占位符保护)、图片懒加载。 - 缓存失效:发布 / 更新文章自动清缓存,可配置 all(全清)或 smart(只清本文相关页面:首页、分类、标签、作者、feed、归档);后台管理栏一键「清理本页缓存」。
- 后台统计:命中 / 未命中 / 存储数 / 体积 / 最近 7 天趋势。
- 临期重建与预热:计划任务把接近过期(TTL × 0.8)的页面随机重建,避免缓存集中过期;发布文章时自动预热本文。
- WP-CLI:
wp hcb purge / purge-url / status / preload / refresh。
实测效果
同一台服务器、同一篇文章(含图表与代码高亮),改造前后对比:
| 指标 | 改造前 | 改造后 |
|---|---|---|
| 文章页传输体积 | 1117 KB | 656 KB(-41%) |
| 首页 JS 传输体积 | 981 KB | 323 KB |
| 图标字体 | 387 KB | 75 KB(子集化) |
| 缓存命中 | 中文 URL 常 MISS | 稳定 HIT(响应头 X-HCB-Cache) |
下载与安装
要求:WordPress 5.8+、PHP 7.4+、Apache(浏览器缓存与 gzip 规则依赖 .htaccess,Nginx 需自行补等价规则)。
- 下载最新版:GitHub Releases(当前 v1.1.1);
- 后台上传安装
hcb-cache-boost-x.x.x.zip并启用; - 进入「设置 → Cache Boost」,开启页面缓存与需要的资源优化项;
- 用无痕窗口访问任意文章,响应头出现
X-HCB-Cache: HIT即生效。
源码仓库:itfkybb/Cache-Boost
注意事项
- 与其他页面缓存插件互斥:启用前请停用 WP Super Cache / W3 Total Cache 等;
- 开启 HTML 压缩后,新增内联脚本的注释一律用
/* */,不要用//; - 浏览器缓存 / 静态资源规则由插件生成并写入 .htaccess,手工修改会被覆盖;
- PHP 8.5 / WordPress 6.x 实测可用,其他环境欢迎提 issue 反馈。
更新日志
- v1.1.1:安全修复——wp-config 备份改存 wp-content/hcb-backups/(目录 .htaccess 拒绝访问 + 随机文件名 + 0600/0700),不再落在 Web 根目录。
- v1.1.0:定向失效(smart 模式)、后台管理栏清理入口、WP-CLI 命令、统计原子写入、完整 URL 归一化修复。
- v1.0.0:首个公开版本——页面缓存 + 资源合并压缩 + 懒加载。
欢迎试用、提 issue、点 star。
正文完
发表至: 未分类
近一天内