首页 > 解决方案 > 减少 admin-ajax 请求的数量 - Wordpress

问题描述

我有一个客户必须针对 SEO 和页面速度进行优化。该网站是使用分类广告主题的 wordpress - AdForest。问题来自哪里。我尝试了从关闭所有插件到插件等的任何方法,但都没有奏效,他不想为支持扩展付费。所以我有一个问题。主题是 HIGH CPU 过载,我们从托管更改为 VPS,这并没有解决问题。我看到如果有人在主页上,只需加载它而不做任何事情,让它打开一个半小时它将加载来自 admin-ajax 的 5 000 多个请求,其中大多数来自 custm.js 文件主题,我在 Chrome 控制台中播种的行通常很重要,但我认为无休止的重新加载是不对的。它每秒都在做。想象一下如果同时有 15 个用户会发生什么......这是最昂贵的 VPS 包,配备 8 GHZ 处理器、许多 CPU 时间、8 Gb RAM 等。无论如何。我想减少请求,例如:每个用户每小时 100 个请求或类似的东西。有什么办法吗?

标签: phpajaxwordpress

解决方案


您可以简单地限制执行频率。您可以使用名为Heartbeat Control 的插件来完成此操作。

安装插件后,转到设置 -> 心跳控制设置,然后从心跳行为下拉菜单中选择修改心跳。如果您使用的是 WP Rocket 缓存插件,则可以从WP Rocket 设置中控制心跳。

或者,您可以选择选项禁用心跳。这应该会完全禁用此功能,并且不会再增加服务器上使用的执行次数和 CPU 时间。请注意,在某些情况下禁用心跳会阻止某些插件功能工作。

要禁用心跳编辑你的子主题的functions.php文件并在打开后粘贴下面的代码片段

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

推荐阅读