前几天,我已经开了一个很大的网站,我想合并一个缓存插件。该设置是在单个站点上运行的,具有一些Buddypress功能的混合功能(用于用户注册,带有gpress的地图,具有配置文件)在共享主机上运行。

我的问题是:
1。给定此设置后,您认为哪个插件最适合缓存?为什么(如果可能)?
2。在设置过程中应采取/考虑的最佳做法和步骤是什么,以确保一切正常?
3。我自己添加的transients是否仍然可以使用,还是应该删除它们并留下插件来解决?如果不移除,它们会发生冲突吗?

谢谢!

添加:http://www.inmotionhosting.com/hostingplans.html上的“电源”计划

评论

您可以提供服务器或托管详细信息吗?

#1 楼

在共享托管计划中,您的缓存选项受到限制。
您将只能静态缓存页面的html输出。这是最快的页面服务方式,但是您会失去WordPress的动态方面,例如发表评论和查看帖子的最新评论。
有对象和数据库可用的磁盘缓存选项,但是除非主机运行快速驱动器,否则
所有缓存插件都可以选择不为登录用户或任何带有注释cookie的用户提供缓存页面。
登录的用户+已知的用户=没有缓存
未知的用户将获得已缓存的页面。
瞬态
瞬态是指一小段数据,这些数据将在某个时间到期。 WordPress将瞬变存储为数据库中的缓存。如果您可以选择使用Memcache,则WordPress会将瞬态数据保留在内存中。瞬态很好,因为它们可以减少数据库查找。它们也非常适合用于社交网络,例如显示您的最新推文。这样可以避免在每次页面加载时都调用twitter api。
使用高性能网站最佳实践的插件是W3 Total Cache。

W3 Total Cache的功能不只是缓存
W3总计:

页面缓存
对象缓存
数据库缓存
minify
浏览器缓存
CDN集成
>
对于共享主机集,应启用页面缓存,缩小,浏览器缓存和自托管CDN选项。
页面缓存设置
检查页面缓存的所有选项

缓存预加载
将其打开,并将更新间隔设置为适合您的站点的时间。这将以给定的时间间隔重建页面缓存。

缩小设置
选择重写URL结构,如果要使用CDN,请检查自动上传,以便新缩小的文件将自动上传到CDN。

缩小HTML
启用并检查删除换行符,内联js和CSS最小化。如果您使用adsense或其他使用注释词干的服务,请在此处输入注释,以免它们被缩小。您想要合并并缩小。还有一个帮助向导,它将搜索您所有的模板并为您添加建议的文件。
使用帮助向导
W3 Total包括一个可遍历主题模板并查找Javascript和CSS文件的工具。使用并提供建议的设置。首先尝试这些设置,遇到问题请返回并根据需要进行修改。任何以红色突出显示的文件都是您已经包含在内的要缩小的文件。最好在<head>之前放置尽可能多的内容。如果有任何插件添加内联js,您将无法在<body>之前使用jquery或插件js,因为它将需要在任何内联</body>标记之前加载。您可以在每个位置和每个模板中包括文件的任何组合。例如,您可以将comment-reply.js设置为仅在single.php上加载。
浏览器缓存设置
这是最重要的一种。如果您将静态内容正确地缓存在用户浏览器中,则可以大大减少页面加载时间。 “不为静态对象处理404错误”浏览器缓存设置对于共享托管来说是一大胜利,因为调用PHP并将404页返回给bot等资源占用了大量资源,并且此功能可防止
常规
检查一切

CSS和JS文件
检查所有内容并将过期的标头生存期设置为很长的将来。 31536000秒是1年,是yslow建议的时间。如果对CSS或javascript进行了更改,则必须更改文件名以防止用户使用旧版本。如果您使用minify,则不必担心会提供过时的内容,因为每次重建minify高速缓存时都会生成一个新文件名。 br />还有两个浏览器缓存设置部分。 HTMl和图像。对于图片,请使用与CSS和JS相同的设置。如果需要,可以增加图像的过期时间。
对于HTML,除非您的网站主要是静态的,否则请不要设置过期时间。如果需要的话,可以使用较短的生命(180秒),但是我不会更高。启用gzip,然后您可以检查设置的W3标头,以便检查响应标头以确保它们正常工作。源推送CDN和强大的自托管选项,要求您设置子域和cname。
自托管CDN将使您能够利用流水线技术。浏览器一次只能下载几个文件,在某些情况下只能下载4个文件。流水线技术是一种使用服务器别名(例如子域)来允许浏览器增加可以并行下载的文件的实际限制的技术。这样做可以最大程度地提高Internet连接的吞吐量,并允许浏览器更快地呈现页面。一旦正确配置了DNS CNAME(别名)和子域,W3TC就会透明地管理这些文件。
选中所有选项,然后单击上载按钮以将所有内容上载到CDN。如果使用自托管,则还有另一个设置页面可放入ftp信息。对于原始推送CDN,它是根据您使用的提供程序进行配置的。对于源出站,您不上传任何文件,而仅将cname设置为提供程序为您提供的url。注意:除非新文件不起作用,否则不要选择强制替代。即使文件已经存在,强制覆盖也会不断将文件上传到cdn,这会浪费带宽和资源。

测试
您应该始终测试结果并相应地调整设置。我喜欢使用WebPageTest.org。为了比较我的结果并发现任何潜在的问题。
在共享共享的WordPress上使用W3 Total Cache可以提高性能吗?
这些是我们添加W3的WordPress博客的前后结果。总计。
之前:

之后

希望对您有所帮助。

评论


谢谢,非常详尽和彻底的回答!你绝对推荐这个插件吗?你有尝试过其他吗?

–提交
2010-09-27 22:15

@Amit我尝试了WP超级缓存,hyber db缓存,apc对象缓存后端和batcache。没有其他缓存插件具有所有这些功能。

– Chris_O
2010-09-27 22:35

再次感谢!我一定会尝试的。顺便说一句,您是否建议删除我添加到htaccess中的所有临时代码和内容(例如gzip等)?

–提交
2010-09-28 21:19

最好的办法是测试和基准化不同的设置,以找到最适合您的环境的方法。

– Chris_O
2010-09-29 23:54

#2 楼

不要使用W3 Total Cache,它会减慢速度并破坏您的页面。我建议最好使用超级缓存和Page Speed Ninja。或使用LiteSpeed Cache进行对象缓存以及CSS和js优化,或者使用Cache Enabler进行静态html文件创建。因为litespeed不会创建静态缓存,因为静态缓存必须在http服务器中具有lscache模块,并且仅litespeed或openlitespeed HTTP服务器支持。

#3 楼

使用.htaccess在客户端缓存诸如CSS,图像和javascript之类的内容。最快的下载是从未发生的下载。

我在此发布了一系列链接和参考文章:http://icanhazdot.net/2010/03/23/speeding-up-self-hosted-wordpress/