不止一个人和我谈过 WordPress 太臃肿的问题,而我也会附和地说“垃圾 WP,我用 Tyecho”。那么,WordPress 真的很臃肿吗?

一、程序体积

我用过的第一个版本是 4.0.1,如今,WordPress 已经更新到 5.7.x。

搜索引擎的搜索结果显示,4.0.1 的发布包,其包大小为 7 MiB,而 5.7.x 的发布包,其包大小为 17MiB。六年的时间,程序包体积增加了 140%。

如果我们将程序包体积增加称之为臃肿,那么它确实大了不少。但是,增加的体积真的影响了你的访问速度了吗?我本人是持否定态度的。

虽然 WP 每次访问都要 include 一次相关的 php 文件,但他们都是本地磁盘上的文件,其加载速度是非常快的。除非你有 3-400 以上的并发,否则这些文件引用不会是访问速度的瓶颈。

至于 3-400 并发是什么概念呢?自己用计算器算算就好。

二、访问速度

有些人装了个 WordPress,用默认主题,再从插件商店里搞了一堆自己也半懂不懂的插件,最后发篇文章一访问,10 秒都没加载完,就到处说卡顿、臃肿。

然而,大多数情况是这样的:

  • 首页 F12 一看,七八个 cf 或 Google 的静态资源链接,文件体积动辄 7-8M,链接还被墙了,根本加载不动;
  • 点进文章一看,一堆 2K 甚至 4K 图片,一张就是 5-6M,还全从源服务器走,没记错的话活动机带宽顶多 5Mbit/s;
  • 登上后台一看,光文件缓存插件就装了三四个,数据库缓存插件装了也装了好几个,功能冲突不说,调试都没办法调试。

就这,你不卡都说不过去。

三、php-fpm 及数据库查询性能

要我说,个人博客,撑死每天几万的 PV 就已经很了不起了。在这种情况下,没有优化的 php 执行效率以及数据库查询效率都不是瓶颈。

当然,如果你写的主题或功能过于复杂,经常几个表连查,或者有一堆高 CPU Time 或高 IO 的 php 方法,那么执行效率上确实会存在一些问题。

但是,在这种情况下,不管你换成啥,问题都不会消失,因为你写的的高代价方法最后都是 php 方法,不会因为你换了其他 php 博客工具(或内容平台)就消失。

如果换个博客工具就能消失,建议还是查查自己写的代码是不是存在问题。

数据库查询性能的问题在 WP 这边算是老生常谈了,WP 这边有一些缓存插件可以满足大部分 WPer 的需求,但还是那句话,一般人的访问量,根本用不到缓存插件。

四、冗余功能多

有些人经常吹嘘某些博客工具精简,而反过头来说 WordPress 一堆用不到的功能,臃肿不堪。但是,你既然都没用这些功能,又何来臃肿一说呢

以图片裁切为例,你不用内置的图片裁切,也不手动调用相关的方法,那它就静静地躺在那里,顶多访问时加载一下方法定义,但又没真正执行,何来臃肿一说呢。

有的人又说了,WP 传图片会自动裁切几份缩略图,太臃肿。这确实,在上传图片时,WP 会自动生成几份缩略图,以供你需要时使用,但话说来,这是在后台编辑媒体库时生成的,又不是访客访问时生成的,不影响访问速度,说它臃肿站不住脚。实在不行,禁止 WP 生成缩略图代码就那么几行,加上就好了。

反过头来说,缩略图真的没用么?也许你下一个插件、下一个主题,就要用到这些缩略图了。随着一天天的发展,某天你突然需要这些功能,却发现使用的博客工具没有提供,还不是要自己写。

WP 到底提供了什么?对我来说,它提供了一个从文字编辑、媒体资源上传及管理、媒体资源预览及简单编辑(估计大多数人不知道后台可以旋转、裁切图片)、到发布上线全流程工具,同时开放了一堆 API 钩子,为功能扩展提供了无限的可能性。

WP 不仅仅可以作为博客,你可以把开发的 php 功能接口挂在 WP ajax 钩子上,做一个业务系统后端,你也可以只用它的媒体库 + API,做一个文件管理系统,你也可以利用 rest API,做一个微信小程序后端+内容平台。总之,WP 在提供完整的博客工具之外,还有许多应用之处。

五、总结

对于某些几百万文章的采集农场主来说,他们说臃肿,那是情有可原;对于某些动辄就上百甚至上千并发的人的大牛来说,他们说臃肿,那是颇有道理。

但是,一般的普通的用户,就不要再人云亦云地说 WordPress 臃肿了,如果硬要说其臃肿,请仔细检查,看看它臃肿在哪。专业点来说,就是看看在你的应用场景里,瓶颈在哪。毕竟,口述无凭,眼见为实。

梓喵出没博客(azimiao.com)版权所有,转载请注明链接:https://www.azimiao.com/7866.html
欢迎加入梓喵出没博客交流群:313732000

我来吐槽

*

*

0位绅士参与评论

  1. BBP06-13 10:14 回复

    nice~ 说的很对。

  2. bapi05-16 12:42 回复

    踩一捧一不可取,不过typecho+sqlite真香

  3. 大致05-09 23:25 回复

    赞同。我实在是太喜欢WP的钩子机制了。