如何使用 WordPress 减少服务器响应时间

2021-07-20

如何使用 WordPress 减少服务器响应时间?快速的服务器响应时间是站点加载速度的最重要因素之一。如果服务器需要几秒钟的时间来响应,那么您的图像有多模糊,您的脚本有多压缩都无关紧要。

在某种程度上,您可以通过服务器控制的范围有限。我试图列出尽可能多的因素来帮助您加快服务器速度,从而帮助您的网站快速加载并提高 PageSpeed 排名。

减少插件

是的我知道。WordPress 的主要卖点之一是能够使用插件来显着扩展平台的功能。如果您使用 WordPress 的时间已经足够长,那么您可能会拥有一系列您离不开的插件。功能增强、安全插件、各种自定义;它们是使 WordPress 值得使用的物质享受。

有些插件是完全被动的,仅适用于您的用户从未见过的某些操作。您运行一次以审核反向链接的插件不会影响服务器响应时间,除非您正在使用服务器资源主动运行扫描。上传时压缩图像文件大小的插件不会在图像上传之外发挥作用。

尽管如此,许多插件仅通过存在就会影响服务器速度。一般来说,减少使用的插件数量是个好主意。例如,有一些插件可以将 Favicon 添加到您的网站,但是当您可以简单地将代码添加到您的主题时,为什么还需要一个插件呢?

当然,您想保留一些插件。一个好的 SEO 插件具有太多不容忽视的价值。如果您启用评论,像 Akismet 这样的垃圾邮件过滤插件是必不可少的。在网站不断遭到破坏的今天,安全插件比以往任何时候都更加重要。

在此期间,请尽可能更新任何插件。一方面,随着插件的开发,它们往往会同时获得功能和优化。有可能更新较旧、较笨重的插件版本以占用更少的服务器资源并加速您的站点。您还希望使插件保持最新状态,以免将来成为安全问题。

特别注意:警惕任何以降低网站速度而闻名的插件。发生这种情况的一种方式是使用带有加密代码的优质闭源插件。为了解密这些插件以便它们可以运行,您的服务器需要回调插件主机的服务器,根据定义,这会增加每次交互的时间。您可能还想仔细检查您没有使用进行持续数据库查询的插件,例如这些.

采用速度架构

StudioPress 提供的WordPress Genesis 框架是 WordPress的一种替代框架。它采用了 WordPress 的所有默认架构并对其进行了改造,无情地优化和剔除缓慢的位,直到它完全专注于速度。

使用这样的框架的缺点是它限制了您可以使用的其他插件或主题。这有点像完全使用不同的 CMS,只是具有您期望从 WordPress 获得的所有后端功能。看看吧;它可能值得研究,或者它可能会排除某些您确实离不开的功能。

实现缓存

使用 WordPress,当用户发送请求以获取您网站上的页面时,您的服务器必须来回查询您的数据库。它需要从一个区域拉取图像和主题文件等静态资源,并且需要从外部源拉取或生成动态内容。所有这些都需要重复的服务器调用。

这对一个用户来说没问题,但是当您有成百上千的人对同一页面提出请求时会发生什么?这是很多多余的负载。为什么不只为一个人创建和呈现页面,然后保存呈现的版本并将其提供给所有其他人?

显然,这仅在页面不会因人而异时才有效,但是站点多久会发生这样的变化?次要元素会发生变化,例如广告或相关帖子,但文本、导航和网站的大部分内容从未发生变化。

缓存允许您的服务器保存这些呈现的站点版本以服务于新访问者,从而最大限度地减少大量服务器调用并减少服务器负载。您可以通过多种不同的方式进行缓存,通常使用插件。

您还可以在服务器端实现缓存,强制通过 Apache 或 NGINX 进行缓存。不过,这有点复杂,因此,如果您觉得对服务器基础架构造成干扰,那么我将把它留给您自己研究。

使用内容交付网络

服务器上的很大一部分负载是加载大文件,并且在 99% 的情况下,您加载的大文件将是图像、视频和其他形式的媒体。考虑到整篇文章的文本大约为 10kb。现在考虑这个站点的标志,在角落里,是 5kb。任何更大的图像都将是 20kb、50kb 甚至更多,而这会被压缩。同时,对于长高清视频,视频以 mb 甚至 gb 为单位。

媒体内容巨大,从服务器加载需要时间。服务器在地理上离用户越远,所需的时间就越长。这就是创建内容交付网络的原因。

CDN可以通过减轻从服务器加载媒体的责任来大大加快您的站点速度。您认为谁有更多的服务器资源可用于加载您的图像、您的网络主机或亚马逊?

当然,你需要选择一个好的 CDN,你需要正确配置它,你需要将你的媒体卸载到它。这不是一件小事,但如果设置得当,它会带来巨大的好处。

最小化外部查询

现在,关于 CDN 的一件事是,它们通过比服务器更快地加载媒体来弥补外部查询。对于每种形式的外部查询,情况并非如此。

外部查询是您的服务器需要调用另一个站点或另一个服务器以获取信息的任何时候。每一个都至少增加了服务器调用所花费的时间加上另一台服务器准备和发送您的服务器要求的数据所花费的时间。

想想你的网站;您的服务器执行此操作多少次?它可能比你想象的要多。例如,每组社交媒体按钮都需要调用每个服务器以获取更新的社交分享计数。大多数按钮将这些缓存一段时间,但它仍然是一个外部调用。获取 RSS 提要、从社交网络或 YouTube 嵌入内容以及任何其他形式的嵌入内容也是如此。

当页面加载时需要处理的外部查询较少时,您的站点加载速度会更快,服务器的压力也会更小。

稍后加载脚本

脚本是站点通常需要一些时间来加载和运行的另一个领域。问题不在于脚本本身;通常一个好的脚本需要几毫秒来执行。问题来自脚本放置。

当您将脚本放置在页面顶部并且没有延迟加载时,该脚本需要在页面下方的任何内容开始加载之前执行。这几乎从来没有必要!您不希望脚本充当看门人,除非该脚本的结果对于正确加载后续内容至关重要。

延迟加载脚本是一种选择;通过将脚本设置为延迟加载或与其他内容同时加载,它们不再成为看门人。如果您不想弄乱延迟加载,您也可以简单地将脚本放在页面底部。通常没有功能差异 – 页面在完全加载之前显示已加载 – 但这意味着在内容启动和用户可见之前的延迟更少。

升级 PHP、Apache、NGINX 等

我在上面谈到了关于插件的升级,但这对您的服务器架构本身也很重要。例如,PHP 在从 PHP6 到 PHP7的过渡中进行了大量的性能增强。通过升级到 PHP7,您将能够利用这些性能增强。PHP8 可能要到 2021 年左右才会发布,因此您还有几年的时间需要担心再次更新。

当您升级服务器架构本身时,您总是会面临风险。您当前使用的某些代码可能无法在 PHP、Apache 或您拥有的升级版本上使用。例如,PHP7 不支持 4.4 之前的 WordPress 版本。如果您使用的是旧版本的 WordPress,首先,这是一个巨大的安全风险。其次,在您升级 WordPress 之前,尝试升级 PHP可能会破坏您的网站

值得庆幸的是,许多网络主机使切换 PHP 版本变得相当容易;您需要做的就是单击后端服务器管理中的一个按钮。也就是说,您需要进行站点审核以确保任何 CMS、任何脚本和任何自定义代码都能在升级后的环境中运行。

检查资源泄漏的服务器日志

如果您想获得更多技术,则可以开始深入研究服务器日志。您需要知道您在查看什么才能理解事物,但是您可以审核您的日志,以查找似乎发出更多调用或占用更多服务器资源的任何内容。

有时,旧的、糟糕的代码会陷入循环,无法清除内存,或者每次循环时开始使用更多资源。内存泄漏和过多的服务器负载是一些不太正常的迹象。

您启用和访问服务器日志的方式因架构而异,因此值得了解您的站点的设置方式以及如何利用您有权访问的信息进行未来优化。

清理旧行李

网站越旧,您可能拥有越多积累的东西。特别值得注意的是旧的电子商务网站;数据库往往会充满旧订单、已停产的产品等。其他站点可能有成堆的旧迭代备份、旧的禁用插件或脚本文件、您不再使用的主题,甚至是您通过 NoIndexing “删除”的旧内容。

您应该定期(可能每年一次)审核您的网站并清除您不需要的旧膨胀。您可以使用数据库清理器来删除坏记录,但从数据库中删除记录时要非常小心;您可能会搞砸查询结果,甚至可能会意外删除整个数据库。其他东西,如禁用的插件或废弃的主题,可以在几乎没有潜在影响的情况下被删除。

特别是在 WordPress 上,您可以查看引用和垃圾评论等内容,即使您没有看到它们,它们也会占用您数据库中的空间。删除或移除它们以清理空间并使一切运行更加顺畅。

升级服务器

归根结底,有时您的服务器不是很好。在同一硬件上与 2000 个其他站点的共享主机会遇到问题。您的平均共享主机在同一台服务器上共享 500 到 2,000 个网站。升级到更高质量的共享主机,甚至是高质量的专用服务器,意味着您将拥有更多的资源共享,并且您将拥有更流畅、功能更强大的服务器。它可能很昂贵,但通常值得投资。

--- END ---