WordPress网站速度优化终极指南

成都创新互联公司是一家专注于成都做网站、网站设计、外贸营销网站建设与策划设计,椒江网站建设哪家好?成都创新互联公司做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:椒江等地区。椒江做网站价格咨询:028-86922220

多年来,我们发布了许多wordpress速度优化教程,其中包含优化和加速WordPress的方法。但有时试图在一个地方找到您需要的一切可能会令人困惑。因此,今天我们将与您分享我们所知道的关于WordPress涡轮增压的所有知识,超过15年的经验和吸取的惨痛教训,所有这些都在一本终极指南中。无论您是刚开始使用WordPress还是经验丰富的开发人员,我们保证您会在本指南中找到有用的东西!

超过43.0%的网络现在由WordPress提供支持。虽然这很棒,但这也意味着有成千上万种不同的主题、插件和技术必须共存。对于日常的WordPress用户来说,当他们的网站开始出现瓶颈并且他们不知道为什么甚至不知道从哪里开始故障排除时,这很快就会变成一场噩梦。

在我们之前的页面速度指南中,我们讨论了许多性能的基础知识以及它如何对您的业务成功产生巨大影响。但今天我们将深入探讨您现在可以采取的适用步骤,以查看您自己的WordPress网站的改进。我们还将分享一些对我们来说非常宝贵的资源。

WordPress网站类型:静态或动态

在我们深入研究WordPress速度优化之前,首先要了解并非所有WordPress站点都相同,这一点很重要。这就是许多用户遇到问题的原因,因为您无法以相同的方式解决所有问题。我们总是给WordPress网站一个分类:静态或动态。因此,让我们首先探讨这两种类型的网站之间的差异。

主要是静态站点

静态通常包括博客、小型企业网站、低容量新闻网站、个人、摄影网站等网站。静态是指这些WordPress网站上的数据不经常更改 (可能每天更改几次)。甚至我们闪电博网站的大部分内容也会被视为静态网站。

这变得非常重要,因为可以以闪电般的速度直接从服务器上的缓存中处理许多请求!别担心;我们将在下面深入探讨缓存的主题。这意味着他们将有更少的数据库调用,并且不需要那么多资源来实现谷歌性能。

高度动态的站点

另一方面,我们拥有高度动态的网站。其中包括电子商务(WooCommerce或Easy Digital Downloads)、社区、会员、论坛(bbPress或BuddyPress)和学习管理系统 (LMS) 等网站。动态,我们的意思是这些WordPress站点上的数据经常变化 (服务器事务每隔几分钟甚至每秒发生一次)。这意味着并非所有对服务器的请求都可以直接从缓存中得到服务,并且需要额外的服务器资源和数据库查询。

这些站点通常也有大量的并发访问者和会话。在大部分是静态的信息或企业WordPress网站上,访问者可能会停留5或10分钟,直到找到他们需要的东西(这是一个很大的数字,通常跳出率要高得多)。在动态网站上,情况正好相反。访问者通常来到该网站是为了与某事或某人互动。如果他们正在学习在线课程,那么他们待上几个小时并不罕见。

你可以看到这是怎么回事。连接到您的WordPress主机的并发访问者增加得很快。更糟糕的是,除了“无法缓存的内容”问题之外,还有大量并发访问者。

选择高性能WordPress主机

WordPress主机是一家存储您网站所有数据的公司。您注册了一个计划,您的所有图像、内容、视频等都位于位于主机数据中心的服务器上。WordPress主机为您提供了一种访问数据、管理数据并将其路由给访问者的简单方法。很简单吧?嗯,不完全是。

您会在网络上遇到三种非常不同类型的 WordPress 主机。让我们深入探讨每种方法的优缺点。从一开始就选择正确的方法很重要,否则,您只会让自己头疼并浪费时间。

1. 共享WordPress主机

第一种也是最受欢迎的WordPress托管类型是我们所说的“共享托管”。其中包括业内最大的主机,例如Bluehost和HostGator等EIG公司,以及Siteground、GoDaddy、Media Temple、OVH、GreenGeeks和InMotion Hosting等提供商。他们通常使用cPanel,普通客户通常每月支付3至25美元。

任何使用此类托管的人都会在某个时候体验缓慢,这只是时间问题。为什么?因为共享主机往往会服务器人满为患,这反过来又会影响您站点的性能。站点暂停或频繁出现 500 错误是您经常遇到的事情,因为它们必须限制一切并整合资源才能生存。或者更糟糕的是,网站停机时间。即使您不知道,您的WordPress站点很可能与200多个其他人位于同一台服务器上。其他网站出现的任何问题都可能渗透到您的网站。

WordPress托管共享主机

无论您如何计算,扣除费用后,每月3美元都不会为托管公司带来任何收入。尤其是当您将支持归因于此时。只是一个小的共享主机订单,他们必然处于亏损状态。他们赚大钱的方式是追加销售和隐藏费用。这些追加销售包括迁移、域注册、SSL证书等。另一种常见的策略是提供巨大的注册折扣。但是,一旦续订到来,您就会得到真正的账单。

这些主机中的大多数都提供他们所谓的“无限资源”计划。你可能都看到了这一点。好吧,现实世界中没有无限资源这样的东西。主机在幕后所做的是限制客户端消耗大量资源。反过来,这最终会导致那些愤怒的客户离开,为更多不使用大量资源的客户腾出空间。最后,您将陷入一个恶性循环,即托管公司推出廉价计划并注册他们希望不会使用大量资源并会购买追加销售的客户。

由于站点数量与支持代表相比,共享主机的客户服务和支持几乎总是低于标准。共享主机必须将自己分散得很细才能盈利,这通常会给客户带来不愉快的体验。

2. VPS主机

第二种类型是VPS主机,或“在虚拟专用服务器上自己动手”。这群人通常由引导初创公司和具有更多开发、服务器管理和WordPress经验的用户组成。他们是DIY人群。这些人通常仍在努力省钱,但他们通常也关心绩效并意识到绩效对他们业务成功的重要性。Commons设置可能包括使用第三方VPS提供商,例如Digital Ocean、Linode或Vultr;以及像ServerPilot这样的工具来更轻松地管理它。

DigitalOcean的小型VPS起价为每月5美元,ServerPilot的流行计划起价为每月10美元。因此,根据您的设置,您可能会看到每月5到15美元或更多的费用。DIY方法可以降低成本,但这也意味着如果出现问题,您需要负责并优化服务器的性能。

DIY方法可能很棒,但如果您不小心,它也会适得其反。如果您不精通技术或只是因为您想修补,请不要走这条路!你的时间很值钱,你应该把它花在发展你的业务上。

3. WordPress托管主机

第三种类型专业WordPress托管主机。这些类型的主机为您处理所有与后端服务器相关的任务,并在您需要时提供支持。它们通常经过微调以与WordPress配合使用,并且通常包括一键暂存环境和自动备份等功能。由于他们每天专注于一个平台,因此他们的支持团队在了解他们绕过CMS的方式时将更加了解。

托管WordPress托管的计划通常从每月25美元到150美元不等,甚至更多,具体取决于您网站的大小和需求。jQuery、Intuit、Plesk、Dyn、Nginx甚至白宫等大公司都在使用WordPress来托管他们的网站。您可能熟悉或目前正在使用的一些流行的托管WordPress主机包括WP Engine、Flywheel、Pressable、Media Temple、Pressidium和Pagely。

PHP 7或更高版本以获得最佳性能

PHP是一种开源的服务器端脚本和编程语言,主要用于Web开发。大部分核心WordPress软件都是用PHP编写的,以及您的插件和主题,这使得PHP成为WordPress社区非常重要的语言。您应该确保您的WordPress主机至少提供PHP 7或更高版本。

您的主机将在您的服务器上为您提供不同版本的PHP,较新的PHP 7.3提供了巨大的性能改进。

事实上,在我们最近的PHP基准测试中,如果将PHP 7.3与PHP 5.6进行比较,它每秒可以处理3倍的请求(事务)!PHP 7.3也比PHP 7.2平均快9%。这也会影响您的WordPress管理仪表板响应能力。

WordPress 5.0 PHP基准测试

并警惕任何提供HHVM作为PHP替代品的WordPress主机。HHVM不再是WordPress托管的合适解决方案。

选择使用Nginx的主机

在幕后,每个WordPress主机都使用网络服务器来支持您的WordPress网站。最常见的选择是Nginx和Apache。

我们强烈建议使用使用Nginx的主机,因为它的根源在于规模下的性能优化。Nginx在基准测试中的表现往往优于其他流行的Web服务器,尤其是在静态内容或高并发请求的情况下。

一些使用Nginx的知名公司包括 Autodesk、Atlassian、Intuit、T-Mobile、GitLab、DuckDuckGo、Microsoft、IBM、Google、Adobe、Salesforce、VMWare、Xerox、LinkedIn、Cisco、Facebook、Target、Citrix Systems、Twitter、Apple 、英特尔等等。(来源)

据W3Techs称,Apache为所有网站的44.0%提供支持,使其成为使用最广泛的选项。但是,如果您查看高流量网站中最受欢迎的Web服务器(前10,000个),Nginx为其中的41.9%提供支持,而Apache仅提供18.1%的支持。现有的一些资源最密集的网站都在使用它,包括Netflix、NASA,甚至WordPress.com。

在我们的Web服务器对比文章阅读更多:Nginx与Apache。

您主机的网络很重要

在选择WordPress主机时,您甚至可能不会考虑询问或研究他们使用的网络,但您应该这样做。网络会对您网站的性能甚至WordPress仪表盘的快速性产生巨大影响。许多主机将把这排除在他们的营销之外,因为他们会选择最便宜的网络来降低成本。

以下是您应该问的几个问题:

  • 您通过哪些网络传输数据? 其中大部分是通过公共ISP网络还是私有基础设施(例如Google或Microsoft)?这些大型提供商拥有专为低延迟和速度而构建和优化的网络。他们甚至在海底拥有自己的互联网电缆!
  • 您使用的网络是否冗余?如果电缆被意外切断会怎样?这种情况发生的频率比你想象的要高。

早在2017年,谷歌就宣布了其标准层网络,这是一种速度较慢但成本较低的网络。

据谷歌称,高级网络通过减少公共互联网上的旅行时间来提高网络性能;数据包进入(和离开)谷歌的网络尽可能靠近用户,然后在到达虚拟机之前在谷歌的主干上传播。标准层通过公共交通 (ISP) 网络而非Google网络将GCP的出站流量传送到互联网。

谷歌云平台高级网络(图片来源:谷歌)

换一种可能更容易理解的方式:

  • 高级数据包在Google的网络上花费更多的时间,更少的反弹,因此性能更好(但成本更高)。
  • 标准层数据包在Google网络上花费的时间更少,而在公共网络上花更多的时间玩烫手山芋,因此性能更差(但成本更低)。

这有多大影响?好吧,对于跨大陆传输的数据,高级层网络平均比标准层网络快41%。对于传输到附近地区(同一大陆)的数据,高级层的速度大约快8%。虽然网络只占页面总加载时间的一小部分,但每一毫秒都会加起来!

冗余也是关键,这就是为什么Google在Google网络上的任意两个位置之间使用至少三个独立路径(N+2冗余)的原因,以帮助确保即使在发生中断的情况下,流量也能在两个位置之间继续流动。

正如您现在可能知道的那样,在网络方面,幕后正在发生很多事情。确保您的WordPress主机使用的是信誉良好的主机,并且不会选择较低的级别来降低成本。

HTTP/2是必备的

HTTP/2是2015年发布的一种网络协议,旨在加快网站的交付速度。由于浏览器支持,它需要HTTPS (SSL)。如果您的WordPress主机不支持HTTP/2,您应该开始寻找新的提供商。随着整个网络迁移到HTTPS,这不再只是一个很好的功能;这是必需品。

HTTP/2的性能提升是由于多种原因,例如支持更好的多路复用、并行性、使用Huffman编码的HPACK压缩、ALPN扩展和服务器推送。在通过HTTPS运行时,曾经有相当多的TLS开销,但现在由于HTTP/2和TLS 1.3少了很多。

HTTP/2的另一大优势是,对于大多数WordPress站点,您不再需要担心连接(组合文件)或域分片。这些现在是过时的优化。

选择离访问者最近的服务器

托管WordPress网站时,您应该做的第一件事就是确定您的大多数访问者或客户来自哪里。为什么这很重要?因为您托管网站的位置在确定您的整体网络延迟和TTFB方面起着重要的作用。它还会影响您的SFTP速度和WordPress管理仪表盘响应能力。

网络延迟:这是指通过网络传输数据所涉及的时间和/或延迟。换句话说,一个数据包从一个点到另一个点需要多长时间。如今,这通常以毫秒为单位。但是,这可能是几秒钟,具体取决于网络。越接近零越好。

TTFB:这代表第一个字节的时间。简而言之,这是衡量浏览器在从服务器接收第一个字节数据之前必须等待的时间。获取该数据所需的时间越长,显示您的页面所需的时间就越长。同样,越接近零越好。

查看我们关于TTFB的深入文章。

我们不会在这篇文章中详细介绍所有技术细节,您只需要知道您希望网络延迟和TTFB尽可能低。实现此目的的最简单方法之一是选择离访问者最近的服务器。您可以按照以下提示确定最佳位置。

Tip 1 – 在Google Analytics中检查访问者的地理位置

您可以做的第一件事就是在Google Analytics(或者其他统计工具)中查看访问者的地理位置。您可以在“Audience → Geo → Location”下找到它。

在下面的这个示例中,您可以看到超过90%的流量来自美国。因此,在大多数情况下,您希望将WordPress网站放在美国的服务器上。您还可以将数据进一步过滤到城市。如果您是本地公司,这一点尤其重要。但通常我们会推荐像美国爱荷华州这样的中心位置。

谷歌分析地理定位

Tip 2 – 检查电子商务数据

如果您经营电子商务商店,请确保还检查您的客户来自哪里。这当然是您产生收入的方式,因此这些是您最重要的访问者。这应该与您上面的流量一致;然而,这并非总是如此。如果您在Google Analytics中有电子商务数据设置或目标,您可以轻松地将该信息叠加在地理位置数据之上,以做出更明智的决定。或者检查存储在电子商务平台数据库中的位置信息。

Tip 3 – 进行快速延迟测试

有很多方便的免费工具可以为不同的云提供商测量您当前位置的延迟。这可以帮助您快速评估哪个区域可能是您站点的最佳选择。

  • GCP Ping(测量到Google Cloud Platform区域的延迟)
  • CloudPing.info(测量到Amazon Web Services区域的延迟)
  • Azure延迟测试(测量到Azure区域的延迟)

在下面的这个例子中,我们可以看到美国俄勒冈州 (us-west1) 是我们所在位置最快的。但是,如果您为整个美国的客户提供服务,最好选择美国爱荷华州 (us-central1) 以确保来自西海岸和东海岸的访客的延迟低。

测量Google Cloud Platform延迟

减少延迟和TTFB的其他方法

除了选择一个靠近的服务器位置之外,这里还有其他一些减少延迟的方法。

  • 在您的WordPress网站上实施缓存。在我们的测试中,缓存使我们的TTFB减少了90%!
  • 利用内容交付网络 (CDN) 为来自全球POP的缓存资产提供服务。这有助于消除可能不在您的主机服务器附近的访问者的网络延迟。
  • 借助并行化,利用HTTP/2协议最大限度地减少往返次数。
  • 减少外部HTTP请求的数量。每个都可以根据其服务器的位置增加自己的延迟。
  • DNS在TTFB中发挥作用,因此您应该使用具有快速查找时间的优质DNS提供商。
  • 在页面加载时利用预取和预渲染在后台执行任务。

别担心;我们将在这篇文章的下面进一步介绍上面提到的所有建议。

SFTP速度和WordPress管理仪表盘

您的访客和客户应该始终是您的首要任务。但许多人没有谈论的另一个方面的绩效是其中一些决定如何影响您的日常工作。您选择的数据中心位置会影响您的SFTP下载和上传速度(使用FTP客户端传输文件)的速度,以及您的WordPress管理仪表盘的响应能力。

因此,虽然您想确保并选择最适合访问者的位置,但也要记住它会影响站点管理。当您的站点托管在离您更近的数据中心时,诸如将文件上传到 WordPress 媒体库之类的任务会更快。

高级DNS优于免费 DNS

DNS是域名系统的缩写,是网络环境中最常见但最容易被误解的组件之一。简而言之,DNS通过将域名与实际的Web服务器连接来帮助引导Internet上的流量。从本质上讲,它需要一个人性化的请求——一个像wbolt.com这样的域名——并将它转换成一个对计算机友好的服务器IP地址——比如216.58.217.206。

DNS的工作原理

您可以找到免费DNS和高级DNS,比如DNSpod。

选择优质DNS的一大原因是速度和可靠性。查找DNS记录和引导流量需要时间,即使只是几毫秒的时间。

通常,您从域名注册商处获得的免费DNS相对较慢,而高级DNS通常提供更好的性能。例如,在我们的测试中,我们发现免费的NameCheap DNS比Amazon Route 53高级DNS慢33%。此外,高级DNS可以提供更好的安全性和可用性,尤其是当您受到DDoS攻击时。

您可以使用SolveDNS速度测试等工具  来检查您的DNS查找时间。DNSPerf还提供了所有顶级DNS提供商的出色性能数据。

为了在您的域注册商提供的免费DNS和高级DNS之间取得良好的中间立场,Cloudflare DNS是一项免费服务,它仍然提供高级DNS的许多好处。而且它们在全球范围内的平均响应时间都在20毫秒以下(如下所示)。

Cloudflare免费DNS速度测试

但是,Cloudflare的一个警告是,它的停机时间也比许多其他提供商更长。如果您主要为美国的访问者提供服务,那么DNS Made Easy是您可能想要查看的另一家优质DNS提供商。在过去十年中,他们以提供一些最佳DNS正常运行时间而闻名。

在过去30天内,DNSPerf显示这些提供商的以下正常运行时间:

  • DNS Made Easy:99.99%,相当于每月400万23.0秒的停机时间。
  • Amazon Route 53:99.88%,相当于每月5200万35.7秒的停机时间。
  • Cloudflare:99.85%,相当于每月1h5m44.6s停机时间。

停机时间对DNS提供商来说有那么重要吗?答案是肯定的,也不是。DNS通常使用DNS记录上的生存时间值 (TTL) 与ISP一起缓存。因此,如果DNS提供商宕机10分钟,您很可能不会注意到任何事情。但是,如果提供商持续出现较长时间和频繁的中断,或者您的ISP和DNS记录都使用非常低的TTL值,那么停机时间确实很重要。

您的WordPress主题很重要

每个人都喜欢一个全新的WordPress主题,但在你出去之前要小心,抓住一个具有所有新的闪亮功能的主题。关于性能,您在主题中看到的每个元素都会对您网站的整体速度产生一些影响。不幸的是,有成千上万的主题在野外,有好的也有坏的。

那么你应该如何知道选择哪一个呢?我们建议使用以下两个选项之一:

  • 一个快速轻量级的WordPress主题,仅包含您需要的功能,仅此而已。
  • 功能更丰富的WordPress主题,但您可以禁用未使用的功能。

诸如Google字体、Font Awesome图标、滑块、画廊、视频和视差脚本等。如果您不使用它们,这些只是您应该能够关闭的众多功能中的一小部分。您不想在事后尝试手动调整这些。我们不会向您展示 50 种不同的剥离方法。相反,您应该开始或切换到从一开始就轻量级或为您提供这些选项的WordPress主题。

以下是我们推荐的几个WordPress主题,您不会出错!相信我们,你以后会感谢我们的。

下面提到的每个主题都与WooCommerce和Easy Digital Downloads、WPML、BuddyPress和bbPress完全兼容。我们使用以下配置对每个主题运行一些速度测试:

  • 运行WordPress 4.9.8
  • PHP 7.3和SSL (HTTPS)
  • CDN
  • Imagify用于自动压缩图像。

GeneratePress

GeneratePress是一个快速、轻量级(压缩后小于1MB)、移动响应的WordPress主题,在构建时考虑了速度、搜索引擎优化和可用性。由加拿大开发商Tom Usborne建造。它正在积极更新并得到很好的支持。

有免费和高级版本可用。如果您查看WordPress主题库,免费版本目前有超过200,000次活跃安装、2+百万次下载。

GeneratePress

GeneratePress的一大优点是所有选项都使用本机WordPress定制器,这意味着您可以在按下发布按钮之前立即看到所做的每项更改。这也意味着您不必学习新的主题控制面板。

它有多快?我们重新安装了GeneratePress,在Pingdom中进行了五次速度测试,并取了平均值。总加载时间为305毫秒,总页面大小仅为16.8KB。进行基线测试以了解主题在原始性能方面的能力总是好的。

GeneratePress全新安装速度测试

然后,我们使用GeneratePress站点库中的一个预构建主题运行了另一组测试。这包含图像、背景、新部分等。 GeneratePress的一个优势是它有很多不需要页面构建器插件的预构建主题。您可以看到它的时钟仍然低于400毫秒。

GeneratePress全网站速度测试

当然,在现实环境中,您可能会运行其他东西,例如Google Analytics、Facebook remarketing pixel、Hotjar等。但是您应该能够轻松地将目标锁定在1秒以内。在woorkup上查看对GeneratePress的深入评价。

我们将在下面向您展示更多优化和加速WordPress的方法。

OceanWP

OceanWP主题是轻量级和高度可扩展的。它使您能够创建几乎任何类型的网站,例如博客、作品展示、商业网站或WooCommerce店面,设计精美且专业。由Nicolas Lecocq构建,它也得到了积极的更新和良好的支持。

就像GeneratePress一样,有免费版和高级版。如果您查看WordPress主题库,免费版本目前有超过400,000次活跃安装。

OceanWP

它有多快?我们重新安装了OceanWP,在Pingdom中进行了五次速度测试,并取了平均值。总加载时间为389毫秒,总页面大小仅为230.8KB。OceanWP中的脚本稍大,但没有什么可写的。

OceanWP全新安装速度测试

然后,我们使用OceanWP站点库中的一个演示主题运行了另一组测试。这包含图像、背景、新部分和所需的Elementor页面构建器插件。您可以看到它的时钟仍然低于600毫秒。

OceanWP全站速度测试

Astra

Astra是一个快速、完全可定制且美观的主题,适用于博客、个人作品集、商业网站和WooCommerce店面。它非常轻巧(前端小于50KB)并提供无与伦比的速度。由Brainstorm Force团队构建,它得到了积极的更新和良好的支持。您可能会认为他们是流行的All In One Schema Rich Snippets插件的创建者,该插件已经存在多年。

就像GeneratePress和OceanWP一样,有免费和高级版本可用。如果您查看WordPress主题库,免费版本目前有超过400,000次活跃安装、1.6+万次下载。

WordPress主题-Astra

它有多快?我们重新安装了Astra,在Pingdom中进行了五次速度测试,并取了平均值。总加载时间为243毫秒,总页面大小仅为26.6KB

Astra全新安装速度测试

然后,我们使用Astra Starter套件站点库中的一个演示主题运行了另一组测试。这包含图像、背景、新部分和所需的Elementor页面构建器插件。您可以看到它的时钟仍然低于700毫秒。注意:这个演示中的图像是完全压缩的,但他们从一开始就选择了非常高分辨率的图像。

Astra全站速度测试

重要的是要对这三个主题的速度测试之间的差异持保留态度。问题是几乎不可能进行完全准确的并排比较。我们想向您展示的重要一点是,所有这些WordPress主题都非常快速,无论是开箱即用还是完整演示!

关于页面构建器的警告

您可能已经注意到,OceanWP和Astra都要求页面构建器使用他们的站点库主题。在使用页面构建器插件时,请记住以下几点:

  • 某些页面构建器可能会增加您网站的加载时间。这是因为他们必须加载额外的CSS和JS才能在没有代码的情况下为您工作。魔法就是这样发生的!我们始终建议  在安装页面构建器之前和之后对您的WordPress网站进行速度测试。
  • 您正在提交并将自己锁定在该页面构建器中进行设计。确保您选择一个定期更新并拥有长期所需的一切。

话虽如此,我们仍然是Elementor和Beaver Builder等页面构建器的忠实粉丝。在大多数情况下,它们的开发都考虑到了性能,只增加了一点点开销。对于大多数人来说,功能和可用性是值得的,因为这些插件允许您创建任何您能想到的东西!在某些情况下,它们也可能更快,因为它们可能会替代5个以上的其他插件,否则您将不得不使用它们。

但是,如果您不需要页面构建器插件,无论如何,不​​要只安装一个就可以了。看看新的古腾堡编辑器将如何在未来几年的网站设计中发挥作用也很有趣。

WordPress插件的秘密

现在是关于WordPress插件的独家新闻。您可能被告知不应安装太多插件,否则会降低WordPress网站的速度。虽然有时确实如此,但这并不是最关键的因素。插件的数量不如插件的质量重要。 在那里,我们说了。

就像主题一样,插件的开发方式以及它是否在构建时考虑了性能都很重要。有许多客户正在运行30-40个插件,他们的网站仍然可以在不到一秒的时间内加载。

虽然向您的网站添加代码很有趣,但由于以下原因,这并不总是可行的:

话虽如此,当然糟糕的插件是您想要远离的。相信我们,代码编写乱七八糟的插件都直接导致了性能问题。

Francesco有一篇有趣的文章,他深入研究了WordPress插件的负载测试,以了解它们在WordPress站点的后端(在大多数情况下未缓存)上的性能如何。我们将在下面深入探讨如何在您的网站上找到不良插件。

然而,不容忽视的是,人们喜欢WordPress的一大原因是其庞大的第三方插件库。但是,仅WordPress.org就列出了56,000多个免费插件,其他地方还列出了数千个,因此很难找到您需要的一个插件。谈论大海捞针!

我们只尝试分享我们每天使用的东西。是的,我们和其他人一样在我们的网站上使用WordPress插件。

WordPress插件的一大问题

WordPress插件的一大问题是卸载过程。每当您安装WordPress插件或主题时,它都会将数据存储在数据库中。问题在于,当您使用其中一种标准方法删除插件时,它通常会在数据库中留下表和行。随着时间的推移,这可能会增加大量数据,甚至会开始减慢您的网站速度。在我们的示例中,我们卸载了Wordfence安全插件,它在我们的数据库中留下了24个表(如下所示)。如果它们遗留一些数据在wp_options表,那就更糟了。

WordFence数据表

除了数据库之外,很多插件还会留下额外的文件夹和文件。根据我们的经验,这在创建用于日志记录的额外目录的安全和缓存插件中很常见。例如,删除Wordfence插件后,我们在wp-content目录中留下了一个“wflogs”文件夹。我们并不是刻意要说Wordfence,市场上的大多数插件和主题都是这样工作的。

WordFence日志

开发人员为什么要这样做?

所以你可能想知道,为什么开发人员在卸载和删除插件时没有自我清理选项?嗯,他们确实如此。但是,这里有几个原因,为什么它们可能不那么明显。

好消息?有一些方法可以正确清理和删除插件。查看我们的以下教程:

  • 如何卸载WordPress插件
  • 如何手动清理遗留的表

最佳WordPress设置

现在继续优化WordPress设置。您可以进行以下几项更改,以帮助加快WordPress网站的速度。其中许多是非常微妙的变化,但一切都有帮助!

更改您的WordPress登录URL

默认情况下,您的WordPress站点的登录URL是domain.com/wp-admin/. 这样做的问题之一是所有的机器人、黑客和脚本都知道这一点。通过更改URL,您可以减少自己的目标,更好地保护自己免受暴力攻击,并减少重复访问此URL的机器人使用的带宽。

更改您的WordPress登录URL还有助于防止诸如“429 Too Many Requests”之类的常见错误。这不是万能的解决方案,它只是一个小技巧,可以帮助保护您并减少该页面上的负载。

要更改您的WordPress登录URL,我们建议使用以下插件之一:

  • WPS Hide Login(免费)
  • Perfmatters(高级版,但包括其他性能优化设置。)

在Perfmatters中更改WordPress登录URL

禁用或调整插件和主题更新

缓慢的WordPress管理仪表盘可能会受到网络、数据中心位置甚至PHP版本的影响。但另一个很少有人谈论的因素是在后台运行的WordPress更新检查器。这是拥有大量WordPress插件和主题可能会伤害您的一种情况。WeFoster有一篇关于此的很棒的博客文章,他们创造了“第三方插件更新检查综合症”或TPPUCS这一短语。

本质上,问题在于内置的WordPress更新检查器在幕后发出外部GET请求 ( https://third-party-plugin/update-check.php)。有时这可能是周期性的或非常频繁的。如果它一直发生,这可能会使您的管理仪表板陷入困境。

这更多是WordPress中的更新检查器构建方式的问题。如果您正遭受WordPress管理仪表盘加载时间缓慢的困扰,您可能想尝试一下。补救措施是禁用自动更新。警告:仅当您打算手动检查更新时才这样做。许多更新包括安全性和错误修复。

要禁用更新,我们建议使用以下插件之一:

  • Disable All WordPress Updates:完全免费,无需设置。做它说的很好。
  • Easy Updates Manager:提供对选择性更新的更多控制。核心版本是免费的。

您可以轻松地为自己设置日历提醒,每周禁用一次插件,检查更新,然后重新启用它。

禁用Pingback

Pingback是被创建时,另一个博客链接到你的自动化评论。当您链接到自己博客中的文章时,也可以创建Self-Pingbacks。

我们建议您简单地禁用它们,因为它们会在您的网站上生成毫无价值的查询和额外的垃圾邮件。请记住,您的WordPress网站呼叫越少越好,尤其是在高流量网站上。更不用说在您自己的网站上进行pingback非常烦人的事实。请按照以下步骤禁用pingback。

步骤 1 – 禁用来自其他博客的Pingback

在您的WordPress仪表盘中,单击“设置 → 讨论”。在“讨论设置”部分下,取消选中“ 允许其他博客发送链接通知(Pingback和Trackback)到新文章”选项。

在WordPress中禁用pingback

第 2 步 – 禁用Self-Pingbacks

在禁用Self-Pingbacks时,您有几种选择。您可以使用免费的No Self Pings插件。或者你可以使用像Perfmatters这样的高级插件 。

使用Perfmatters禁用自pingback

或者,您也可以通过将以下代码添加到您的WordPress主题functions.php文件来禁用Self-Pingbacks 。警告,如果操作不当,编辑WordPress主题的源可能会破坏您的网站。提示,您可以使用免费的代码片段插件轻松添加这样的PHP片段。这意味着您永远不必触及您的主题。

function wpsites_disable_self_pingbacks( &$links ) {
foreach ( $links as $l => $link )
if ( 0 === strpos( $link, get_option( 'home' ) ) )
unset($links[$l]);
}
add_action( 'pre_ping', 'wpsites_disable_self_pingbacks' );

限制Feed项目及页面文章数量

无论您的博客Feed设置为主页还是网站的另一个页面,您都不需要同时加载50个缩略图。对于那些运行高流量博客的人来说,您的主页是您网站中最重要的页面,您希望它能够快速加载。请求和媒体越少,性能就越好。

此外,这正是发明分页的原因(如下所示)。分页是您在博客Feed末尾看到的内容,可让您浏览到下一页。通常这些是数字,或者他们可能使用“下一个/上一个”文章。您的WordPress主题很可能已经内置了自定义分页。

分页

默认情况下,WordPress将新WordPress安装的限制设置为10,但我们已经看到这种变化太多次了,我们已经数不清了。因此,请务必仔细检查您使用的值。我们推荐8到12之间的某个值。

您可以在WordPress管理仪表盘的“设置 → 阅读”下找到此选项。然后,您可以更改“最多显示博客页面”的值。

WordPress限制列表文章数量设置

为什么缓存如此重要

到目前为止,缓存是加速WordPress最重要和最简单的方法之一! 但在我们向您展示如何使用缓存之前,必须首先了解它的工作原理以及可用的不同类型的缓存。

什么是缓存?

简而言之,在您的WordPress站点上访问的每个网页都需要向服务器发出请求,由该服务器进行处理(包括数据库查询),然后将最终结果从服务器发送到用户的浏览器。结果是您的网站,包含所有文件和元素,使其看起来像它的样子。

例如,您可能有一个标题、图像、一个菜单和一个博客。由于服务器必须处理所有这些请求,因此将完整的网页交付给用户需要一些时间——尤其是对于笨重或较大的网站。

这就是WordPress缓存插件发挥作用的地方!缓存指示服务器将一些文件存储到磁盘或RAM,具体取决于配置。因此,它可以记住并复制过去提供的相同内容。基本上,它减少了生成页面视图所需的工作量。因此, 您的网页加载速度更快,直接从缓存中加载

缓存的其他一些好处包括:

  • 您的服务器使用更少的资源——这与速度有关,因为资源越少,网站速度就越快。但是,它也减轻了您服务器的压力。这对于高度动态的站点(例如会员站点)以及确定可以和不可以从缓存中提供的内容非常重要。
  • 你会看到更低的TTFB -缓存是降低你的最简单的方法之一TTFB。事实上,在我们的测试中,缓存通常会将TTFB减少多达90%!

缓存类型

对于缓存类型,常用的有两种不同的方法:

1. 服务器级缓存

到目前为止,服务器级别的缓存对于最终用户来说是最简单的方法之一。这意味着WordPress托管服务提供商会为您处理。您可以使用以下四种类型的缓存,它们都是在软件或服务器级别自动完成的:

  • 字节码缓存
  • 对象缓存
  • 页面缓存
  • CDN缓存

这意味着您无需担心弄乱任何复杂和令人困惑的缓存插件。

页面缓存配置为与标准WordPress一起开箱即用。你什么都不用做!只需启动您的WordPress网站,页面缓存就会开始发生。

您还可以为WooCommerce和Easy Digital Downloads等电子商务网站制定了缓存规则。默认情况下,某些不应该被缓存的页面,例如购物车、我的账户和结帐,被排除在缓存之外。当做服务器缓存时,必须设定一些cookie及用户操作规则,以便于用户触发规则时自动绕过缓存,以确保结帐过程顺利且同步。

如果做服务器级别的缓存策略,最好能够有快速清理缓存的路径,比如在WordPress仪表盘添加清理缓存入口,或者一键清除缓存的命令行等等。

2. 使用插件缓存

如果您的托管服务提供商不提供缓存,您可以使用第三方WordPress缓存插件。根据我们的经验,我们建议以下之一:

您还可以在我们关于WordPress缓存插件的深入文章中查看一些其他选项。

无缓存与缓存

缓存有多大帮助?

下面是做与不做服务器级缓存的一些速度测试,因此您可以看到它在整体速度和TTFB方面的差异。

无缓存

我们首先在没有启用缓存的情况下在Pingdom上运行了五个测试并取了平均值。

无缓存速度测试

无缓存TTFB

同样重要的是要注意TTFB没有缓存和有缓存的区别。Pingdom中的TTFB由黄色的“等待”栏表示。如您所见,没有缓存的TTFB为192毫秒。您可以看到它不是从缓存中提供的,因为x-kinsta-cache标头显示的是MISS。

TTFB无缓存

启用缓存

然后我们启用服务器级缓存并在Pingdom上运行五次测试并取平均值。

缓存启用速度测试

如您所见,服务器级缓存将我们的页面加载时间减少了33.77%! 这不需要任何额外的工作。我们测试的这个站点也经过了相当的优化,因此较大的未优化站点必然会看到更大的差异。

启用缓存的TTFB

现在,如果我们查看启用缓存的TTFB,我们可以看到它低于35毫秒。您可以看到它是从缓存中提供的,因为x-kinsta-cache标头显示了HIT。

带缓存的TTFB

CDN缓存也与来自WordPress主机的缓存同样重要。我们将在下面进一步深入研究CDN。

缓存和会员站点的问题

会员网站包含许多无法缓存的内容和不断变化的页面。诸如社区成员的登录页面(根据站点的大小可能会不断被点击)、数字商品或课程的结帐页面以及讨论板等内容是常见的罪魁祸首和痛点,因为这些通常无法缓存。

然而,它还不止于此。在标准WordPress站点上,WordPress仪表盘也不会为“登录”用户缓存。当您只有少数作者和管理员时这很好,但是当您突然有数千名成员使用仪表板时,这会立即导致性能问题,因为它无法从服务器上的缓存中提供服务。这意味着您需要幕后的力量和架构来支持它。在这些情况下,共享主机提供商通常会瘫痪。

高动态站点的对象缓存

对于WordPress会员站点,您的常用缓存设置通常是不够的,因为它们并不总是充分利用它。这就是对象缓存发挥作用的地方

对象缓存存储数据库查询的结果,以便下次需要特定位的数据时,无需查询数据库即可从缓存中传送。这加快了PHP的执行时间并减少了数据库的负载。这对于会员网站变得非常重要!使用WordPress,您可以通过几种不同的方式实现对象缓存:

分析缓存

还记得x-kinsta-cache 我们上面提到的那个标题吗?根据您的托管服务提供商或缓存解决方案,标头的名称可能略有不同。每次从您的WordPress站点发出请求时,标头都有一个值,例如HIT、BYPASS、MISS和EXPIRED。这使您可以查看缓存的执行情况。

提高WordPress网站的缓存命中率很重要,因为您希望尽可能多的网站从缓存中获得服务。您可以分析缓存日志中的数据, 以确定是否存在可以缓存的缓存BYPASSing GET请求或可以消除的POST请求。

缓存组件堆栈(如下所示)让您可以查看每个请求的状态,无论是HIT、BYPASS、MISS还是EXPIRED。您可以按过去24小时、7天或30天过滤数据。

缓存组件栈

缓存组件图表让您一目了然您的缓存比率。您从缓存中提供的请求越多越好。正如您在下面的示例中看到的,这个WordPress站点的HIT缓存率为 96.2%。哪个好!

缓存组件图

顶部缓存绕过部分可让您查看哪些请求未从

本文名称:WordPress网站速度优化终极指南
标题路径:http://www.gawzjz.com/qtweb/news7/176257.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联