网站建设、网站制作这行,代码优化不是等页面卡了才去救火,而是从搭结构那天就定下来的习惯。很多老板觉得网站能打开就行,结果上线后图片几兆、JS一堆、首屏白屏三四秒,用户早划走了。Google 的 Core Web Vitals 把 LCP 超过 2.5 秒算“需要改进”,超过 4 秒算差;CLS 超过 0.1 算差;INP 超过 200 毫秒算差。这些指标不是给技术看的,是直接关系搜索排名和转化。
先说前端。网站制作时最容易犯的错,是拿一套模板往上一套,插件能装就装。一个普通企业站,图片往往占页面体积一半以上。把首页大图从 2MB 的 JPG 换成 WebP,通常能小 25% 到 35%;再用 AVIF,部分场景还能再小一截。尺寸也别偷懒,手机端显示 375 像素宽,就别传 1920 像素图,用 srcset 按屏幕给图。图片懒加载加上,首屏之外的图片等滚动再加载。字体也吃性能,中文字体动辄几 MB,能用系统字体就别硬塞,必须用就做子集化,只留页面用到的字。
CSS 和 JS 要拆。首页只加载首页需要的样式和脚本,别把后台、详情页、活动页的代码全塞进一个文件。现在构建工具支持 Tree Shaking,能把没用到的模块摇掉;代码分割后,路由切换再加载对应 chunk。JS 尽量放 body 底部或用 defer、async,别让脚本阻塞 HTML 解析。关键 CSS 可以内联进 head,非关键 CSS 延迟加载。一个页面请求数太多也麻烦,HTTP/1.1 下合并小文件有用,但上了 HTTP/2 后多路复用,合并反而可能拖累缓存,所以要看服务器协议来定。
服务端和数据库是网站建设的后半场。用户打开慢,不一定是前端重,可能是 TTFB 太高。TTFB 最好压到 200 毫秒以内。PHP 项目开 OPcache,能省掉重复编译;Java 项目关注 JVM 和连接池。数据库慢查询要盯,给 where、order by、join 字段加合适索引,别在循环里查数据库,那就是典型 N+1。一个列表页查 20 次数据库,和一次查完再拼装,响应时间差几十倍。对象缓存用 Redis 或 Memcached,页面缓存用 Nginx 或 CDN,能把动态请求变成静态响应。缓存头也要配好,静态资源设长期缓存,文件名带 hash,更新时换文件名,别让用户反复下载没变的东西。
传输层别忽略。服务器开 Gzip 是基础,Brotli 在文本资源上通常比 Gzip 再小 15% 到 25%,现代浏览器都支持。CDN 把图片、CSS、JS 推到离用户近的节点,跨地域访问 TTFB 能降不少。DNS 预解析、预连接、预加载关键资源,这些细节能让首屏快几百毫秒。HTTPS 现在是标配,HTTP/2 和 HTTP/3 能改善并发传输,尤其对多资源页面。

网站制作阶段还要管住第三方脚本。统计、客服、广告、地图,每个都可能是性能黑洞。能异步就异步,能延后到用户交互再加载就延后。一个客服插件拖慢 500 毫秒很常见。上线前用 Lighthouse、PageSpeed Insights、WebPageTest 跑一遍,别只看分数,看具体建议。LCP 元素是什么,是图片还是标题,是服务器慢还是资源大,找到根因再改。性能优化不是一次性动作,每次加功能、换模板、上活动,都要回归测试。
最后说句实在的,网站代码优化没有玄学,就是减少请求、减小体积、缩短链路、用好缓存。网站建设公司如果只给你套模板,不跟你聊图片格式、缓存策略、数据库索引,那上线后的慢是必然的。网站制作也不只是把页面画出来,代码层面每省 100KB、每降 100 毫秒,用户都能感觉到。把这事当成日常,而不是救火,网站才能既好看又跑得快。