静态缓存插件

WordPress 建站安装静态缓存插件可以说是必须的,有很多优秀的静态缓存插件,孰优孰劣,不予评判,这里只介绍我自己会用的静态缓存插件 WP Super Cache 的基本使用方法。

推荐的插件并不是主题必须的,请用户根据自己的需要安装

插件安装

进入 WordPress 后台 → 插件 → 安装插件,在“添加插件”页面,搜索“WP Super Cache”,并安装。

安装完插件可以到 WordPress 后台 → 更新 → 更新一下插件中文语言。

 

插件中的广告链接有点拖速度,去掉设置页面的广告链接,并修改版本号禁止其升级提示。

插件设置

启用插件后,进入WordPress后台 → 设置 → WP Super Cache,在“WP Super Cache 设置”页面,直接打开高级选项卡。

在缓存功能选项,勾选“启用缓存”。

在缓存实现方式,勾选“简单模式”。

杂项,缓存限制,分别勾选:

  • 为所有访客启用缓存。
  • 不要为 GET 请求缓存。(地址结尾为?x=y)
  • 压缩页面以便让来访者更快浏览。 (推荐)
  • 缓存重建。当新缓存生成时调用缓存文件给匿名用户。 (推荐)
  • 移动设备支持。(需要外部插件或者主题。参见常见问答了解更多详情)
  • 首页额外检查。 (极少数情况下会停止对首页的缓存) (推荐)

插件设置选项很多,上面的选择只是我自己的习惯,在了解熟习插件功能的情况下,可以根据自己的喜好适当做出调整。

必须勾选“移动设备支持”,否则会造成主题移动端判断函数失效!

静态缓存插件-图片1静态缓存插件-图片1

说明

启用 WP Super Cache 插件后,第一次打开某个页面,可能感觉速度没有什么变化,这是因为静态缓存还没有生成,第二次打开才是缓存后的静态页面。

另外,有些童鞋安装插件后说速度根本没有变化,那是因为勾选了“禁用登录访客的缓存。 (推荐)”,登录者看到的并不是缓存后的静态页面。

可以取消“禁用登录访客的缓存。 (推荐)”勾选,选择“为所有访客启用缓存”,或者退出登录看看效果。

清理缓存

当你改变了前端主题样式或者内容,发现没有变化,可以清理一下静态缓存。

进入WordPress后台 → 设置 → WP Super Cache,在“WP Super Cache 设置”页面,打开“内容”选项卡,点击“删除缓存”即可。

或者直接点击WP后台顶部菜单上“删除缓存”,如果同时安装了Autoptimize也顺便清理一下。

静态缓存插件-图片2

 

另外,还有一个专家模式,缓存效果更佳,这里不再说明,请自行研究。


不缓存某个页面

在高级选项卡,找到:URL字符串被拒绝

默认里面有:

wp-.*\.php
index\.php

可以参考默认的写法:

比如:用户中心链接是:user-center,就将它加进去

user-center.html 这种链接,写法是:user-center\.html

以此类推。


专家模式

以宝塔面板为例,因主机环境不同,设置方法仅供参考!

展开查看

需要修改两处设置。

左侧菜单 → 网站,打开当前网站的设置

在设置窗口中,打开伪静态,如果设置过WP伪静态现有代码一般为:
location /
{
	 try_files $uri $uri/ /index.php?$args;
}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

改为:

location /
{
	 try_files /wp-content/cache/supercache/$http_host$cache_uri/index-https.html
              /wp-content/cache/supercache/$http_host$cache_uri/index.html
              $uri $uri/ /index.php?$args;
}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

保存设置。

打开“配置文件”设置

找到:

    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/域名.com.conf;

在其上面添加:

  # ========= WPSuperCache  =========
  set $cache_uri $request_uri;
  if ($request_method = POST) {
    set $cache_uri 'null cache';
  }
  if ($query_string != "") {
    set $cache_uri 'null cache';
  }
  if ($request_uri ~* "(/wp‑admin/|/xmlrpc.php|/wp‑(app|cron|login|register|mail).php|wp‑.*.php|/feed/|index.php|wp‑comments‑popup.php|wp‑links‑opml.php|wp‑locations.php|sitemap(_index)?.xml|[a‑z0‑9_‑]+‑sitemap([0‑9]+)?.xml)") {
    set $cache_uri 'null cache';
  }
  if ($http_cookie ~* "comment_author|wordpress_[a‑f0‑9]+|wp‑postpass|wordpress_logged_in") {
    set $cache_uri 'null cache';
  }
  # ========= WPSuperCacheEND  =========

保存设置。

之后,到WP Super Cache插件设置页面,勾选“专家模式”,保存设置,并清空一次缓存。


其它缓存插件

如果使用其它缓存压缩插件,比如 WP Fastest Cache

合并CSS需要排除字体文件,将 fonts.css,icons.css 加到CSS排除规则中,否则字体图标不显示。

合并JS后,如果发现有问题,也需要在排除规则中尝试添加:

jquery.min.js,jquery.js,comments-ajax.js,comments-ajax-qt.js,getqqinfo.js

还有其它优化缓存插件,比如 LiteSpeed Cache也需要找到排除选项,排除上面的,只能自己测试了。

其它很有用的缓存插件推荐:

对象缓存插件:Redis Object Cache

Autoptimize 整合CSS和JS