这个博客换过三次主题。第一次是刚建站,随便挑了个免费的;第二次是觉得“不够专业”,换了个功能很全的;第三次换回来,理由很简单——加载太慢。
换主题的动机
功能全的主题通常带这些东西:页面构建器、幻灯片、图标库、动画效果、几十个短代码。装完之后后台多了十几个设置面板,首页可以拼出很花哨的布局。
刚换上的时候确实好看。问题在两三个月后出现:
- 首屏加载 4 秒以上,手机上更慢
- 装了缓存插件也只是从 4 秒变 3.5 秒
- 每次 WordPress 升级都要等主题作者适配,有一次升级后首页直接白屏
- 想改一个小地方,发现是构建器生成的,得进构建器里找\ n- 移动端排版在某个断点下错位
怎么定位慢的原因
用浏览器开发者工具看 Network,按耗时排序:
主题的 style.css 180KB
图标字体 240KB
jQuery + 主题脚本 320KB
Slideshow 脚本 90KB
Google Fonts 120KB
首屏图片(未压缩) 1.2MB
真正的文章内容只占很小一部分。也就是说,为了“好看”,访客要下载 2M 多的东西才能看到第一段文字。
换回简洁主题之后
- 首屏从 4.2 秒降到 1.1 秒
- 页面请求数从 60 多个降到 12 个
- 没有构建器,改样式直接改 CSS
- 升级不再担心兼容
代价是少了一些花哨功能:没有轮播、没有视差滚动、首页就是文章列表。但访客来是为了看内容,不是为了看动画。
学到的几件事
- 主题不是功能越多越好。需要什么功能用插件实现,不用了可以关掉;主题里的功能是绑死的。
- 字体和图标是隐形杀手。一个图标字体动辄 200KB,实际只用了十几个图标。换成内联 SVG 可以省掉整个请求。
- 图片必须压缩。同一张图,原图 1.2MB,压到 1200px 宽、质量 80,只有 90KB,肉眼几乎看不出差别。
- 先量再改。不要凭感觉说“感觉有点慢”,用工具量出来,改完再量一次,才知道有没有效果。
现在的原则
主题只负责排版和基础样式,功能交给插件,性能放在第一位。宁可朴素一点,也不要让读者等。
- THE END -
最后修改:2023年12月9日
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://mi-blog.cn/archives/678
共有 0 条评论