WordPress是一个非常强大和流行的内容管理系统(CMS)。它目前支持互联网上所有网站的32%以上。这意味着你访问的每四个网站中最有可能运行WordPress。EA,CBN,ESPN甚至白宫等网站都使用WordPress为其网站供电。我个人认为,在简化网站的在线营销方面,WordPress是企业主甚至企业网站的最佳解决方案。
一个反应速度慢的网站
即使WordPress超级流行,它也可以带来代价。而且这个代价就是网络性能。最初WordPress是作为博客平台创建的。但它已经发展到远不止于此。随着这种演变,需要更多的功能。如果没有正确设置,WordPress有很多不同的配置可以运行得很慢。
一个缓慢的网站将永远对访客的体验非常不利。它可以在你的反弹和转化率中起主要作用。拨号的日子早已过去,人们没有他们过去的耐心。如果他们被困在等待5秒的页面上,他们很可能会点击后退按钮并选择下一个搜索引擎结果来查找他们正在寻找的内容。根据我的经验,推荐的网站加载时间是2秒或更短。如果你的网站高于此,那么你可能已经完成了一些优化。
你现在应该做的第一件事是测试你的WordPress网站的速度。这将为你提供开始的基准。作者推荐免费的Pingdom速度测试工具。由于缓存和CDN,请确保至少运行三次测试以获得正确的结果。
加速WordPress
在这篇文章中,作者想逐步介绍如何配置我的所有WordPress站点以及如何轻松实现500ms(毫秒)加载时间的速度。
关于我的一点点。作者花了10多年时间使用WordPress,目前正在为高性能托管WordPress托管公司Kinsta工作。在此之前,作者曾在全球内容交付网络KeyCDN工作。作者花了数千小时优化WordPress网站,以确保它们以最佳性能运行。作为一名互联网营销人员,WordPress帮助作者实现了惊人的成就,它也可以帮助你!只需按照以下步骤即可立即加速WordPress。
作者保证,无论你的背景或专业水平如何,你都会在作者网站的帖子中找到有用的内容。
- 选择快速WordPress主机
- 内容分发网络(CDN)
- 利用Perfmatters插件
- 优化数据库
- 轻量级WordPress主题
- 摆脱可不用的插件
- 压缩图像
- 将CSS最低限度压缩
- 更改网络字体
- WordPress缓存
- 调整谷歌分析
- 速度测试结果
- 获得Web性能审核
- 附加加速WordPress的技巧
- Perfmatters汉化下载
1、选择快速WordPress主机
加速WordPress最简单,最重要的方法之一就是从坚实的基础开始。这意味着选择一个可靠而快速的WordPress主机。
?到目前为止,这是你整体页面加载时间的最大因素。
如果你在一个小网站上,你最有可能在廉价的共享网络托管计划。计划本身的名称确实定义了它的含义。“共享”一词意味着你的网站与许多其他人的网站一起托管在服务器上。这意味着他们都在争夺相同的资源。
我敢肯定你会一直看到人们在宣传BlueHost托管。不幸的是,很多这些网站都是由联盟营销人员经营,只是想快速赚钱。大多数情况下,联盟营销人员实际上并没有使用它们,他们只是将人们引荐给他们。选择像BlueHost这样的主机是你在托管网站时做出的最糟糕的决定之一。你知道BlueHost归EIG所有吗?EIG是一家一直在购买所有蹩脚主机的公司。以下是EIG拥有的完整主机列表。你几乎可以期待所有人都能提供同样糟糕的服务。
虽然我确实是一名联盟营销人员,但我对网络性能的热情始终胜过这一点。这就是为什么我只会将你推荐给我目前用于我的网站的网络托管服务提供商。拥有一个优秀的网络托管服务提供商意味着你不必担心停机或速度。以下是我支持100%的两个WordPress托管服务提供商。
选项1 – 经济实惠的WordPress主机 – SiteGround
如果你正在寻找更实惠的WordPress主机,我强烈推荐SiteGround。他们提供HTTP/2,PHP 7,SSD和大量其他功能的共享主机,每月只需3.95美元!这与共享主机托管商一样好。
SiteGround非常棒,如果你需要一个便宜的主机,它仍然拥有大家伙所做的一些最新功能。一旦你开始获得大量的流量,我建议你投资一个更大的主机,如Kinsta。
选项2 – 高性能托管WordPress托管 – Kinsta
如果你正在寻找高性能的托管WordPress主机,我只能赞美Kinsta。Kinsta的庞大功能集实际上使它们与其他托管的WordPress托管公司区别开来。如果你去鲨鱼坦克,Kinsta就是你想要的主机。Kinsta目前的一些客户包括Mint.com,Ubisoft,TripAdvisor和Intuit等!
Kinsta的一些功能包括Nginx,Ubuntu,PHP 7.2,HTTP/2,CDN,免费SSL,MariaDB,通过亚马逊线路53的免费高级DNS,通过New Relic进行正常运行时间监控,并且他们在业务中拥有一些最好的支持!他们使用软件容器,这意味着站点之间不共享资源。我的所有网站都使用Kinsta托管。
2、内容分发网络(CDN)
无论你的网络托管服务提供商有多快,你都无法摆脱延迟问题。托管网站时,它始终存储在数据中心某处的单个服务器上。对于全国各地的访问者来说,事情要慢得多,因为它必须在全球范围内下载所有内容。CDN通过在全球范围内的服务器(也称为POP)上存储你的资产副本(如图像,CSS和JavasScript)来修复此问题。它还会缓存它们。这样,当来自全球各地的访问者查找你的网站时,内容将从本地POP而不是你的Web服务器传送。
我当然在我的所有网站上使用KeyCDN。持有POPs(目前为33个)的POP数量为0.04美元/GB(全球最低价格),实际上没有比较,这是一个明智的选择。KeyCDN还免费提供原始盾牌和安全令牌,大多数其他提供商收取数百美元。KeyCDN还具有免费的Let’s Encrypt集成,因此你可以免费部署SSL。它们完全支持HTTP/2和最新协议,以便尽快传送你的内容。
如果你还没有使用CDN那么你就是在消耗自己的建站时间。具有相当大流量的博客通常在20-25 GB带宽范围内,并且实施CDN每月花费不到3美元。突然之间,你的网站将从世界各地的多个POP中获得增值。我使用免费的CDN Enabler插件来部署我的CDN。
Kinsta实际上与KeyCDN合作。因此,如果你将Kinsta用作WordPress主机,则免费提供KeyCDN!?
设置WordPress CDN插件
CDN Enabler是一个完全免费的WordPress插件,旨在将你的资产链接到你的内容交付网络提供商(CDN)。了解CDN如何帮助你将网站加速68%!
在撰写本文时,该插件目前有10,000多个有效安装,并且评分为4.8星,满分5星。人们似乎都很喜欢它。以下是一些评论。
找不到比这更容易的插件来为你的网站提供CDN。快捷方便,供你所需!- kmartin26
它速度极快,没有不必要的功能。- bnwmovies
如果你在redis缓存上运行并且不想要任何膨胀的缓存插件,那么它非常轻量级并且似乎运行良好。- rsmith4321
这个插件究竟做了什么?基本上,当你使用CDN时,他们会为你提供一个特殊的URL,例如cdn.yourdomain.com。这需要在所有WordPress图像,CSS和JavaScript文件上进行更新。这个插件让你输入你的CDN网址和boom。
怎么样?你准备好了! 请按照以下步骤进行安装并进行设置。
第1步
在WordPress面板中的“插件”下单击“添加新的”,然后搜索“CDN Enabler”。它应该是第一个出现并附着“作者:KeyCDN”。然后单击“立即安装”按钮。如果你愿意,也可以直接从存储库下载CDN Enabler。
第2步
单击“激活插件”。
第3步
在WordPress仪表板的“设置”下,单击“CDN Enabler”。然后,如果你使用的是通过HTTPS运行的CDN,则需要输入CDN URL并启用HTTPS选项。如果你不知道如何查找CDN URL,可随时向CDN提供商寻求帮助。然后单击“保存更改”。
就这样!现在,你网站上的所有内容都将链接到CDN。
但是由于墙的缘故,https://keycdn.com自2016年打开则为“451 Restricted”状态。
对于内陆来说,如果不需要https支持,更推荐使用Azure CDN(Verizon),表现极为优秀,如果你想使用https,则推荐CloudFront和CDNsun(有$50的最低充值额)
当然,如果需要或者想要备案,就另当别论了!
3、利用Perfmatters插件
Perfmatters是一个轻量级的WordPress性能插件,由我和我的兄弟开发,基本上包括我们在我们的网站上使用的所有窍门,以获得在竞争中的额外优势。只需点击几下,即可从我们的网站获取所有秘密武器。
它的一些功能包括:
- 禁用表情符号
- 禁用自我Pingback
- 禁用XML-RPC
- 在本地托管分析
- 禁用和/或限制WordPress修订
- 删除从静态资源中查询字符串
- 禁用嵌入
- 更改频率和/或禁用Heartbeat API
- 更改自动保存间隔
- DNS预加载
- 预先载链接
- 直接从插件开发者获得支持
你还可以在每个页面/每个帖子的基础上禁用WordPress中的脚本。这非常强大,可以大大提高WordPress网站(尤其是你的主页)的速度。以下几个例子可以用于:
- 流行的联系表单 7插件会在每个页面和帖子上加载。你只需单击一下即可轻松地在任何地方禁用它,并仅在你的联系页面上启用。
- 社交媒体分享插件只应加载到帖子上。你可以轻松地在任何地方禁用它,只加载在帖子类型甚至自定义帖子类型上。例如,由于Perfmatters插件,你现在在这篇文章的侧边栏上看到的社交分享插件不会加载到我们的任何页面上。
以及更多!它甚至还具有CDN链接功能。因此,如果你使用我们的Perfmatters插件,则无需使用CDN Enabler插件。(上面提到的)
4、优化数据库
接下来要做的是确保优化WordPress数据库。如果你之前没有这样做过,那么你需要检查并确保没有任何混合的MyISAM和InnoDB表。基本上,有两种不同类型的MySQL表。InnoDB已经证明自己要快得多。谈到加速WordPress的方法,这往往是一个被忽视的优化。
接下来要做的就是清理最有可能位于数据库中的旧版本修订和草稿。有多少WordPress网站所有者不这样做,我总是感到惊讶。
你应该把WordPress视为汽车,这意味着检查油脂,调整等等。
你可以安装免费的WP-Optimize插件并运行优化。正如你在下面所见,在我的案例中,数据库中有108个修订版。这不是很多,但是前进总是很好,从一个新鲜的板岩开始。注意:我在运行清理后立即删除了插件。
或者你可以通过将以下代码添加到wp-config.php文件来手动完成。在这个例子中,我将它们限制为3。
define('AUTOSAVE_INTERVAL', 300); // seconds
define('WP_POST_REVISIONS', 3);
将代码添加到’ABSPATH’之上非常重要,否则,它将无法正常工作。
你也可以完全禁用修订。
5、轻量级WordPress主题
WordPress主题可以建立或破坏你的网站。有很多臃肿的主题可以让你的网站爬行。当你寻找WordPress主题时,你希望确保从具有良好开发人员和支持信誉良好的公司购买。我在所有WordPress网站上使用GeneratePress;包括我的博客和电子商务网站。
我只是通过改变主题看到了450毫秒的减少,没有别的!感谢GeneratePress的开发人员汤姆。他保持轻量级,并且仍然包含大量功能,因此你可以逐字地构建所需的任何类型的站点。
我真的想提一下,你应该小心在ThemeForest上购买主题和产品。我并不是说ThemeForest的所有开发人员都很糟糕,但不幸的是,很多人只是添加膨胀的功能和眼花缭乱的效果以增加他们主题模板的销售额。
6、摆脱可不用的插件
下一步是摆脱技术上没有的所有不必要的插件。这是我喜欢使用WordPress的一个原因。有很多不同的方法可以完成任务。如果你选择Shopify或Wix这样的另一个平台,你就会被困在某种程度或者更糟的情况下,你根本无法修复它。
源:imgflip
这是我在自己的网站上删除的插件:
- Scoll to Top按钮(GeneratePress主题中已包含的滚动到顶部按钮)
- Simple Custom CSS(已经内置到GeneratePress使用的WordPress定制中)
- Standout Color Boxes(走CSS路线)
- Bloom(此插件有太多请求,切换回MTS WP Subscribe Pro插件)
- Hero Favicon Generator(作者使用GeneratePress主题中的钩子从作者的CDN加载自己的favicon。你可以查看作者的GeneratePress评论中的内容。)
- TweetDis(最近切换到Social Warfare,其中还包括推文短代码)
- Crayon Syntax Highlighter 蜡笔语法荧光笔(切换到原生WP代码语法,没有任何插件)
- Mango Buttons(简单地切换到本站制作的CSS按钮,不需要插件)
7、压缩图像
图像压缩(使图像文件更小)不再是可选的。这是你能做的最简单的事情之一!将全分辨率图像上传到网站上,尤其是小型共享网络托管计划上的图像,可以真正减慢网站上的加载时间。如果在不降低图片质量的情况还照样压缩,你绝对会为此感到惊讶。
我使用Imagify WordPress插件使用有损压缩来压缩我的所有图像。我添加到页面或帖子的每个图像都会在后台自动压缩。我不必做任何不同的事情。
8、将CSS最低限度压缩
以我的旧主题,我不得不修复很多东西,让它按照我想要的方式工作。我的自定义CSS文件有247行代码。切换主题后我浏览了每一行,并设法将其降低到88行代码。这只是为了向你展示GeneratePress主题的编码效果。
新的CSS按钮
如果你很好奇,这是我正在使用的新CSS按钮。
@media only screen and (max-width:480px) {
.hide_on_mobile {
display: none !important;}
}
.widget .title {
font-weight: normal !important;}
.btn {
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 4px;
font-family: 'Microsoft YaHei';
text-align: center;
color: #ffffff !important;
font-size: 16px;
background: #24a3e2;
padding: 8px 18px 8px 18px;
text-decoration: none;
border-bottom: 2px solid #3881a5 !important;
position: relative;
display: inline-block; }
.btn:hover {
background: #39abe5;
text-decoration: none;
}
这是HTML代码。你甚至可以更进一步创建自己的短代码。但通过这种方式,我从按钮插件中删除了一个HTTP请求。
< a class="btn" rel="noopener">button text</a >
9、更改网络字体
我最近对网络字体性能进行了大量研究。我放弃了Adobe Typekit服务。这样做我看到额外减少了300毫秒。Typekit添加了2个外部HTTP请求,它还对所有字体格式进行了base64编码。如果你不熟悉字体,则不再需要提供所有字体格式,你只需要WOFF和WOFF2(如果要进行额外压缩)。
在性能更好的字体方面,你有几个选择。
选项1:使用Google字体
谷歌字体非常实用的一个非常具体的原因,它们可能已经缓存在访问者的计算机上。因此,如果某人使用常见的Google字体访问你的网站,则可能无需再次加载。对Google的外部呼叫也比使用Typekit这样的第三方快得多。当Typekit发生故障时,它会偶尔发生一次,这似乎是互联网中断的一半。
选项2:在你的CDN上托管Google字体/自定义字体
我选择了这个选项。我使用的是我真正喜欢的自定义字体,Google无法提供。然而,问题在于我将我的CDN以及所有其他媒体托管在我的CDN上。这样做的一个好处是由于没有对第三方进行DNS查找。
选项3:系统字体堆栈
你的第三个选择是转移到他们所谓的系统字体堆栈。随着更新的操作系统,字体现在看起来比以前好多了。这意味着你可以告诉你网站的访问者使用操作系统字体。这意味着你的WordPress网站上根本没有加载任何字体文件!这是迄今为止最快的选择。
但是你会想要权衡利弊。你想要看起来很花哨的东西还是想要快速的东西?
DNS预取
还建议你预取字体文件。你可以通过将位置添加到WordPress header.php文件来实现此目的(下面的示例)。或者,如果你正在使用Perfmatters插件,则可以在设置中轻松执行此操作。
<link rel="dns-prefetch" href="//fonts.loli.net/">
10、WordPress缓存
显然每个人都知道缓存WordPress网站的重要性。有免费的缓存插件,如W3 Total Cache和WP Super Cache,但就速度而言,我从未对它们印象深刻。它们的设置也要复杂得多。
建议使用WP Rocket(premium)或Cache Enabler(免费)。或者更好的是,如果你使用Kinsta托管WordPress网站,则会自动在服务器级别为你执行缓存!所以不需要麻烦使用缓存插件。?
但是,如果你使用共享主机,则需要一个缓存插件。
启动WordPress缓存
免费的WordPress缓存启用程序插件由团队在KeyCDN创建,KeyCDN是一个全球内容交付网络,专注于加速内容交付。该插件是使用HTTP/2开发的,并且简单易用。设置缓存插件不应该是疯狂复杂或涉及25个以上的步骤。
它是如何工作的?好吧,基本上它会创建静态HTML文件,然后存储在Web服务器的磁盘上。当访问者访问你的网站时,会提供静态HTML文件。由于它是静态的,这可以超快速地交付!为什么?因为它几乎绕过了插件,数据库等。
截至撰写本文时,该插件目前的评分为4.6星,满分5星。人们似乎很喜欢它。以下是一些评论。
简单和有效。爱它!- atomiccherry
喜欢这个轻量级的插件!它甚至支持WebP!安装后看到提速!- tandkb
漂亮而简单的缓存插件,效果很好,甚至支持EWWW Image Optimizer生成的WebP图像。真棒!- nosilver4u
启动缓存功能
启用缓存插件具有以下功能:
- 将HTML缓存到磁盘
- 在发布新页面/帖子时自动清除缓存的功能
- 手动清除功能
- 显示WordPress仪表板中缓存的总大小
- 缩小你的HTML和JavaScript
- 支持WP多站点和自定义帖子类型
- 能够设置到期指令
- WebP支持(与Optimus,ShortPixel或EWWW结合使用时)
- 自WP 4.4以来,通过srcset支持响应式图像
- 与Autoptimize一起使用
- HTTP/2 Focused
仪表板中缓存大小的示例
在WordPress仪表板中,你可以在“概览”窗口小部件中清楚地看到当前缓存中的大小。
仪表板中缓存大小的示例
你可以直接从WordPress管理栏中清除页面/帖子或清除整个缓存。
如何安装Cache Enabler
请按照以下步骤安装免费的WordPress Cache Enabler插件。
第1步
在WordPress仪表板下的“插件”中,单击“添加新”并搜索缓存启用程序。确保通过KeyCDN为作者说明。单击“立即安装”按钮。你也可以直接从WordPress存储库下载它。
第2步
激活插件后,你需要启用一些设置。在WordPress仪表板下的“设置”中,单击“缓存启动器”。我建议启用预压缩选项以及WebP支持。你可以使用Optimus Image Optimizer插件,ShortPixel或EWWW来利用此功能。
WebP是谷歌的图像格式,有时可以减少超过70%的图像尺寸!我还建议为HTML和JavaScript启用缓存缩小。注意:如果你有任何问题,可能必须禁用JavaScript缩小并仅使用HTML。例如,Disqus插件在JavaScript缩小时效果不佳。
第3步(可选)
你可以使用一个高级代码段来绕过WordPress中的PHP。这是一个可选步骤,但你会看到更快的速度提升!我正在使用它来进行下面的速度测试。
缓存启动器速度结果
现在让我们看看速度测试的内容。我在全新安装的WordPress上使用它,并运行了二十六个主题。如果你有一个更大的网站,你可以看到更快的增长!
没有缓存
首先通过Pingdom运行了5次测试,并且没有运行缓存插件。
使用Cache Enabler插件
然后通过Pingdom再进行了5次测试,并在启用了免费的Cache Enabler插件的情况下获得了平均值。
你可以看到Cache Enabler插件将加载时间从537毫秒减少到390毫秒。使用免费插件只需2分钟的设置工作,速度提高了27.37%!不是太寒酸。
正如你所看到的,对于免费插件,WordPress Cache Enabler插件可以为你的网站或博客创造奇迹。它的设置非常简单,你会看到速度急剧增加。
11、调整谷歌分析
在过去的公司代理机构工作中,默认情况下我一直在我的Google Analytics帐户中启用广告功能和再营销。但是,在我的博客上我不使用任何数据,所以最好删除它。为什么?因为如果你正在运行这些功能,你实际上会对此文件发出第二个HTTP请求:https://stats.g.doubleclick.net/r/collect?
然后,你的主Google Analytics脚本将在响应标头中包含302重定向。
你可通过在Google Analytics帐户中关闭再营销和广告报告功能来解决此问题。
你还可通过将以下代码添加到Google Analytics脚本来停用这些功能。
ga('set', 'displayFeaturesTask', null);
在本地托管Google Analytics还可以通过减少额外的DNS查找并解决其脚本中的“利用浏览器缓存”问题来帮助加快你的网站速度。它还允许你从自己的CDN加载分析脚本,这可以帮助你利用单个HTTP/2连接。
注意:这不是谷歌正式支持的,但我们多年来一直这样做没有任何问题。这可以通过我们的Perfmatters插件轻松完成(如下所示)。
12、速度测试结果
在我完成上述所有操作后,这是我的速度测试结果。测试运行5次并取平均值。Woorkup的最终加载时间不到500毫秒。
优化后的速度测试(来源:Pingdom)
不是太寒酸吧?我设法将HTTP请求从90减少到36。我将页面大小从939.9 KB减少到291.5 KB。我将加载时间从1.52s减少到495ms!
随意点击这个网站,看看它加载的速度有多快。
13、获得Web性能审核
还需要额外的提升吗?如果你对速度仍不满意,我总是建议你聘请专家并在你的网站上完成审核。
目前,强烈推荐可编码专家迈克·安德列亚森进行Web性能审核和HTTPS转换。以下是迈克的Web性能优化之前和之后客户端站点的示例。
14、附加加速WordPress的技巧
以下是我正在做的其他一些你可能想要查看的内容。
从笔者的CDN加载个人gravatars。
笔者使用Perfmatters插件通过心率线来修复admin-ajax.php的缓慢。
本站已禁用此网站上的帖子修订版。
但实际上笔者对结果仍不满意。在性能方面,笔者是非常强迫症,所以笔者将一直在优化。这是一项永无止境的工作。请务必为此帖添加书签,因为笔者会不断更新它。希望以上关于如何加速WordPress的经验将为你留意。
本站已将Perfmatters进行汉化,有需要的请直接点击下载。
备用地址:
http://t.cn/EqrpEmq
https://www.sendspace.com/file/0uvdik