cooltronicpl / varnishcache
使用Cloudflare或Varnish提高您网站的性能。
Requires
- ext-curl: *
- ext-simplexml: *
- craftcms/cms: ^5.0.0.alpha|^5.0.0-beta|~5.0|^4.0.0|^3.0.0
README
由CoolTRONIC.pl sp. z o.o.和Pawel Potacki共同开发,这是一款缓存助手解决方案,使用静态HTML文件从您的动态CMS项目中生成,并清除Varnish或/和Cloudflare缓存,从而加快页面加载速度并提高Core Web Vitals。
目录
功能
- 静态HTML生成:从您的动态CMS项目中生成静态HTML文件,提高页面加载速度和Core Web Vitals。
- Cloudflare缓存清除:在您更新内容时清除Cloudflare缓存,确保访客总是看到您网站的最新版本。
- Varnish缓存清除:清除Varnish缓存,确保您的网站始终提供最新的文件版本。
- 缓存助手解决方案:提供缓存助手解决方案,便于管理您的缓存并提高网站性能。
- 预加载:提供一种机制来扫描网站地图,这也可以与Varnish和Cloudflare的清除机制一起使用,以确保更新后网站具有最大的加载速度。
安装
要安装此插件,请将以下命令复制到您的终端
# go to project directory cd /path/to/project # Then tell Composer to require the plugin composer require cooltronicpl/varnishcache # tell Craft to install and enable the plugin ./craft plugin/install varnishcache ./craft plugin/enable varnishcache
您也可以直接从Craft CMS插件商店安装插件。
使用
本节提供了如何使用CDN缓存和预加载静态HTML助手插件的高级指导和示例。
从网站地图预加载服务器缓存
一旦在插件选项中启用设置,就会从网站地图中启动服务器缓存的预加载。插件将网站地图中的目标URL添加到预加载队列中。但是,如果CraftCMS 4、3或5未激活,预加载的下一迭代可能会暂停。在下次登录管理面板后,预加载cron将继续运行。这确保了所有网站都在Varnish服务器上连续预加载,并使用PURGE重新创建静态HTML缓存。对于如生成PDF等初始生成时间较长的网站,预加载会在sitemap.xml中列出的第一个网站上启动。预加载之间的持续时间可以从默认值60分钟进行调整。
配置Varnish缓存
插件开箱即用,不需要特殊的缓存标记,除非您想禁用Varnish。如果Craft CMS的DevMode已启用,您需要手动通过激活插件中的'Force On'设置来启用插件。您还可以排除某些URL路径以生成HTML文件。
使用Varnish缓存
Varnish Cache有一个设置页面,您可以在其中启用或禁用它并清除缓存。如果插件工作正常,您将在storage/runtime/varnishcache/
文件夹中看到缓存文件。要检查性能改进,请使用浏览器检查器。在那里,您将能够看到改进的加载时间。
如何使用此插件与Cloudflare配合?
要使用此插件与Cloudflare配合使用,您需要在插件设置中输入您的Cloudflare账户详细信息。您需要以下信息
- 您的Cloudflare API密钥,您可以在您的[Cloudflare账户配置文件]中找到。
- 您的Cloudflare区域ID,您可以在您的[Cloudflare控制台]中找到,在您的域的“概览”标签下。
- 您的Cloudflare电子邮件地址,这是您用于登录Cloudflare账户的电子邮件地址。
输入您的Cloudflare账户详细信息后,您应通过点击“测试Cloudflare连接”按钮来测试与Cloudflare的连接。如果连接成功,您将看到一条通知说“Cloudflare连接成功”。这意味着插件可以与Cloudflare通信,并在您清除Craft CMS缓存时清除Cloudflare缓存。
禁用或清除某些URL
要为特定页面禁用Varnish Cache,您可以在管理面板中禁用此slug,或使用REGEX防止创建整个网站的HTML文件。
{% header "Cache-Control: no-cache" %}
{% header "Pragma: no-cache" %}
要使用Varnish清除特定URL及其相关HTML文件,这将由Craft作业队列执行,延迟由您在clearCustomUrlUriTimeout
函数的最后一个参数中指定的延迟来指定。
示例
{{ craft.varnish.clearCustomUrlUriTimeout("test", "https://domain.com/test/",10) }}
此命令将在延迟10秒后将URL https://domain.com/test/的缓存清除。
常见问题解答
问:更新条目时是否删除所有缓存文件,或者只有相关文件?
A: 仅删除相关的缓存文件,并且在更新后通过Varnish预加载的网站。
问:安装失败,插件无法工作。
A: 确保已创建文件夹storage/runtime/varniscache
,并且有读写权限。
问:如何设置Varnish服务器?
A: 您可以使用我们项目的vcl文件,它包含为Craft CMS修改的WordPress清除机制。
问:我应该为Craft CMS安装哪个分支?
A: 自2.6.0
版本以来适用于3
、4
和5.0.0.alpha
。自2.5.0
以来支持Craft CMS 3 & 4,在此之前,Craft CMS 3.x使用craft3
分支,版本为1.x,而2.x分支用于Craft CMS 4。
问:我的预加载CRON失败。可能的原因是什么?
A: 失败可能是由于sitemap.xml
文件不可访问或其中条目格式不良。请检查sitemap.xml
文件中是否存在任何潜在问题。
问:某些URL预加载失败?
A: 如果某些URL预加载失败,您可以尝试在预加载选项卡中增加预加载时间。如果问题仍然存在,请考虑禁用受影响页面的预加载。
问:如何重置缓存?
A: 要重置缓存,转到设置并启用现在清除所有缓存?选项。别忘了点击“保存”以应用更改。
问:如果插件的控制面板设置与截图不匹配怎么办?
A: 您可能需要清除Craft CMS缓存。转到工具选项卡,选择缓存,然后点击清除缓存。
支持
如果您遇到任何问题或对插件有任何疑问,请在GitHub存储库中创建一个问题,或直接通过craft@cooltronic.pl联系我们。
贡献
我们欢迎为CDN Cache & Preload to static HTML Helper插件做出贡献。请阅读我们的贡献指南并提交您的拉取请求。
许可证
此项目受Craft许可证许可。有关详细信息,请参阅LICENSE.md文件。
变更日志
请参阅CHANGELOG.md文件以获取插件每个版本的更改列表。
版权所有 © CoolTRONIC.pl sp. z o.o.