任何问题请联系WX:uu16853

买模板送网站采集器 让你轻松放开双手运营网站!

购买更多有优惠!

WordPress Admin-Ajax,ajax,javascript,WordPress性能 文字详细教程

Ajax是一种基于JavaScript的Web技术,可帮助您构建动态和交互式网站。WordPress使用Ajax为其许多核心管理区域功能提供支持,例如自动保存文章、用户会话管理和通知。 默认情况下,WordPress通过admin-ajax.php位于站点/wp-admin目录中的文件引导所有Ajax调用。 大量同时发生的Ajax请求可能会导致高admin-ajax.php使用率,从而导致服务器和网站的速度大大降低。这是许多未优化的WordPress网站面临的最常见问题之一。通常,它表现为网站缓慢或HTTP 5xx错误(主要是504或502错误)。 在本文中,您将了解WordPress的admin-ajax.php文件、它的工作原理、它的优点和缺点,以及如何诊断和修复高admin-ajax.php使用率问题。 admin-ajax.php文件是什么? 如何在WordPress上诊断admin-ajax.php高频使用问题 admin-ajax.php文件是什么? admin-ajax.php文件包含在WordPress上路由Ajax请求的所有代码。它的主要目的是使用Ajax在客户端和服务器之间建立连接。WordPress使用它来刷新页面内容而无需重新加载,从而使其动态且与用户交互。 Admin Ajax如何在WordPress上工作的基本概述 由于WordPress核心已经使用Ajax为其各种后端功能提供支持,因此您可以使用相同的功能在WordPress上使用Ajax。您需要做的就是注册一个操作,将其指向您站点的admin-ajax.php文件,并定义您希望它如何返回值。您可以将其设置为返回HTML、JSON甚至XML。 WordPress中的admin-ajax.php文件 根据WordPress Trac,admin-ajax.php文件首次出现在WordPress 2.1中。它在WordPress开发社区中也称为Ajax Admin。   检查Ajax使用情况 上面的图表只显示了admin-ajax.php请求的数量,而不是它们可能来自哪里。这是查看峰值何时发生的好方法。您可以将其与本文中提到的其他技术结合使用,以缩小主要原因。 在Chrome DevTools中检查admin-ajax.php请求的数量 您还可以使用Chrome DevTools查看有多少请求被发送到admin-ajax.php. 您还可以查看“Network”部分下的“Timings”选项卡,了解处理这些请求所需的时间。 至于admin-ajax.php高使用率背后的确切原因,主要有两个主要原因:一是前端,二是后端。我们将在下面讨论两者。 如何在WordPress上诊断admin-ajax.php高频率使用问题 第三方插件是admin-ajax.php使用率高的最常见原因之一。通常,此问题会出现在站点的前端,并经常出现在速度测试报告中。 但是插件并不是这里唯一的罪魁祸首,因为主题、WordPress 核心、网络服务器和DDoS攻击也可能是Admin Ajax使用率高的原因。 让我们更详细地探索它们。 如何确定插件和主题的admin-ajax.php使用率高的来源 WordPress.org插件库中的Ajax驱动插件 WordPress开发人员经常使用Ajax来创建动态和交互式插件和主题。一些流行的示例包括添加实时搜索、产品过滤器、无限滚动、动态购物车和聊天框等功能。 仅仅因为插件使用Ajax并不意味着它会减慢您的站点的速度。 在WebPageTest报告中查看admin-ajax.php请求 通常,Admin Ajax在页面加载结束时加载。此外,您可以将Ajax请求设置为异步加载,因此它对用户感知的页面性能几乎没有影响。 正如您在上面的WebPageTest报告中看到的admin-ajax.php,在请求队列的末尾加载,但它仍然需要780毫秒。仅一个请求就需要很多时间。 GTmetrix报告表明admin-ajax.php使用率严重飙升 当开发人员没有在WordPress上正确实现Ajax时,可能会导致严重的性能问题。上面的GTmetrix报告就是这种行为的一个完美例子。 您还可以使用GTmetrix来挖掘单个文章和响应数据。您可以使用此功能查明导致问题的原因。 为此,请转到GTmetrix报告的Waterfall选项卡,然后找到并单击POST admin-ajax.php项。您将看到此请求的三个选项卡:标题、发布和响应。 POST admin-ajax.php请求的Headers数据 查看请求的Post和Response选项卡将为您提供一些提示,以找出性能问题背后的原因。对于此站点,您可以在“Response”选项卡中看到线索。 POST admin-ajax.php请求的响应数据 您可以看到响应的一部分与id设置为“fusion-form-nonce-656”的输入标签有关。 快速搜索这条线索将带您到ThemeFusion的网站,Avada主题的创建者。因此,您可以得出结论,该请求来自主题,或者与它捆绑的任何插件。 在这种情况下,您必须首先确保Avada主题及其所有相关插件已完全更新。如果这不能解决问题,那么您可以尝试禁用主题,看看是否可以解决问题。 与禁用插件不同,在大多数情况下禁用主题是不可行的。因此,尝试优化主题以消除任何瓶颈。您还可以联系主题的支持团队,看看他们是否可以提出更好的解决方案。 在GTmetrix中测试另一个慢速网站导致发现与Visual […]

100% Secure Checkout

PayPal / MasterCard / Visa