
很多人不知道,我在2018年做第一批英文站的时候,有一个网站因为加载速度太慢,硬生生把到手的Adsense收入给整没了。
当时那个站月均PV能有50万,但Adsense收益死活上不去,一开始以为是内容问题、选题问题,后来用PageSpeed一测,首页加载时间8.7秒。8.7秒啊,用户早跑光了,广告压根没机会展示完。
那次教训让我彻底重视起性能优化这件事。这些年踩过无数坑,今天把真正有用的干货分享给大家。
先搞清楚你的问题在哪
很多人一上来就开始装插件、开CDN,这是典型的没找到病根乱吃药。
你得先测。我常用的工具是 GTmetrix 和 Google PageSpeed Insights,两个都测一遍,看报告里标红的问题,从最严重的开始解决。
另外一定要同时测桌面端和移动端,移动端分数通常比桌面端低很多,现在Google是移动优先索引,移动端的性能直接影响排名。
我见过不少站长,桌面端速度不错,移动端一测4-5秒,搜索排名死活上不去,原因就在这里。
第一关:主机和服务器
这是最底层的问题,也是很多人最容易忽视的地方。
我2019年的时候为了省钱,图片站群全部用的共享主机,结果高峰期服务器直接卡死,那段时间图片站日IP破万,但TTFB(首字节时间)能到2秒多,后来换成VPS之后,TTFB直接降到200ms以内。
具体建议:
如果你的站还在用虚拟主机,月入超过500刀就该升级VPS了。我目前用得比较多的是 Hostinger、Vultr 和 Cloudways,稳定性都不错。Hostinger对新手友好,帮你把服务器配置这层抽象掉了,直接用就行。
服务器地区要选离目标用户近的。你做美国市场,服务器选美东或者美西,不要图便宜选东南亚节点,延迟差好几倍。
PHP版本一定要用8.0以上,很多老站还跑着PHP7.2甚至7.0,性能损失巨大。升级PHP这件事没有任何理由拖,免费的性能提升,不要白不要。
第二关:图片优化------最容易拿到的分数
我管的图片站最多的时候有40多个,所以对图片优化这块研究得比较深。
大部分WordPress网站性能差,图片要背70%的锅。很多人上传图片随手就传了个5MB的JPG,这种操作在性能优化面前是灾难级别的。
格式转换
现在主流的方案是把图片全部转成WebP格式,同样的画质文件体积能缩小30%-50%。安装 Imagify 或者 ShortPixel 插件,可以自动批量转换,历史图片也能一键处理。
我有一个内容站,转完WebP之后总页面体积从4.2MB降到了1.8MB,加载时间快了将近1秒。
懒加载
图片懒加载现在WordPress已经原生支持了,但有时候会失效,建议用 Lazy Load by WP Rocket 或者直接上WP Rocket整套方案(后面会说)。
懒加载的核心逻辑是:用户看不到的图片先不加载,等用户滚动到那个位置再加载。这个操作对首屏加载速度提升非常明显。
尺寸规范
上传图片前先压缩,文章配图宽度不超过1200px,文件大小控制在200KB以内。可以用 Squoosh(Google出的在线工具)压缩,免费且效果好。
第三关:缓存配置
这一关做好了,速度能有质的飞跃。
缓存简单说就是把动态生成的页面提前存成静态文件,用户访问时直接返回静态文件,不用每次都跑PHP和数据库查询。
我现在标准配置是 WP Rocket,付费的,一年59刀,但值得。它把页面缓存、浏览器缓存、代码压缩、懒加载、预加载全都整合进去了,对新手极其友好,装完基本上按默认配置开启就能看到明显效果。
如果预算有限,免费方案用 W3 Total Cache 或者 LiteSpeed Cache(如果你的主机支持LiteSpeed服务器的话,LiteSpeed Cache效果非常好)。
有一点要注意:电商站(WooCommerce)的购物车页面、结账页面不能缓存,会出问题。这些页面要在缓存插件里单独排除掉。
第四关:CDN加速
CDN是把你的静态资源(图片、CSS、JS)分发到全球各地的服务器上,用户访问的时候从离他最近的节点拿资源,而不是每次都跑到你的源服务器。
我的站群全部接了CDN,用得最多的是 Cloudflare,免费版就够用了。接入方式很简单,把域名NS解析改到Cloudflare,然后开启代理模式,基本上十分钟能搞定。
Cloudflare除了CDN还有一堆额外好处:防DDoS、SSL证书、防爬虫规则......对做SEO的站群来说性价比极高,免费版能解决80%的需求。
进阶一点的用 BunnyCDN,价格很便宜,按流量计费,亚洲节点覆盖比Cloudflare好,我的几个亚洲市场的站用的是BunnyCDN。
第五关:代码层面的优化
这块稍微有点技术门槛,但都是有手就能做的操作。
删除没用的插件和主题
很多人WordPress装了几十个插件,但真正在用的可能就十几个,其余的都是负担。每个插件都会加载额外的CSS和JS,直接影响速度。
定期审查插件,不用的直接删掉,不是停用,是删掉。停用的插件代码还在,有些主题还会加载停用插件的资源。
CSS/JS压缩合并
WP Rocket或者 Autoptimize 插件可以自动把CSS和JS文件压缩并合并,减少HTTP请求数量。
不过这里有个坑:合并JS有时候会导致某些功能失效,需要一个个测试排除。我一般的做法是开启压缩,合并谨慎开,出问题再排查。
减少渲染阻塞资源
Google PageSpeed报告里经常会提到"消除渲染阻塞资源",说的是某些JS和CSS文件会阻塞页面渲染。
解决方案是把非关键的JS设置为异步加载(async/defer),WP Rocket有这个选项,叫"延迟JavaScript执行",开启之后分数通常能涨不少。
第六关:数据库优化
这个很多人忽略,但随着网站运营时间变长,数据库垃圾会越积越多,直接拖慢查询速度。
WordPress数据库里会积累大量的文章修订版本、垃圾评论、过期的transient数据等等。我有一个运营了6年的内容站,清理数据库之前有4万多条修订版本记录,清完之后数据库查询速度快了将近30%。
推荐插件:WP-Optimize,免费,可以一键清理各类数据库垃圾,还能设置定期自动清理。
另外,如果你的主机支持Redis,可以给WordPress配置Redis对象缓存,对数据库查询频繁的站来说效果非常显著。
实战结果:从8.7秒到1.8秒
回到最开始说的那个站,2018年加载8.7秒,按照上面这套流程做完之后:
换了VPS(Cloudways,2C/2G),TTFB从2.1秒降到0.18秒;全站图片转WebP并压缩,体积减少58%;装了WP Rocket,页面缓存全开;接入Cloudflare CDN;清理数据库,删了30多个没用插件。
最终的结果是首页加载时间1.8秒,Google PageSpeed移动端分数从31分涨到95分。Adsense收益当月就涨了40%,因为页面能完整展示了,广告曝光量上来了。
写在最后
性能优化这件事没有终点,只有不断迭代。
我现在管着140多个站,不可能每个站都做极致优化,所以我的策略是:新站上线先做基础优化(CDN+缓存+图片),等到月入超过500刀再做深度优化。把时间和精力放在最有产出的地方。
另外,性能优化和内容质量、外链建设是相辅相成的关系,不能顾此失彼。我见过不少站速度做到极致,但内容稀烂,排名一样上不去;也见过内容很好但速度拉跨,白白浪费了内容的价值。