WordPress 网站太慢怎么办:
先量,再改。
打开慢有四种,缓存插件只治其中一种。这篇按「量四个数」的顺序走:TTFB、LCP、INP、页面重量,先定位到段,再决定花不花钱——顺序错了,换主机也白换。
WordPress 打开慢,第一反应通常是装个缓存插件。但「慢」有四种,缓存只治其中一种:有的慢在服务器出第一个字节之前,有的慢在图片和字体,有的慢在前端脚本把主线程占着。找错那一段,装什么插件都不管用,还会多一个插件。
先分清你的站是「慢」在哪一种?
同一个「慢」字,四种表现,四种解法:
- 点开就白屏,等很久才出东西。多半在服务器:PHP 进程被打满、数据库查询没走索引、主机邻居抢 CPU。这时候浏览器还没拿到 HTML。
- HTML 回得快,但首屏图片半天不出现。资源太重:原图直接上传、一次加载十几张大图、字体文件几百 KB 还阻塞渲染。
- 页面出来了,点菜单没反应。主线程忙:页面构建器、轮播、客服脚本、统计脚本一起抢。
- 只有手机慢,电脑正常。图是照着桌面尺寸做的,脚本也是照着桌面写的。这一条最常被忽略,而真实流量里手机占大头。
怎么量?按顺序看四个数
别猜,先量。四条命令就能定位到段:
curl -o /dev/null -s -w "dns %{time_namelookup}\nconnect %{time_connect}\nttfb %{time_starttransfer}\ntotal %{time_total}\n" https://你的域名/
TTFB(到 time_starttransfer)是服务器把第一个字节送出来的时间,包含 PHP 执行和数据库查询。这个数高,换插件、压图片都是白费力气——前端再怎么优化,也得等服务器先说话。
经验上的分界:TTFB 几百毫秒属于正常,超过一秒说明每一页都在等服务器算;如果 TTFB 很快、首屏却慢,问题基本在前端资源上,直接跳到下一节。
剩下三个数用 PageSpeed Insights 或 Search Console 的核心网页指标报告看。Google 给出的「良好」标准是这三个:
“To provide a good user experience, LCP should occur within 2.5 seconds of when the page first starts loading.” “To provide a good user experience, pages should have an INP of 200 milliseconds or less.” “To provide a good user experience, pages should maintain a CLS of 0.1 or less.”
web.dev 对三项核心指标的定义:LCP 2.5 秒内、INP 200 毫秒内、CLS 0.1 以内。注意它补了一句「以第 75 百分位衡量」——看的是七成半用户的实际体验,不是你本地打开一次的感觉。
web.dev · Web Vitals
还有一个容易被搞混的地方:Lighthouse 跑出来的是实验室数据,一台机器、一个模拟网络;Search Console 里是真实用户数据。两边打架的时候信后者——你的客户不在你的机器上打开。
不装插件,怎么把原因缩到一两项?
三个对照实验,半小时能做完:
- 换默认主题看一眼。主题一换就快,问题在主题带的构建器和它的脚本上,不在内容。
- 插件二分法。一次停一半,看 TTFB 和页面重量的变化,两三轮就能锁定那个插件。停用前记下名字,别停完自己也忘了。
- 看页面总重量。浏览器开发者工具的 Network 面板,勾掉缓存刷新,看 transferred 一栏。一个图文为主的外贸站,首页几百 KB 属于正常;几 MB 的,八成是原图直接上传。
顺便看一眼图片的实际尺寸:一张 4000 像素宽的产品图塞进 600 像素的位置,浏览器还是会先把 4000 像素下载下来再缩。
六个最常见的原因,按出现频率排
| 位置 | 你会看到什么 | 怎么确认 | 动它值不值 |
|---|---|---|---|
| 图片没压 | 首屏一张图占掉大半体积 | Network 按大小排序 | 最值:改尺寸和格式,一次管很久 |
| 插件太多 | 每页几十个请求,TTFB 也偏高 | 停用一半对照 | 值:数量降下来,请求自然降 |
| 共享主机 | 白天慢、凌晨快,TTFB 忽高忽低 | 不同时段各测三次 | 值但要花钱,先做完前两项再换 |
| 没有缓存 | 每个访客都重新算一遍页面 | 看响应头有没有缓存标记 | 值:插件能解决,注意排除规则 |
| 字体与第三方脚本 | 文字先隐形再出现,滚动卡顿 | Network 看 woff2 与外部域名 | 值:子集化 + 延迟加载 |
| 构建器膨胀 | DOM 几千个节点,换主题等于重排 | 换默认主题对照 | 不值修,该换站 |
先改哪个?从便宜的往贵的排
顺序很重要,因为它决定你花的第一笔钱能不能拿到结果:
- 图片:按显示尺寸重出,长边压到实际需要,格式换 WebP,首屏以下的加懒加载。
- 字体:只留一个中文字重、一个西文字重,做成子集,首屏字体预加载。
- 第三方脚本:客服、统计、像素、图标库,能延后的延后,能合并的合并,不用的删掉。
- 缓存:页面缓存 + 浏览器缓存。注意表单页、购物车这类动态页要排除。
- 砍插件:每一个插件都是别人写的代码在跑,功能重叠的留一个。
- 换主机:前五步做完还慢,才轮到换机器。这一步最贵,也最容易被提前做。
前四步基本不花钱,第五步花时间,第六步才是花钱。反过来的顺序——先换主机、再考虑优化——是行业里最常见的浪费。
什么时候别修了,直接重做?
有四种情况的修是填不满的:插件长期在三十个以上;主题绑定构建器,换版式等于全站重排;TTFB 稳定超过一秒半,说明主机和程序都不适合再扛;以及最要命的——没有版本可退,改坏了只能翻备份。
这四种情况里,重做的成本不在页面,在内容。如果你的产品参数、图片、认证资料都还在,重做是一个月的事;如果这些从来没整理过,那才是真正的工作量。
改完之后,为什么还会慢回去?
我们做的站是纯静态的:服务器上放的是 HTML、CSS、图片和一份样式表,没有数据库,没有 PHP 执行,没有插件。上面表格里「插件太多」「没有缓存」「构建器膨胀」这三行,在静态站里不存在——不是优化掉了,是没有这一层。
还剩两件得人管:图片和字体。这两件我们按显示尺寸出图、按页面用字裁字体子集,所以它们不会随内容增长而失控。每次发布带版本号,改了资源浏览器一定拿新的,也不会出现「你改了但我看到的是旧的」。
要说清的一点:静态站不是自动就快。往里扔一张 5MB 的原图,它照样慢。区别在于慢的原因只剩两个,都在我们手上。
想知道自己的站慢在哪一段,不用先决定换不换。把网址发我,我按上面四个数量一遍,当天回你一句:是能调,还是该换。
资料来源
- web.dev · Web Vitals(LCP / INP / CLS 阈值与 75 分位口径,2026 年 10 月查看)
- PageSpeed Insights(实验室与真实用户数据,实测用)
- Google 搜索中心 · Core Web Vitals(Search Console 报告说明)