W3 Total Cache是WordPress的顶级免费缓存插件之一,活动安装量超过100万。但是,它需要在您的站点上进行正确设置才能缓存页面并正常工作。不同部分下有数百种可用设置,您很容易迷失方向。在设置中很容易出错,这会影响页面速度并破坏您网站的布局。特别是当您在页面上使用大量JavaScript时,您应该在部署到实时站点之前在您的登台或测试站点上彻底测试W3 Total Cache (W3TC)。当您发现某些页面布局错乱并希望将它们从缓存中排除时,下面是详细的教程。
为什么要排除特定页面和目录?
从缓存中排除特定页面或目录以进行正确加载的原因有很多。这取决于您在网站上使用的主题和插件。以下是W3 Total Cache插件遇到问题的一些常见案例:
- 当您拥有WooCommerce插件时,产品和购物车页面通常会因W3TC缓存而中断。
- 使用带有jQuery或JavaScript的slideshow轮播会破坏缓存,并且无法正确加载,尤其是在移动设备上。
- 大多数页面构建器插件(如WPBakery)附带的博客轮播元素无法在W3TC中正常工作。
如果您使用严重依赖jQuery的主题,则需要禁用JavaScript的最小化(minification)才能正确加载页面。幸运的是,W3TC提供了一个使用通配符排除页面和目录的选项,以便您可以轻松地将它们从缓存中排除。
觉得W3 Total Cache设置复杂的朋友,可以尝试WP Rocket高级插件来加速您的网站。您会对最小的设置和网站页面速度得分的提高感到惊讶。
从W3 Total Cache插件缓存中排除页面和目录
登录到您的WordPress管理面板并导航到“Performance > Page Cache”部分。向下滚动到“Advanced”部分并查找“Never cache the following pages”选项。
W3 Total Cache Page Cache高级设置
您将看到插件已经在文本框中添加了几行,如下所示。
wp-.*.php index.php
在“Never cache the following pages”文本框中输入页面URL和目录,以将它们从缓存中排除。再次,向下滚动到底部并单击“Save Settings & Purge Caches”按钮以清除旧缓存并保存您的更改。
如何输入页面URL和目录?
W3 Total Cache允许通过多种方式进入要从缓存中排除的页面和目录。您可以使用URL、目录名称、通配符和正则表达式格式。输入您的详细信息时,请确保遵循以下准则:
- 每行输入一个整体,可以是页面URL或目录。
- URL和目录作为相对URL输入到您的域。这意味着您需要忽略站点地址,只输入剩余部分。
以下是您可以输入的一些示例排除规则:
排除格式 | 预期结果 |
---|---|
/showcase* | 域名后以/showcase开头的任何内容都不会被缓存 |
/shop* * | 所有商店页面将被忽略 |
/demo/ | 只有演示目录将被忽略 |
/post-name/ | 指定文章URL不会被缓存 |
/page-url/ | 指定页面URL不会被缓存 |
从缓存中排除内容的其他可能性
除了不包括文章、页面和目录之外,W3 Total Cache插件还允许其他一些可能性。这些选项在“Advanced”下的“Page Caching”菜单可用。
排除指定类别的文章
您可以通过在“Never cache pages associated with these categories”文本框中提及类别标签来排除指定类别下的所有文章。例如,如果您有一个名为“技术”的类别,那么只需将其slug填入,不带前导或尾随斜杠。该插件将从缓存中排除“技术”类别下的所有文章,用户将查看非缓存页面。
根据W3TC中的类别排除文章
排除带有指定标签的文章
与类别类似,您可以根据标签忽略缓存中的文章。请记住输入不带斜线的标记段。
在W3TC中排除基于标签的缓存
排除基于作者的文章
在“Never cache pages by these authors”框中每行输入一个作者姓名。这将从缓存中排除指定作者的所有文章。
根据作者姓名排除页面
根据自定义字段排除文章
自定义字段是您可以在WordPress中存储相关数据的附加字段。您可以使用Gutenberg或经典编辑器中可用的默认WordPress自定义字段将自定义字段添加到您的文章和页面。稍后,您可以根据您在编辑器中添加的自定义字段将页面从缓存中排除。条目的格式应类似于“custom filed=value ”,如下所示。
根据自定义字段排除页面
小心其他选项
如前所述,W3 Total Cache插件的问题是您很容易对设置感到困惑。就在“Never cache….”下方。选项,您会发现更多与排除页面无关的选项,实际上,它们用于包含在缓存中。
- 还有另一个选项称为“Cache exception list”。该插件将缓存您在此框中输入的任何URL或目录,无论您是否使用上述排除方法之一进行了排除。因此,当您从缓存中排除页面时,请确保保留此框。
- 此外,“Non-trailing slash pages”选项对于包含没有尾随斜杠的页面进行缓存非常有用。通常,您可以使用它来缓存XML站点地图和其他在WordPress中没有斜杠的文件。因此,要从缓存中排除页面,您不应在此框中输入URL或目录。
- 最后,保留“Specify page headers”部分,它也用于缓存页面,而不是用于排除。
W3TC缓存选项