WordPress驱动着超过40%的网站,成为最广泛使用的CMS之一。然而,在软件工程师中——尤其是那些专注于后端开发和可扩展网站应用的工程师——WordPress却因效率低、臃肿且令人沮丧而臭名昭著。
我讨厌 WordPress。我花了无数小时处理混乱的代码,解决插件之间的冲突,优化速度慢的网站。但这里有个关键点:WordPress 仍然很棒且必要,因为客户想要它。 不管我多么不喜欢用它,企业和客户仍然继续需要 WordPress 方案,这也是事实。
1. 为什么程序员不喜欢 WordPress.意大利面代码和遗留包袱
WordPress 从 2003 年开始作为一个简单的博客平台,逐渐发展成为一个功能齐全的 CMS。但其核心代码库中遗留了许多设计选择,导致:
- 全局功能和变量: 与现代封装不同,WordPress 依赖于全局功能,这容易导致冲突。
- 将 PHP 与 HTML 和业务逻辑混合在一起: 许多主题和插件直接将 PHP 与 HTML 和业务逻辑混合在一起,不符合软件设计的最佳实践。
- 为了保持向后兼容性不惜一切代价: WordPress 优先考虑与旧插件和主题的兼容性,这通常会牺牲性能、安全性和可维护性。
插件噩梦
插件是一把双刃剑:它们使 WordPress 更加灵活,但也带来了不少麻烦:
- 臃肿且效率低的插件: 许多插件拖慢了网站的速度。
- 安全风险: 维护不善的插件是 WordPress 黑客入侵的主要原因之一。
- 兼容性问题: 插件之间经常发生冲突,导致无休止的调试工作。
性能瓶颈
WordPress并不是为了性能而构建的:
- 数据库查询过重: WordPress 将一切存储在 MySQL 数据库中,这在网站扩展时会变得效率低下。
- 臃肿的主题: 许多主题包含不必要的 CSS 和 JavaScript 文件,从而拖慢页面加载速度。
- 扩展难题: 高流量网站需要大量优化(例如,缓存、CDN)才能表现得更好。
自定义真是个麻烦事
对于非开发者而言,WordPress 很容易自定义。然而,对于工程师来说,它却可能令人沮丧。
- 修改核心行为需要使用变通方法: Hooks 和 filters 更像是临时解决方案,而不是干净的抽象。
- Gutenberg 编辑器冲突: 基于 React 的块编辑器增加了系统的复杂性。
- 缺乏现代开发工作流程: 与像 Next.js 或 Spring Boot 这样的框架不同,WordPress 缺乏标准化的构建流程、依赖管理和可测试的架构。
安全噩梦夜
WordPress 经常被黑客攻击。
- 插件和主题的频繁漏洞
- 对登录页面的暴力破解攻击
- 缺少默认的安全最佳实践
虽然有这么多缺点,WordPress 对于许多企业和非技术人员来说是首选。 这就解释了为什么:
1. 客户都喜欢这个。
大多数客户并不在乎代码是否整洁,架构是否可扩展,或是遵循软件最佳实践。他们只想拥有一个看起来漂亮、运行流畅且易于管理的网站。WordPress 恰好做到了这一点。
2. 快速的发展和低成本优势
对于预算有限,无法承担定制应用的企业而言,WordPress 提供了一个既经济又有效的解决方案。他们可以在几小时内迅速搭建起电子商务商店、博客或作品集网站。
3. 庞大的生态圈和强大的社区支持
WordPress 提供了数千个主题和插件,允许企业无需聘请开发人员即可添加功能。如果遇到问题,还有无数的支持教程和论坛。
4: SEO 和营销的好处
WordPress 拥有出色的 SEO 插件,如 Yoast,并且拥有丰富的市场营销整合功能,使得企业可以轻松地优化网站以适应搜索引擎优化的需求,而无需具备技术背景。
5. 它熟悉且易于使用.
许多企业和内容管理者已经知道如何使用WordPress。切换到自建CMS或无头系统通常需要重新培训,而这正是他们不愿去做的。
3. 更好的其他选择确实存在—但客户却并不在意对于构建现代网站的工程师来说,有更优的选择:
- 对于静态网站: Next.js、Astro 或 Hugo 提供了更快和更安全的方案。
- 对于自定义网页应用: Django、FastAPI 和 Spring Boot 提供了可扩展和易于维护的后端支持。
- 对于无头内容管理系统的需求: Strapi、Sanity 和 Contentful 提供了结构化的内容管理,没有 WordPress 那样的臃肿。
但归根结底,大多数客户并不想听到关于更好替代方案的讨论——他们只想有一个 WordPress 网站就行。
总结我真讨厌 WordPress。许多软件工程师也是这样。但是它仍然是 web 开发中不可或缺的工具之一,因为它能为非技术人员提供所需的一切:一个简单、灵活且经济实惠的解决方案。
作为工程师,我们可以想怎么抱怨 WordPress 就怎么抱怨,但是只要一企业继续要求用它,我们就得继续使用它——不管我们喜不喜欢它。
共同学习,写下你的评论
评论加载中...
作者其他优质文章