梦飞IDC技术人员测试了一款全站缓存静态化的WP插件最新版,可适合于目前最新版的WordPress 5.9.2 ,推荐使用Rewrite模式运行,不影响现有目录结构,增加缓存压缩功能,对于文章较多的网站能够节省50%以上的空间。Super Static Cache是一款WordPress缓存插件,旨在给使用WP的网站提供配置简单,缓存效率高,静态html或者缓存网页,通用性强的解决方案,演示网站:https://www.mfisp.com/。
目前国内WordPress的静态文件或缓存插件中,WordPress super cache和cos-html-cache可能是最为众人所熟知的缓存产品,但是这两个插件各有优缺点。
WordPress super cache最著名的WordPress缓存插件之一,它是一款高级插件,能够根据需要作出很多配置,还能自动设置缓存过期时间,在大多数情况下都非常实用。但是一但数据量多大,就可能因为不合理的设置导致服务器压力过大,出现网站反应速度慢,打不开等情况。Super Static Cache在大多数情况下可以替换它。
cos-html-cache是国人开发的一款WordPress纯静态化插件,会自动生成文静态文档,下次访问会直接通过web服务器而不是php,总体表现良好,但是它对固定链接的要求非常高,必须是带有.html的后缀才能被缓存,而且只有一种缓存模式,所有缓存文件和程序文件混在在一起,非常难于管理。Super Static Cache可以完全替代cos-html-cache。
Super Static Cache集合WordPress super cache和cos-html-cache的特点,安装配置简单,缓存效率高,有良好的交互,有Direct,PHP和Rewrite三种模式,还能根据需要设置不缓存的页面。
安装方法:把super-static-cache上传到WordPress的插件目录,“wp-content/plugins/”,在后台的插件管理中激活super static cache,然后进入设置->Super Static Cache中启用,选择插件的运行方式(默认为关闭状态),然后升级您的固定链接格式。如有疑问,可以询问梦飞科技技术企业QQ800001630。
FAQ
1, 缓存的加载速度快不快?
缓存好之后,下次访问次文章时,web服务器会直接访问这个缓存文件(Direct模式和Rewrite模式),并不通过WordPress,也不会查询数据库,这样节省了很多资源。即使这样,加载速度也会和您的服务器有关系。
2, 直接缓存和重写缓存有什么区别?
直接缓存会根据固定连接的设置,把缓存文件直接存放在WordPress安装目录下,如果页面较多的话,会导致WordPress程序文件和缓存文件混在一起,重写缓存就是专门建立一个缓存存放目录(super-static-cache)来存在这些缓存文件。当然,必须要升级网站的rewrite规则。
3,super static cache适用于哪些场合?
super static cache的诞生起初是为了满足我个人的工作需要,和其它缓存插件一样,有自己适用的场合。 如果你的网站内容很多,访问量大,数据库服务器压力巨大,但是磁盘空间充足,可以选择super static cache,反过来,如果您的网站内容少,流量低,更新频繁,不推荐使用super static cache。
4, 如何清除缓存文件?
最新版本的高级设置里有根据缓存类型清理缓存的选项,如果你需要清理所有缓存,直接选择所有(ALL),然后点击清理按钮即可。需要注意的是,由于服务器环境,权限配置等一些因素,可能导致缓存清理不完的情况,如遇到这种情况,请给我留言。
5, 新增的PHP模式有何特点?
PHP模式是3.0版本中新增的缓存模式,相对其它两种模式,它是最耗费资源的模式,因为这种缓存模式还是需要数据库的支撑,这就意味着如果数据库宕机,网站是打不开的,PHP模式只是减少了数据库的查询次数。它的优点是兼容部分插件。
6, 严格缓存模式和非严格缓存模式是什么?
严格模式和非严格模式仅针对Direct模式,它要解决的是关于URL的问题,严格模式下,类似www.weimahe.com/archives/1这种url是不能被缓存的,非严格模式下,这类的url会被缓存,但是第二次访问服务器一般会重定向到www.weimahe.com/archives/1/(注意后面的斜杠)。如果你使用PHP模式或者Rewrite模式,忽略这项配置即可。
7, 为什么缓存成功之后,搜索功能不能用了?
搜索功能不能使用是因为搜索表单的目标地址地址是”/”, 而”/”指向的是目录index,很多服务器的index.html的优先级比index.php高,所以操作搜索功能失效。解决办法: a, 把搜索的目标地址改成”/index.php”(或者WP相应安装目录的index.php)。b, 关闭首页缓存。c, 使用Rewrite缓存模式。
8, Super Static Cache Spider是什么?
当内容更新时,Super Static Cache会自动建立缓存,Super Static Cache Spider是自动建立缓存的爬行蜘蛛,php开启curl扩展,日志中才能看到Super Static Cache Spider的爬行轨迹,它的来源IP为您的服务器或者CDN提供商的IP地址。Super Static Cache Spider只会内容作出更新时爬行,演示网站:https://www.mfisp.com/。
9, 为什么访问会出现403错误或者返回目录的index?
当使用Direct模式,并且固定链接含有多级目录设置,如/%year%/%monthnum%/%day%/%postname%/时,网站的文章的url是类似www.weimahe.com/2022/03/02/hellow-world/,当缓存生成之后,访问www.weimahe.com/2015/03/02/,www.weimahe.com/2022/03/等时要么返回403(web服务器没有开启autoindex时),要么返回相应目录的index(web服务器开启autoindex时)。如果你的网站的固定链接是类似上面这种深层次的,推荐使用Rewrite模式,可以避免此问题发生。
10, 伪静态规则怎么添加?
当使用Rewrite模式时,需要往web服务器上添加伪静态规则,伪静态规则的生成办法是,选中rewrite模式,点击升级,系统会自动生成伪静态规则(暂时只支持apache和nginx)。对于apache,要把生成的伪静态规则添加到网站的.htaccess或httpd.conf里;对于nginx,则需要把伪静态规则添加到相应配置的server字段里。添加时,注意要把这个伪静态规则添加到所有伪静态规则的之前。添加之后,再次点击升级,如果提示消失,则表明规则添加正确。
11, nginx上为什么会提示location Duplicate(location字段重复)?
Nginx一个路径只支持一个location,如果在添加Super Static Cache之前,你的Nginx有和插件系统的伪静态规则一样的location,把两个伪静态合并到一起,然后添加到服务器。注意保持插件的伪静态规则在前面。
12, 为什么我在后台发布文章,缓存可以更新,用工具采集,缓存就不能更新?
Super Static Cache缓存建立的原理是根据系统的动作,在后台发布文章时,系统能够监测到相关动作并建立缓存,如果直接把数据插入到数据库,系统会因为监测不到动作也不能建立缓存。如果你的网站使用工具进行采集,推荐在设置页面取消首页缓存,或者使用crontab等工具定期更新首页缓存。
13, 我想指定单个不被缓存的页面
在3.3.1版本中加入了指定单个不需要缓存页面的功能,直接在此处填入不想要缓存的页面网址即可,一行一个。
14, 我的服务器网站多,单个网站内容也多,能否支持缓存压缩?
由于某些网站内容较多,庞大的缓存页面占据较多的硬盘空间,所以Super Static Cache在最新的3.3.4版本中开始支持对缓存文件进行压缩,目前支持apache和nginx服务器,nginx的支持程度更高一些,要使其工作正常,nginx必须安装ngx_http_gzip_static_module和ngx_http_gunzip_module两个模板,apache必须安装mod_headers模块,缓存模式须为rewrite模式或者php模式。
15, 缓存压缩能节省多少空间?
插件采用gzip压缩库,详细信息可访问http://www.gzip.org/,一般情况下看来,节省50%以上的空间是没有问题的。