前几天,我已经开了一个很大的网站,我想合并一个缓存插件。该设置是在单个站点上进行的,具有一些Buddypress功能的混合(用于用户注册,带有gpress的地图,具有配置文件)在共享主机上运行。
我的问题是:
1.给定此设置,您认为哪个插件最适合缓存,为什么(如果可能)?
2.在安装过程中,我应该采取/考虑的最佳做法和步骤是什么,以确保一切正常?
3. transients
我自己添加的内容是否仍然可以使用,还是应该删除它们并让插件离开呢?如果不移除,它们会发生冲突吗?
谢谢!
前几天,我已经开了一个很大的网站,我想合并一个缓存插件。该设置是在单个站点上进行的,具有一些Buddypress功能的混合(用于用户注册,带有gpress的地图,具有配置文件)在共享主机上运行。
我的问题是:
1.给定此设置,您认为哪个插件最适合缓存,为什么(如果可能)?
2.在安装过程中,我应该采取/考虑的最佳做法和步骤是什么,以确保一切正常?
3. transients
我自己添加的内容是否仍然可以使用,还是应该删除它们并让插件离开呢?如果不移除,它们会发生冲突吗?
谢谢!
Answers:
您将只能静态缓存页面的html输出。这是服务页面的最快方法,但是您会失去WordPress的动态方面,例如发表评论和查看帖子的最新评论。
有一些对象和数据库可用的磁盘缓存选项,但是除非您的主机运行的是快速驱动器,否则您不会从中受益匪浅,并且还可能导致性能下降。
所有缓存插件都有一个选项,可以不将缓存的页面提供给登录用户或具有注释cookie的任何用户。
未知用户将获得缓存页面。
瞬态是一小段数据,它们打算在某个时间过期。WordPress将瞬态存储为数据库中的缓存。如果您可以选择使用Memcache,则WordPress会将瞬态数据保留在内存中。瞬态很好,因为它们可以减少数据库查找。它们还可以很好地用于社交网络,例如显示您的最新推文。这样可以防止在每次加载页面时调用twitter api。
使用最高性能网站最佳实践的插件是W3 Total Cache。
W3总计:
对于共享托管集,您应该启用页面缓存,缩小,浏览器缓存和自托管CDN选项。
检查页面缓存的所有选项
启用此功能并将更新间隔设置为适合您的站点的时间。这将以给定的时间间隔重建页面缓存。
选择重写URL结构,如果要使用CDN,请选中自动上传,以便新缩小的文件将自动上传到CDN。
启用并检查删除换行符,内联js和CSS最小化。如果您使用adsense或其他使用注释词干的服务,请在此处输入注释,以免缩小注释。
在文件管理中,选择主题,然后添加要合并和缩小的所有CSS文件。还有一个帮助向导,它将搜索您的所有模板并为您添加建议的文件。
W3 Total包含一个工具,可用于您的主题模板,并查找所使用的Javascript和CSS文件并提供建议的设置。首先尝试这些设置,遇到问题请返回并根据需要进行修改。任何以红色突出显示的文件都是您已经包含在内的要缩小的文件。
相同的选项部分可用于js文件,您可以选择将文件放置在after <head>
,after <body>
和after 之前</body>
。最好先放尽可能多的东西<body>
。如果有任何插件添加内联js,您将无法在之前</body>
用于jquery或插件js,因为它将需要在任何内联<script>
标签之前加载。您可以在每个位置和每个模板中包括文件的任何组合。例如,您可以将comment-reply.js设置为仅在single.php上加载
这是最重要的正确方法。如果您将静态内容正确地缓存在用户浏览器中,则可以大大减少页面加载时间。“不为静态对象处理404错误”浏览器缓存设置对于共享托管来说是一大胜利,因为调用PHP并将404页返回给bot等资源占用了大量资源,并且此功能可防止
检查一切
检查所有内容并将我们的过期标头生存期设置为遥远的将来。31536000秒是1年,是yslow建议的。如果对CSS或javascript进行了更改,则必须更改文件名以防止用户使用旧版本。如果您使用的是minify,则不必担心会提供过时的内容,因为每次重建minify缓存时,都会生成一个新的文件名。
设置您的缓存控制策略以最大期限进行缓存
还有两个浏览器缓存设置部分。HTM1和图像。对于图片,请使用与CSS和JS相同的设置。如果需要,可以增加图像的过期时间。
对于HTML,除非您的网站主要是静态的,否则不要设置过期。如果需要的话,可以使用较短的生命(180秒),但是我不会更高。启用gzip,您可以检查设置的W3标头,以便检查响应标头以确保它们正常工作。
W3 Total内置了对流行的原产地拉取和原产地推送CDN的支持,以及强大的自托管选项,需要您设置子域和cname。
自托管的CDN将让您利用流水线的优势。浏览器一次只能下载几个文件,在某些情况下只能下载4个文件。流水线技术是一种使用服务器别名(例如子域)来允许浏览器增加可以并行下载的文件的实际限制的技术。这样做可以最大程度地提高Internet连接的吞吐量,并允许浏览器更快地呈现页面。一旦正确配置了DNS CNAME(别名)和子域,W3TC就会透明地管理这些文件。
选中所有选项,然后单击上载按钮以将所有内容上载到CDN。如果使用自托管,则还有另一个设置页面可放入ftp信息。对于原始推送CDN,它是根据您使用的提供程序进行配置的。对于源出站,您不上传任何文件,而仅将cname设置为提供程序提供的URL。注意:除非新文件不起作用,否则不要选择强制替代。即使文件已经存在,强制覆盖也会不断将文件上传到cdn,这会浪费带宽和资源。
您应该始终测试结果并相应地调整设置。我喜欢使用WebPageTest.org。比较我的结果并发现任何潜在的问题。
这些是我们将W3 Total添加到的WordPress博客的之前和之后结果。
我希望这有帮助。
使用.htaccess在客户端缓存诸如CSS,图像和javascript之类的内容。最快的下载是从未发生的下载。
我为此发布了一系列链接和参考文章:http : //icanhazdot.net/2010/03/23/speeding-up-self-hosted-wordpress/