我真的很想使用一个缓存插件,这样我就可以在我的WordPress主题/站点上提供更多的静态页面。这显然是WordPress主题/站点所能做的最佳性能升级。
我的主题中有一些动态元素阻碍了我向静态/缓存页面的飞跃。
我将在下面概述这些问题,并提供一种可能的方法来解决我迄今为止想到的每个问题。
这篇文章的目的要么是为了得到更好的想法/方法来处理我解释的问题,要么是为了得到一些保证,至少我在正确的轨道上。我是一名超过12-13年的PHP老手,但只在过去1-2年中使用过WordPress,到目前为止,我对其功能印象深刻,如果存在这样的事情,我现在是WordPress的忠实粉丝了哈哈!
好吧,到目前为止,我在转换到缓存页面时想到的问题。。。
单篇帖子页面Views Counter Problem - 我有一个函数,它可以在Posts页面上获取“查看/点击计数器”的计数值,从而为用户提供Posts视图的概念。这些不是唯一的访问者,只是一个简单的计数器。我已经为这些值创建了一个单独的MySQL表,我仍在尝试决定是继续使用该表,还是改用元字段。无论哪种方式,在页面视图上,数据库值都会被提取,并在每次页面加载时增加+1。(未添加管理用户视图。)然后,该值以以下形式显示在页面上988 Views
Views Counter Possible Solution - 我可以使用Ajax运行这个值/函数。加载新的缓存/静态页面后,Javascript可以使用Ajax请求并更新该页面的视图计数器<这听起来像是解决此类问题的最佳解决方案吗
Post Comments Problem - 使用默认的WordPress评论系统,每次向帖子添加新评论时,都需要缓存/静态页面才能重新构建该帖子!据我所见,我所看到的缓存插件上有一个选项可以让你做到这一点,你可以让它在每次发布新评论时重建页面。这在纸面上听起来不错,但我可以想象,在一个高流量/活跃的网站上,可能会有多个用户在同一时间对同一篇文章发表评论(都未经测试,所以我不知道)Post Comments Possible Solution - 因此,为了解决注释问题,我在上面提到了一个解决方案,您可以将缓存插件设置为在每个新注释上简单地重建缓存/静态页面。我担心的是,从长远来看,我真的不知道这会有多好。现在,我看到的另一种可能的解决方案正在被越来越多地使用,那就是使用一个Javascript解决方案,比如disqs注释或类似的解决方案。很长一段时间以来,我真的很反对这一点,因为我希望我的所有评论都不要依赖任何第三方的评论系统。我仍然对这个问题持谨慎态度,但我已经转而在我的网站上使用discus评论,到目前为止效果还不错。但我愿意接受其他可能的解决方案?或者你认为这真的是一条路吗?
站点范围的侧栏Sidebar Recent Articles Problem - 我在侧边栏中有选项卡,这些选项卡显示在整个站点的每个页面上。。。其中一个选项卡加载博客上的10篇最新帖子,因为这会显示在网站的每个页面上,一旦添加了新文章/帖子,就需要重新构建网站上的每个缓存/静态页面,以反映在“最新帖子列表”中添加的新帖子
Sidebar Recent Articles Possible Solution - 我想我又想出了一个很好的可能的解决办法。我可以使用Javascript和Ajax将这些内容加载到缓存/静态页面中,这样它们就不必经常重新构建,但仍然可以显示最新的帖子。
这听起来是一个好的解决方案吗?或者更重要的是,你能想出另一个更好或替代的解决方案来解决这个问题吗
虽然我的手还没有弄脏,但到目前为止,在将主题转换为缓存/静态友好主题时,我看到了所有可能的问题
更新我刚想到另一个问题。每次添加符合该帖子页面列表的帖子时,都需要更新所有标签/类别以及用户页面。我想这一定是缓存插件的一个特性,但我可以想象
最合适的回答,由SO网友:pixeline 整理而成
所以,有很多子问题,我将尝试解决每一个。
视图反问题-我可以使用Ajax运行此值/函数。加载新的缓存/静态页面后,Javascript可以使用Ajax请求并更新该页面的视图计数器。
完全同意:附加的好处:在“重要”内容加载完成后通过ajax加载它是一种方式。尽可能减少页面加载时间。在这一点上,我肯定会支持阿贾克斯。
发表评论问题
我怀疑这是否会成为一个大问题。但同样是:ajax。加载除“主要”内容之外的注释。让它定期推送新评论(就像Stackoverflow或twitter.com一样,警告用户并等待他的点击刷新评论流)。
站点范围的侧栏
我会使用另一个插件:WP Widget Cache, 它允许您为侧栏中的每个小部件设置缓存时间,并与常用的缓存插件配合使用。在您的情况下,只需将这些小部件的无缓存设置为“0”,或设置为“10分钟”(总比根本没有缓存好)。