php - 减少 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 个请求或类似的东西。有什么办法吗?
解决方案
您可以简单地限制执行频率。您可以使用名为Heartbeat Control 的插件来完成此操作。
安装插件后,转到设置 -> 心跳控制设置,然后从心跳行为下拉菜单中选择修改心跳。如果您使用的是 WP Rocket 缓存插件,则可以从WP Rocket 设置中控制心跳。
或者,您可以选择选项禁用心跳。这应该会完全禁用此功能,并且不会再增加服务器上使用的执行次数和 CPU 时间。请注意,在某些情况下禁用心跳会阻止某些插件功能工作。
要禁用心跳编辑你的子主题的functions.php文件并在打开后粘贴下面的代码片段
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}
推荐阅读
- python - Python - 子进程 - powershell - 实时输出
- android - 将接口的具体实现传递给片段Android中的捆绑参数
- php - symfony 注释中的路由问题
- azure-active-directory - Snowflake SCIM - AzureAD 组与本地组链接
- reactjs - 即使使用唯一键,React 也会重新渲染整个组件列表
- discord - 我想要一个不和谐的机器人通过他们的 id 向某人发送 dm
- php - PHP:无法添加到空关联数组
- python-3.x - svm sklearn 挂在 OneVsRestClassifier 拟合
- session-variables - 将会话值从一个应用程序传递到下一个应用程序
- java - PrimeFaces 验证器属性方法中的 NPE