项目状态说明
作者已经开发出适合SEO网站使用的类Wordpress内容管理系统Domai CMS,已经不再使用Wordpress,本网站也已经由Wordpress迁移到了Domai CMS
Super Static Cache 已停止维护。本文保留原有的插件介绍、功能说明和历史更新记录,作为项目归档。
Super Static Cache 是一款 WordPress 缓存插件,旨在为 WordPress 网站提供配置简单、缓存效率高、适用性较强的静态缓存解决方案。
当时国内 WordPress 用户较为熟悉的缓存插件主要有 Wp Super Cache 和 cos-html-cache,它们各自都有不同的特点。
Wp Super Cache 是较为知名的 WordPress 缓存插件之一,功能比较丰富,可以根据需要进行多种配置,并支持缓存过期等功能,在很多网站中都比较实用。
不过,对于内容量较大的网站,如果缓存策略设置不合理,也可能增加服务器的磁盘和管理压力。Super Static Cache 则更偏向于直接生成静态缓存文件,在适合的场景下可以减少 PHP 和数据库的处理。
cos-html-cache 是一款 WordPress 纯静态化插件,可以自动生成静态 HTML 文件。用户再次访问时,可以直接由 Web 服务器返回缓存内容,而不再经过 PHP 处理。
不过,它对固定链接格式要求较高,通常需要使用带 .html 后缀的固定链接,并且缓存文件与程序文件的管理方式相对不够灵活。
Super Static Cache 结合了这两类插件的一些特点,安装和配置相对简单,支持 Direct、PHP 和 Rewrite 三种缓存模式,并可以根据需要设置不缓存的页面。

安装方法
将 super-static-cache 上传到 WordPress 插件目录:
wp-content/plugins/
然后进入 WordPress 后台的插件管理页面,激活 Super Static Cache。
激活之后,进入:
设置 → Super Static Cache
启用插件并选择运行方式。
插件默认处于关闭状态,完成配置后,根据所选择的缓存模式更新相应的固定链接或 Rewrite 规则。
下载地址
由于插件已经停止维护,以下地址主要作为历史项目参考。
- WordPress插件目录
- 在 WordPress 后台插件安装页面搜索 Super Static Cache
- GitHub项目地址
FAQ
1. 缓存后的加载速度快吗?
在 Direct 和 Rewrite 模式下,当缓存文件已经生成后,后续访问可以直接由 Web 服务器返回缓存内容,无需完整执行 WordPress 和数据库查询。
因此可以减少服务器的 PHP 和数据库压力。
不过,实际访问速度仍然与服务器性能、磁盘性能、网络环境以及 CDN 等因素有关。
2. Direct模式和Rewrite模式有什么区别?
Direct模式
Direct 模式会根据固定链接的形式,直接在 WordPress 安装目录中生成缓存文件。
优点是访问过程比较直接,但当网站页面数量较多时,缓存文件可能会与 WordPress 程序目录混在一起,不便于管理。
Rewrite模式
Rewrite 模式会专门建立:
super-static-cache
目录保存缓存文件。
访问请求通过 Web 服务器的 Rewrite 规则判断是否存在对应缓存,如果存在则直接返回缓存内容。
种方式通常更方便管理,但需要正确配置 Apache 或 Nginx 的 Rewrite 规则。
Super Static Cache适合哪些网站?
Super Static Cache 最初是为了满足个人项目需求开发的,因此和其他缓存插件一样,也有自己的适用场景。
如果网站:
- 内容数量较多
- 访问量较大
- 数据库压力较高
- 磁盘空间相对充足
- 内容更新频率不是特别高
那么可以考虑使用静态缓存。
如果网站内容较少、访问量较低,并且页面更新非常频繁,则未必需要使用这种较重的静态缓存方式。
如何清除缓存文件?
最新版的高级设置中,可以根据缓存类型清理缓存。
如果需要清理全部缓存,可以选择:
ALL
然后点击清理按钮。
需要注意的是,缓存清理可能受到服务器权限、文件所有者以及运行环境等因素影响。
如果发现部分缓存无法自动清理,可以检查相关目录权限。
PHP模式有什么特点?
PHP 模式是在 3.0 版本中新增的缓存模式。
与 Direct 和 Rewrite 模式相比,PHP 模式仍然需要 WordPress 和 PHP 参与处理,因此无法做到完全绕过 PHP。
它的特点是:
- 减少部分重复的数据查询
- 对部分 WordPress 插件兼容性更好
- 配置相对灵活
但相应地,它的资源消耗通常也高于直接返回静态文件的模式。
严格缓存模式和非严格缓存模式是什么?
严格模式和非严格模式仅针对 Direct 模式。
主要用于处理不同 URL 形式对应缓存文件的问题。
例如:
www.example.com/archives/1
严格模式下,这类 URL 可能不会直接匹配对应缓存。
非严格模式下,可以生成对应缓存,但服务器可能会进一步重定向到:
www.example.com/archives/1/
也就是带有结尾 / 的标准 URL。
如果使用 PHP 模式或 Rewrite 模式,可以忽略此项设置。
为什么缓存成功之后,搜索功能不能使用?
部分 WordPress 主题的搜索表单目标地址为:
/
而首页缓存生成之后,如果服务器配置中:
index.html
的优先级高于:
index.php
搜索请求可能会直接返回首页缓存,从而导致搜索功能无法正常执行。
解决方法包括:
方法一: 将搜索表单的目标地址修改为:
/index.php
或者 WordPress 对应安装目录中的 index.php。
方法二: 关闭首页缓存。
方法三: 使用 Rewrite 缓存模式。
Super Static Cache Spider是什么?
当网站内容更新时,Super Static Cache 可以自动建立或更新对应缓存。Super Static Cache Spider 是用于自动访问相关页面并建立缓存的爬行程序。如果 PHP 开启了 curl 扩展,可以在日志中看到相关访问记录。这些访问请求通常来自网站服务器自身,或者经过 CDN 等网络服务。Spider 主要在内容发生更新时运行,并不会持续不断地爬取整个网站。
为什么访问会出现403错误,或者返回目录index?
这种情况主要可能出现在 Direct 模式下。例如固定链接使用了多级目录:
/%year%/%monthnum%/%day%/%postname%/
文章 URL 可能类似:
www.example.com/2015/03/02/hello-world/
缓存生成之后,如果用户访问:
www.example.com/2015/03/02/
或者:
www.example.com/2015/03/
这些目录可能没有对应的首页文件。如果服务器关闭了目录浏览功能,可能返回 403;如果开启了目录浏览,则可能显示目录中的文件。对于使用较深层级固定链接的网站,建议使用 Rewrite 模式,可以避免部分目录访问问题。
Rewrite规则如何添加?
使用 Rewrite 模式时,需要在 Web 服务器中添加相应的 Rewrite 规则。在插件设置中选择 Rewrite 模式后,点击升级,系统会自动生成对应规则。当时插件主要支持:
- Apache
- Nginx
对于 Apache,可以将生成的规则添加到:
.htaccess
或者 Apache 配置文件中。
对于 Nginx,则需要将规则添加到网站对应的:
server
配置中。
通常需要将 Super Static Cache 的规则放在其他 WordPress Rewrite 规则之前。
配置完成后,再次点击升级。如果插件不再提示 Rewrite 规则错误,通常说明规则已经添加成功。
为什么Nginx提示location duplicate?
Nginx 中,同一个匹配路径不能重复定义多个相同的 location。
如果服务器原来的 Rewrite 配置与 Super Static Cache 生成的规则存在相同 location,直接复制进去可能会出现:
location duplicate
这种情况下,需要手动合并两个 location 的逻辑,而不是重复添加。
通常应保证缓存相关的判断规则优先执行。
为什么后台发布文章可以更新缓存,采集工具却不能?
Super Static Cache 建立缓存时,会依赖 WordPress 的相关操作。
在后台正常发布或修改文章时,WordPress 会触发对应的动作,插件可以监听这些操作并更新缓存。
但如果采集工具直接向数据库插入数据,绕过了 WordPress 的正常发布流程,插件就无法知道网站内容已经发生变化。
这种情况下,可以考虑:
- 关闭首页缓存
- 使用定时任务更新缓存
- 通过 WordPress 的正常接口发布内容
如何指定单个页面不缓存?
在 3.3.1 版本中,增加了指定单个页面不缓存的功能。
直接在设置中填写不需要缓存的页面地址即可:
一行一个URL
网站内容很多,是否支持缓存压缩?
在内容量较大的网站中,大量静态缓存文件可能占用较多磁盘空间。因此,从 3.3.4 版本开始,Super Static Cache 增加了缓存压缩功能。目前主要支持 Apache 和 Nginx。
Nginx 需要支持:
ngx_http_gzip_static_modulengx_http_gunzip_module
Apache 则需要安装:
mod_headers
缓存模式需要使用:
Rewrite模式
或者:
PHP模式
缓存压缩能够节省多少空间?
插件使用 gzip 对缓存文件进行压缩。实际压缩比例取决于页面内容,例如 HTML、CSS 和 JavaScript 等文本内容通常具有较好的压缩效果。对于内容较多的网站,通常可以明显减少缓存文件占用的磁盘空间。原项目测试中,部分网站可以节省 50%以上 的缓存存储空间。
更新日志
1.x
- 修复安装和卸载时报 Notice 的问题,感谢 @camson 的反馈。
- 修复部分主题在用户登录和未登录状态下页面内容不同,导致缓存异常的问题。
2.0.0
主要更新:
- 支持 Rewrite 模式。
- Rewrite 模式下会在 WordPress 安装目录创建 super-static-cache 缓存目录。
- 支持英文管理后台。
- 修复多个 Bug。
- 文章发布后自动建立缓存。
- 文章修改后自动更新缓存。
- 文章删除后自动删除对应缓存。
2.0.1
优化 Nginx 下 Rewrite 模式的规则。
2.0.2
增加 URL 中包含多字节字符时的缓存支持。
由于 Windows 服务器不同语言环境可能存在字符编码差异,当时暂未提供 Windows 服务器下的多字节缓存支持。
3.0
2015年1月26日更新
主要更新:
- 增加 PHP 缓存模式。
- 增加 Tag、Category 页面自动更新。
- 增加严格与非严格缓存模式。
- 优化缓存删除功能。
- 修复已知 Bug。
3.2
2015年8月14日更新
主要更新:
- 修复之前版本中的部分 Bug。
- 更新后台管理界面。
- 支持用户设置缓存自动建立和重建时机。
- 优化缓存清理功能,可根据需要清理指定类型的缓存。
3.3.1
2016年4月19日更新
- 增加指定单个页面不缓存的功能。
3.3.4
2017年5月17日更新
- 增加缓存压缩功能。
- 对于内容较多的网站,可以明显减少缓存文件占用的磁盘空间。
评论248
欢迎分享你的看法,也欢迎补充不同的实践经验。