Joomla! 缓存
如果您想优化您的Joomla!网站,如果您想通过提供更快速、更流畅、更愉快的导航来提高访客的满意度,那么本文的内容可能正是您所需要的。
Joomla!中您原生可用的一个解决方案是缓存管理。您可能(或多或少)知道这个选项,它正是用来提高您网站显示速度的。
我们将通过本文了解这个缓存是如何工作的,您将如何从中受益,甚至进行一个简单的实践练习。
什么是缓存?
可以将缓存定义为存储临时信息的单元,以便以后重新使用。
缓存系统临时存储整个或部分网页,并在用户请求时显示。在不连接到数据库的情况下,网站对互联网用户响应更快。
为什么使用缓存?
估计从存储的信息中检索比原始数据生产快得多(高达10倍)。但让我们回到Joomla!,特别是我们这里处理的,即缓存的实现。Joomla!创建静态页面(与动态页面相对)的临时副本。当网站需要多次显示相同内容时,缓存特别适合Web应用程序,如果没有缓存,则必须为每个页面视图生成所有内容。
这有用吗?
是的,但... 有多种方法可以提高Joomla!网站的显示速度,而缓存是其中之一,前提是您要明智地使用它。Joomla!还提供了在不同级别和不同位置(组件、模块、插件和页面)设置缓存的可能性。
1. 缓存设置
Joomla!通过启用缓存来原生提高您网站加载速度。为此,请登录到管理面板。然后点击“系统”->“配置”。在“系统”选项卡中,您有一个名为“缓存设置”的段落,其中包含三个选项。
- 缓存已禁用:仅在网站创建阶段使用。这允许您立即在屏幕上看到更改。
- 保守缓存:缓存的第一级。不过,此选项允许您选择要缓存的模块。您可以通过“高级设置”连接到每个模块并单独进行设置。保守缓存更适合经常更新的网站 - 您可以删除包含动态内容的模块的缓存。
- 渐进式缓存:最高级别的缓存,包括模块。此设置会影响所有模块并替换模块内部的所有缓存单个参数。然而,此类缓存不适合非常大的网站和更新频率较低的网站。
如果我们查看模块(“高级设置”选项卡)中可能的缓存设置,我们会发现我们只有两个选项可供选择
- 全局设置:根据全局配置中确定的设置,缓存将是保守的或渐进的。
- 无缓存:如果全局配置中选择保守缓存,则此模块将禁用缓存。
2. 缓存管理
回到全局配置,具体到“缓存设置”段落,您有一个名为“缓存管理”的第二个选项。要使用除“文件”之外的其他选项,您必须安装相应的扩展。
3. 缓存持续时间
最后一个选项涉及缓存的持续时间。您的网站越动态,此值应越低。如果您将默认设置保留为15分钟,则页面的更改将每15分钟出现一次。相反,如果您的网站更新得更频繁,则可以缩短此持续时间。如果您的网站很少更新,则在此处设置较长的持续时间是完全可以接受的。
4. 页面缓存
要激活此参数,请转到“扩展”然后“插件管理”,并激活系统插件 - 缓存。
简而言之,此插件“拍照”整个页面,包括组件、模块、插件和模板。这是最快的,但也是所有缓存选项中灵活性最差的,因为它覆盖整个页面,没有任何区分。
5. 浏览器缓存
激活此选项的地方相同:系统插件 - 缓存。
使用浏览器缓存时,每当有人访问您的页面(或图像)时,其浏览器都会进行复制。如果用户稍后请求查看此页面(在一段时间内),而不是调用互联网,则浏览器将显示本地存储的版本。这会使您的Joomla!网站速度更快。
6. 缓存管理
在某些情况下,您可能需要缓存网站的一部分,而不是另一部分,根据菜单级别进行缓存,或根据浏览器类型或移动设备进行不同级别的缓存。在这种情况下,我强烈建议您转向“Joomla 扩展目录TM”中可用的第三方扩展。这使您能够完全控制缓存并根据您Joomla!网站页面内容类型对其进行调整。
7. 缓存优化练习
具体来说,这个想法是为某些类型的文件指定一个过期时间。在达到这个限制之前,资源不会被重新下载,浏览器中之前加载的版本将被显示。唯一的危险是,在此期间被修改的资源不会被考虑,但对于大多数网站来说,这不应该是个问题。
首先,我们将修改 .HTACCESS 文件,为其添加新的规则
- ETag:告诉浏览器该图片已经被下载,不需要重新加载
- Expires headers:与 ETag 功能相同,但针对不同类型的文件更加具体
- AddOutputFilterByType DEFLATE:通过删除空格来压缩指定的文件类型
您可以在您的 Joomla! 网站的根目录下找到 .HTACCESS 文件来指定这些规则。请注意,如果您使用的是 htaccess.txt 文件,则此方法不会生效。您必须将其重命名为 .htaccess。您可以根据您在网站上使用的不同类型文件以及您想要的过期时间来指定您的规则。以下是一个示例,以说明这个练习
< IfModule mod_expires.c> FileETag MTime Size AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript ExpiresActive On ExpiresDefault "access plus 1 seconds" ExpiresByType text/html "access plus 600 seconds" ExpiresByType text/css "access plus 604800 seconds" ExpiresByType text/javascript "access plus 216000 seconds" ExpiresByType application/xhtml+xml "access plus 600 seconds" ExpiresByType application/javascript "access plus 216000 seconds" ExpiresByType application/x-javascript "access plus 216000 seconds" ExpiresByType image/x-icon "access plus 2592000 seconds" ExpiresByType image/jpeg "access plus 2592000 seconds" ExpiresByType image/png "access plus 2592000 seconds" ExpiresByType image/gif "access plus 2592000 seconds" < /IfModule>
请注意,您的 Apache 服务器必须支持 mod_expires(您可以从您的托管提供商或服务器上检查)。出于安全考虑,在标签中存在一个 if
指令。如果您的托管提供商不支持 mod_expires,则您的网站可能会崩溃(或您的本地安装)。使用 if
指令,下面的代码将根本不会执行。
您可以通过添加更多规则来修改此代码,以处理您使用的其他类型文件(.mpeg、.woff 等),或者调整不同的过期时间,如果它们不符合您的需求。
有关在 .HTACCESS 文件中使用规则的更多信息(特别是安全规则),请参阅 Joomla! 关于此的文档。
在您网站上做出任何更改之前,我建议您进行备份(并测试备份)并使用 .HTACCESS 文件的副本进行工作。在每次干预之前和之后,检查对缓存的更改是否真正提高了您的 Joomla! 网站的速度。一旦获得了正确的设置,请保存您的网站。
8. 建议
我们已经看到,Joomla! 从全局配置和系统插件中提供了缓存管理。两者之间有什么区别?实际上,插件管理一个基本缓存,它“拍照”页面,而通过全局配置,Joomla! 允许元素化地管理缓存。对于纯静态网站,插件是一个很好的补充,但随着 Joomla! 的不断发展,这种情况越来越少。
要手动清理您的 Joomla! 网站的缓存,您可以
- 从后端:选择 "系统" -> "清除缓存"。在显示的列表中,您可以选择要删除的文件,并决定保留其他文件
- 通过 FTP 在您的 Joomla! 网站根目录下的 "cache" 文件夹中
如果您激活了系统插件 - 缓存后,发现图片无法正确显示,这可能是由于插件顺序(Joomla! 中元素的顺序很重要)有关。要纠正此显示错误,请确保缓存插件在系统插件列表中的最后位置。然后,您的图片应该都会按顺序显示。
9. 源和资源
http://docs.joomla.org/Cache
http://forum.joomla.org/viewtopic.php?f=428&t=326990&start=0
10. 结论
正如我们所见,良好的缓存管理可以优化您的Joomla!网站的显示速度,并最终提升用户体验。尽管这个选项有其优势,但它主要用于静态网站或更新很少的网站。对于经常甚至非常频繁更新内容的网站,建议选择按页面和/或按扩展进行缓存管理。
《Joomla社区杂志》上发布的某些文章代表了作者对特定主题的个人观点或经验,可能并不代表Joomla项目的官方立场。
通过接受,您将访问https://magazine.joomla.net.cn/之外的第三方外部服务
评论