WordPress占据着超过40%的网站市场份额,是目前最流行的内容管理系统(CMS)。然而,在软件工程师群体中,特别是后端开发和可扩展Web应用领域的工程师,WordPress因其低效、臃肿和令人沮丧的特性而臭名昭著。
我个人非常不喜欢WordPress。我花费了大量时间处理其混乱的代码库、解决插件冲突以及优化缓慢的网站。但事实是:WordPress仍然优秀且不可或缺,因为客户需要它。 无论我多么反感,企业和客户依然持续要求WordPress解决方案,这并非没有道理。
-
工程师为何讨厌WordPress
意大利面条式代码和历史包袱
WordPress诞生于2003年,起初只是一个简单的博客平台,之后发展成为成熟的CMS。不幸的是,其核心代码库保留了许多过时的设计选择,导致:
-
全局函数和变量: 缺乏现代化的封装机制,依赖全局函数,容易引发冲突。
-
PHP、HTML和业务逻辑混杂: 许多主题和插件将PHP逻辑直接混入模板中,违反了软件设计的最佳实践。
-
过度追求向后兼容性: 为了兼容旧版本,代码变得臃肿且难以维护。
- 插件地狱 插件是一把双刃剑:它们赋予WordPress灵活性,但也带来巨大的麻烦:
-
臃肿且低效的插件: 许多插件加载不必要的脚本,降低网站速度。
-
安全风险: 维护不善的插件是WordPress遭受黑客攻击的主要原因之一。
-
兼容性噩梦: 插件之间经常发生冲突,导致无休止的调试工作。
-
性能问题: WordPress本身并非为高性能而设计:
-
繁重的数据库查询: 数据库操作效率低下。
-
臃肿的主题: 许多主题包含不必要的CSS和JavaScript,影响页面加载速度。
-
扩展性挑战: 高流量网站需要进行大量的优化(例如缓存、CDN)才能正常运行。
-
定制困难: 对于非开发者而言,WordPress易于定制。但对于工程师来说,这却令人沮丧:
-
修改核心行为需要变通方法: 钩子和过滤器更像是变通方案而非干净的抽象。
-
Gutenberg编辑器冲突: 基于React的块编辑器增加了复杂性。
-
缺乏现代开发流程: 与Next.js或Spring Boot等框架不同,WordPress缺乏标准化的构建流程、依赖管理和可测试的架构。
-
安全隐患: WordPress是黑客攻击的常见目标:
- 插件和主题中频繁出现的漏洞
- 登录页面遭受暴力破解攻击
- 缺乏默认的安全最佳实践
-
-
-
WordPress为何仍然优秀且不可或缺
尽管存在诸多缺陷,WordPress对于许多企业和非技术用户而言仍然是最佳选择。
- 客户喜欢它: 大多数客户并不关心代码的整洁性、可扩展的架构或软件最佳实践。他们只需要一个外观漂亮、运行良好且易于管理的网站,而WordPress恰好满足这一点。
- 快速开发和低成本: 对于没有定制应用预算的企业,WordPress提供了一种经济高效的解决方案。他们可以在数小时内搭建一个电商商店、博客或作品集网站。
- 庞大的生态系统和社区支持: WordPress拥有数以万计的主题和插件,允许企业在无需雇佣开发者的情况下添加功能。如果遇到问题,也有大量的教程和论坛提供支持。
- SEO和营销优势: WordPress拥有优秀的SEO插件(例如Yoast)和营销集成,使企业能够轻松地优化网站以提升搜索引擎排名,无需具备技术专业知识。
5. 熟悉且用户友好
许多企业主和内容管理员已经熟悉WordPress的使用方法。切换到定制的CMS或无头系统通常需要重新培训,这是他们不愿接受的。
-
更好的替代方案存在,但客户不在乎
对于构建现代Web应用的工程师,有更好的选择:
- 静态网站: Next.js、Astro或Hugo提供更快、更安全的解决方案。
- 自定义Web应用: Django、FastAPI和Spring Boot提供可扩展、易于维护的后端。
- 无头CMS: Contentful、Strapi等。
但最终,大多数客户并不想听取关于更好替代方案的信息,他们只需要一个有效的WordPress网站。
结论
我讨厌WordPress。许多软件工程师都讨厌WordPress。但这仍然是Web开发中最广泛使用和最不可或缺的之一,因为它为非技术用户提供了他们所需的东西:一种简单、灵活且经济高效的解决方案。作为工程师,我们可以抱怨任何我们想抱怨的事情,但只要企业持续需求它,我们就将继续与之合作——无论我们是否喜欢它。
以上就是我讨厌WordPress,但是为什么它仍然很棒和必要的详细内容,更多请关注php中文网其它相关文章!