很多人会觉得 WordPress 搭建的网站速度很慢,每次都要很久页面才能加载完成。那事实真的是这样吗?你有没有想过,有可能是你不会优化呢?
作为全球主流建站系统,世界上有超过一半的网站都是使用 WordPress 搭建的,如果它真的这么拉胯的话,还会有这么多人用它建站吗?想了解更多关于 WordPress 介绍的,可以看下我这篇博客《什么是 WordPress》,这里就不过多介绍了。
为什么要优化网站速度
这个问题我们主要从两个方面来看,一个是用户体验,另一个是网站排名。
用户体验
这个答案其实很明显,换位思考下就知道了。假设我们自己在互联网上查找东西,当点了一个网页之后,好几秒都加载不出来,你会一直等页面加载出来的概率是多少?大多数人应该是直接关闭网页走人吧。
据国外一些机构调研,只要你的网站加载速度超过 3 秒,就会有大概 40% 的用户离开你的网站。现实是,很多人的网站加载速度,远远大于3秒,其页面打开率可见一斑。
网站排名
网站加载速度一直是谷歌强调的排名因素之一,还推出了 Core Web Vitals (核心网页指标)帮用户审查自己的网站是否达到了优秀标准。
核心网页指标分为三个部分,LCP(最大内容绘制)、FID(首次输入延迟)、CLS(累积布局偏移)。这些数据可以通过 PageSpeed Insights 测速得到,它还会告诉你修改建议。
- LCP:0-2 秒(优秀)、3-4 秒(需要改进)、超过 4 秒(欠佳)
- FID:0-100 毫秒(优秀)、200-300 毫秒(需要改进)、超过 400 毫秒(欠佳)
- CLS:0-0.1(优秀)、0.1-0.25(需要改进)、超过 0.25 秒(欠佳)
影响 WordPress 网站速度的主要因素
作为一款主流建站工具,它在不同人的手里展现出了不一样的效果,有的人做的网站速度很快,有的人做出来的网站半天打不开。其实导致这种情况的主要原因有以下几种:
- 服务器:如果面向海外客户的话,就不要买国内的服务器,而且不要为了追求便宜买垃圾服务器。
- 页面设计:不要过度追求页面动效,交互越多,加载越慢,而且要控制页面大小,不要把所有东西都放在同一个页面上。
- 图片大小:过大的图片会严重影响页面加载速度,千万不要将未优化的图片直接上传到网站后台,应该先使用压缩工具压缩之后再使用。
- 插件数量:不要沉迷于用各种插件实现一些有的没的功能,插件越多,网站加载速度越慢,只安装必要的就行了。
- 插件兼容:虽然 WordPress 以强大的插件市场出名,但是大多数都是第三方公司开发的,它们彼此之间可能会发生冲突,影响网站。
- 外部脚本:第三方工具 、广告、字体等外部脚本,可能会引入额外的 HTTP 请求,导致网站速度变慢。这个具体解决办法我们下面会说。
如何测试网站速度
主流的测速软件有两个,一个是 PageSpeed Insights,另一个是 Gtmetrix。
接下来以我自己的网站为例,虽然我这个网站做了有段时间了,但因为一边上班,一边学习新的东西,博客更新频率特别低,看了下后台,3年多了,才写了26篇博客……可能就是因为时间间隔太久了吧,感觉我的文风变化好大,估计跟我当下的状态有关。。。
博客都懒得写 ,更别说优化网站的速度了,根本没空去折腾这些东西。但最近看网站流量上来了(可能是因为我现在勤奋了?),担心速度会影响大家的浏览体验,所以想着优化下,顺手写了你现在看到的这篇博客。
下方图片都是我刚截的,就我这更新速度,没必要弄虚作假,哈哈哈。。。
使用 PageSpeed Insights 测试网站速度
这是谷歌官方的测速工具。
这个分数仅供参考,因为实际页面加载速度跟所处位置、网络情况关系很大。
使用 Gtmetrix 测试网站速度
第三方测速工具,也是很多人使用的。
如何优化 WordPress 网站速度
话不多说,接下来我们看下有哪些方法可以提高自己的 WordPress 网站速度。
1. 选个好的服务器
我们网站的内容都是存储在服务器上的,所以一个优质的服务器对网站的加载速度可以说是起了决定性的作用。
客户是国内的就买阿里云之类的国内服务器,客户是海外的就买国外的主流服务器。主要客户群体在欧美的话,就将服务器放在欧美,主要客户在东南亚的话,就将服务器放在东南亚,反正就是你面向的客户在哪,就将服务器放得离他们近一点。
服务器的话分为虚拟主机、VPS、托管型等,这个大家根据自己需求购买就行了。反正只要知道一个道理,贵的总有贵的道理。当然不排除一些性价比高的,只要花时间研究还是能买到的。
我这个博客网站用的是 hostinger 的 WordPress 托管型主机,托管型服务器的好处就是会对 WordPress 网站做一定程度的优化,而且自动备份、缓存优化、安全防护等基础功能都有,不用操太多心。
速度的话你们也看到了,我网站的交互效果是比较多的,不像很多博客网站看起来那么清汤寡水。目前这个网站还没做什么优化措施,所以移动端的加载速度明显慢很多,但是 PC 端的话,没优化也有 91 分,算很不错了。
2. 启用 CDN 服务
对于外贸网站来说,CDN 是很重要的,因为你的网站面向的是全球的用户,不同国家的人访问你的网站,页面加载速度差距特别大,尤其是在一些网速比较差的国家。
CDN 全称 Content Delivery Network,也就是内容分发网络,这是一个相互连接的服务器网络,它会将你网站上的 图片、HTML、JS 等静态内容存储到不同的服务器上。当不同国家的用户访问你的网站的时候,它会从离客户最近的服务器下载内容,而不是从原始服务器。
要知道的是,并不是所有的主机都会提供 CDN 的,没有的话就要自己买了。你也可以选择免费 CND 服务商,比如 Cloudflare,注册个账号就行了。
我买的这个 WordPress 托管型服务器自带了 CDN 功能,只要打开就行了。
3. 选择轻量化的主题
主题是 WordPress 建站绕不开的一个话题,很多人喜欢选界面好看的,或者功能够多的主题。但是这种主题往往都会严重影响网站速度。
在这里我强烈建议,选择一个代码规范+快速且精简的主题+高质量插件,用这种组合实现想要的功能。关于优秀主题推荐可以看我另一篇博客《WordPress 主题推荐》。
我这个博客网站用的是 Hello Elementor 模板,结合 Elementor Pro 搭建的 ,部分地方自己改了 CSS 样式,尽量少装插件。
4. 只安装必要的插件
因为很多人使用 WordPress 建站就是因为不会代码,有些功能模板没有的话,就只能通过插件来实现了,最后安装了一大堆插件来实现各种功能。想了解更多 WordPress 插件信息的,也可以看我另一篇博客:《50+ WordPress 插件推荐》。
然而事实是,安装太多的插件会严重拖慢网站速度,主要原因有,增加数据库的负荷、占用服务器的空间、过多的 HTTP请求、不同插件之间的兼容性问题等。
所以我们在挑选插件的时候,需要注意的点跟选网站主题一样,一定要选择符合 WordPress 优化标准的,且会定期更新维护的插件。最重要的是,能不装就不装。
5. 卸载未启用的插件
一般来说,WordPress 只会加载数据库中已启用的插件文件,会忽略未启用的插件,所以未启用的插件是不会影响 WordPress 网站性能的。
但是,凡事都有个但是,我们都知道 WordPress 插件有可能被黑客攻击,尤其是一些很久不更新的插件,更容易被找到漏洞攻击,我们删除一些不用的插件就降低了这部分风险。
如果你有大量没用的插件的话,留着也会占用服务器空间,占用多了,那也会影响网站速度的。很多事情都是相互影响的,并不是独立存在的。
6. 简化页面设计和内容
这点其实很好理解,网页越简单、内容越少,搜索引擎加载的时间也就越短。这个方法适用于任何类型的网站,尤其是博客网站,大家平时找资料应该发现很多博客都特别简单吧,这种设计加载都很快的。
当然了,也不是说让你就什么设计都不做,什么交互也没有,这种用户体验也不会很好。比如我的这个博客网站,其实就加了很多图片和交互,因为我觉得自己喜欢更重要,哈哈哈哈哈。
设计这件事主要取决于自己的审美,多看看海外优秀的网站,然后想想自己想要什么样的,做出自己喜欢的就行。我一般习惯先画出大概原型图,然后慢慢往里面填充内容。如果自己没想法的话,也可以找我帮你搭建网站,欢迎随时联系我。
7. 使用新版的 PHP 版本
WordPress 的主要编程语言是 PHP,用来实现 WordPress 的核心功能,比如数据处理和网页呈现。我们常说的主题、插件也离不开 PHP。
就像插件开发者会定期更新插件一样,PHP 也会定期更新,主要目的是为了优化网站速度和提升性能。优化 PHP 配置可以减少页面加载时间,并且提升整体用户体验。
就跟很多软件一样,最新版未必是最好的,我们要选择最稳定的版本,这个可以上网搜一下,信息很齐全。如果你跟我一样使用的是 WordPress 托管型服务器,就更省心了,后台直接告诉你哪个版本适合。
8. 更新 WordPress、主题、插件
这个原因跟我们上面说的一样,新版本的东西总是解决了旧版的一些问题,同时还为用户提供了更强大的功能,何乐而不为呢?
更重要的是,长期不更新的插件跟新安装的插件也有可能发生冲突。毕竟都是第三方开发的,没办法保证所有软件的兼容性,都更新到最新版的话可以大概率避免冲突问题。
这里不仅仅指的是插件,还有我们使用的主题,也是要更新的,WordPress 版本也要更新。不要用了新版的插件,还在使用旧版 WordPress。
这些更新都会在 WordPress 后台提示你的,根据操作走就行了。托管型主机也可以在服务器后台一键更新。
PS:这点其实我没做好,很久才会更新一次插件,大家不要跟我学,主要是我这更新频率,很久才进一次后台。。。
9. 图片大小优化
大图片是影响网站速度的最常见的原因之一,可怕的是很多人根本没意识到这点。拿到一张相机拍的高清图片,还在沾沾自喜,心想着 上传这么高清的图片到网站,用户肯定会喜欢,根本不知道它对网站速度的严重影响。
我们主要从以下三个方面来优化图片:
- 选对图片格式:PNG 是无损压缩,所以图片会很大,而 JPEG 是有损压缩,图片质量会很小,WebP 结合了有损和无损压缩的特点。建议用 JPEG 或者 WebP 格式的图片。
- 减小图片像素:相机拍的图片动不动就是五六千像素,但是我们网页常见的宽度也就 1080P,大点的也就是 2K、4K,建议将图片像素调到 800-1200 左右。
- 先压缩再上传:我一般都是先压缩图片,再上传到网站上,常用的工具有 TinyPNG 和 Optimizilla;如果你已经把大图上传到网站了,也可以使用插件一键压缩,常见的插件有 Imagify 和 Smush。
10. 不要将视频托管在服务器
相比于图片,视频对网站加载速度的影响更大,如果你直接将视频上传到服务器的话,每次加载会特别吃带宽,性能不好的服务器一时半会还加载不出来。
不过就算你的服务器性能再好,我也是建议将视频上传到第三方平台,比如 YouTube、bilibili,然后再嵌入到 WordPress 网站,这样才能将对网站速度的影响降低到最小。
WordPress 有一个内置的视频嵌入功能,你可以直接复制视频的 URL 到你想插入视频的地方,它会自动嵌入。
11. 优化网站使用的字体
字体优化应该也是很多人会忽视的一点,有的人会特地挑选不常见的字体,或者特别的艺术字体用在自己的网站上,其实这种字体也在一定程度上会影响网站的加载速度。
我们一般将字体分为两类,系统字体和网络字体:
- 系统字体:也被称为网络安全字体,大多数系统或设备都预安装了这些字体,使用的时候不需要再去网上下载。常见的系统字体有 Arial, Times New Roman, Georgia, Verdana 等。
- 网络字体:这种字体不是预先安装在系统里的,用户打开你的网页的时候,浏览器需要先下载这些字体,然后再应用在你的网页上。
如果你追求极致的速度,那使用系统字体就行了,如果你想有点不一样的话,就用网络字体。很多英文网站用的就是网络字体,优化后速度也不会很慢。
那怎么优化网络字体呢?我们可以将这些字体下载下来,然后本地托管字体,也可以使用 WP rocket 或者 OMGF 来优化谷歌字体。
12. 显示博客摘要
很多归档页的博客会在标题下方显示一段文字,默认情况下,会显示全文,如果是这样的话,会影响页面加载速度,我们可以将其设置成显示摘要。
摘要就是我们在写博客的时候,在设置里编辑的总结整篇文章内容的一段话,偷懒的话,可以直接复制文章第一段内容。
导航到设置>阅读,在每篇博客 feed 设置中选择摘要就行了。
13. 将长文章分页显示
如果你写了一篇旷世大作,文字超级多,图片也特别多,那么可以使用这个方法,将长文章拆成不同的版块,然后分页显示。
WordPress 自带分页符,只需要在你想要分页的将其插入即可,文章就会自动分页。你也可以通过安装插件来实现这个功能,但如果不是特别重要的话,还是别安装了。
14. 将评论分页显示
如果你网站的评论数量特别多的话,可以跟长文章一样,将这些评论也分页展示。
WordPress 也自带这个功能,你只需要去设置>讨论>其他评论设置,选择每页显示的评论层级和数量就行。
15. 限制文章保存版本数量
我们在编辑页面或者博客的时候,每点一次保存,WordPress 就会生成一个页面或博客的新版本,这对于后期想恢复到编辑前的某个版本来说是个很好的功能。
但是,如果你一篇博客就保存了十几个版本,网站有几百篇博客的话,那保存的无用内容将不计其数,这些内容将会占用大量数据库空间。
你可以将每篇博客保存的版本数量限制为3个或者4个,只需要将下方代码添加到 wp-config 文件。加完这串代码,WordPress 会自动保存最近的3个副本,并删除之前的就副本。
define( 'WP_POST_REVISIONS', 3 );
16. 禁用热链接
热链接(Hotlinking),又称为带宽盗用(Bandwidth Theft),是指在别人在他自己的网站上直接链接你的网站上的资源(如图片、视频、音频等),而不是常见的做法,下载图片,上传到自己的服务器上。
用户每次访问他们的网站的时候,需要从我们的服务器加载资源,增加我们的服务器负载,拖慢网站速度。
要避免这种情况的话,你只需要将下方的代码粘贴到 WordPress .htaccess 文件就行,记得把 yourdomain.com 改成自己的域名。
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,NC,L]
你可以手动添加这串代码,也可以通过插件实现一样的功能。我买的托管型服务器自带这个功能,只需要开启就行了。
17. 禁用 pingbacks 和 trackbacks
pingbacks 和 trackbacks 是一种自动化的通知机制,也就是说,你写了一篇博客,在正文中插入了一个链接,链向另一篇博客,那么你的网站会自动向对方网站发送 Pingback 请求 和 Trackback 通知。
这个功能看起来是不是很有用,说不定还能获得对方的外链,然并卵,这成为了垃圾评论的天下,还让自己的网站容易受到 DDoS 攻击。而且服务器需要带宽处理 Pingback 或 Trackback 请求,网站流量很大的话,会增加服务器的负载。
可以直接在 WordPress 中禁用这个功能,找到设置>讨论,取消选中 “允许链接通知来自其他博客(pingbacks 和 trackbacks)”选项。
18. 启用懒加载/延迟加载
延迟加载(Lazy Loading)看名字应该也能理解,就是延迟加载当前页面。当用户打开我们网站的页面时,只会加载当前窗口的内容,比如图像、视频、iframe等,剩余的内容先不加载,只有当用户往下滚动页面时,才会开始加载剩余内容。
相比于一次性将页面内容全部加载完毕,这种技术手段不仅可以缩短页面的初始加载时间,还可以节省带宽并降低服务器负载,总之对服务器压力和用户体验来说,都非常有用。
你可以通过 WordPress 插件实现延迟加载功能,比如 WP-Optimize 或者 a3 Lazy Load。
19. WordPress 网站缓存优化
WordPress 是一个动态内容管理系统,每次用户访问页面时,服务器都要执行 PHP 代码并查询数据库,如果网站流量很大的话,服务器负担就会很重,影响网站性能。
缓存就是将动态网页存储为静态文件,当用户访问网站是,服务器可以直接提供这些静态文件,而不需要每次都从数据库中检索内容,并生成 HTML 文件。
缓存大大减少了页面加载时间,提高了用户体验,还有助于 SEO 排名。你可以通过安装主流的缓存插件来解决这个问题 ,比如 WP Rocket、W3 Total Cache、LiteSpeed Cache 等。
因为我这个主机自带了 LiteSpeed Cache,所以我没有买 WP Rocket 这种主流缓存插件。虽然 LiteSpeed Cache 是免费的,但也是热门缓存优化插件,有五百多万的下载量。
20. 优化 WordPress 数据库
在 WordPress 中,数据库是用来存储我们网站的数据的,包括文章、页面、用户信息、评论、设置等。网站运营时间久了,数据库中会积累大量无用的数据,比如我们前面说到的博客历史版本和垃圾评论。
将这些没用的数据删除之后,可以提高数据库查询速度和网站整体性能,网站速度上来了,用户体验自然也就好了。
你可以自己去 phpMyAdmin 优化数据库,也可以通过安装插件来实现这个功能,常见的数据库优化插件有 WP-Optimize 和 Advanced Database Cleaner。
21. 压缩 CSS 和 JS 文件大小
你在浏览器页面按 F12 或者右键查看源码的话,会发现很多网站的代码有很多空格、换行和注释。这种格式主要是为了方便开发者阅读和维护代码,但是体积会比较大。
压缩 CSS 和 JS 就是将这些空行和注释移除掉,只保留实际代码,压缩后的文件可以变得更小,这样浏览器下载这些文件的时间就更短了,用户也就能更快看到网站的内容。
你可以使用在线工具压缩 CSS 和 JS,比如 CSS Minifier 和 JS Minifier,也可以通过安装 WordPress 插件来进行压缩操作,比如 Autoptimize 和 WP Rocket。
22. 删除无用 CSS、JS 文件
网站运营时间久了,可能会积累很多无用的 CSS 和 JavaScript 文件,用户访问网站的时候,浏览器要更多的时间加载这些不必要的文件。
所以我们要将这些文件删掉,减小带宽压力,提高网站速度,用户也不用在屏幕前等太久时间。
这个操作你也可以通过专业的 WordPress 插件来实现,比如 Asset CleanUp 和 Perfmatters。
23. 处理阻塞渲染的 JavaScript
浏览器在加载网页的时候,它会按照 HTML 文档的顺序加载和解析资源,也就是我们查看源码的时候看到的代码顺序。
如果很多 JavaScript 文件在顶部加载的话,它们会阻止浏览器继续解析和渲染后面的内容,知道这些 JavaScript 文件加载完成才继续向下。
阻塞渲染会延迟页面内容显示,就像我们平时打开一些网页时,看到的是空白页面或者部分加载的内容,这种对于用户来说体验也很不友好。
我们也可以通过插件解决这个问题,最常见的是 WP Rocket 和 Async JavaScript。
24. 减少使用外部脚本
外部脚本(External Scripts)是指那些托管在别人服务器上的 JavaScript 文件 和 CSS 文件,而不是自己的服务器上,所以使用的时候要从第三方加载。
网站安装外部脚本一般都是为了增加额外的功能,比如数据分析、广告跟踪、社交媒体集成等。最常见的就是 Google Analytics、Google AdSense、Google Fonts 等。
外部脚本对网站的影响主要是两方面,一个是会增加页面加载时间,另一个是可能引起阻塞渲染,所以我们要尽量减少使用外部脚本。
这个问题也可以通过对应的插件来解决,最常见的是 Autoptimize 和 Perfmatters。
25. 使用 GZIP 压缩文件
GZIP 压缩是一种通过压缩网页文件(如 HTML、CSS、JavaScript)来减少文件大小的技术。压缩完之后可以更快地传输和下载文件,减少页面加载时间,提升用户体验。
WP Rocket 和 W3 Total Cache 都提供 GZIP 压缩的功能,大家可以按需选择。
总结
上面一共介绍了 25 种 WordPress 网站速度优化方法,大家只要根据介绍的一一去操作,网站速度应该都能提升很多的。有一点要注意的是,很多插件提供的功能有部分重叠,我们安装其中一两个就行了,不要安装太多,避免发生冲突。
写完这篇博客的时候,我也就安装了一个 LiteSpeed Cache 而已,后期可能会根据情况再安装新的优化插件,但我觉得目前这个速度还可以,就先不安装了。大家根据自己的需求来,不要盲目追求极致速度或者插件数量。
这篇文章对您有帮助吗?
平均评分 5 / 5. 投票数: 1
到目前为止还没有投票!成为第一位评论此文章的人。