为什么wordpress 那么慢
我认为有三个主要原因:
wordpress是过程式结构
wordpress在php5时代就已存在,是个非常典型的BLOG。PHP4到PHP5并不流行OOP,过程结构是大主流。但现在PHP5.6到PHP7对于OOP优化很明显,而wordpress现在仍然是旧式结构,新环境并没有给wordpress带来良好的优化效果。
wordpress的plugin机制是HOOK
hook即钩子,意思是在程序中放上一个槽,以后其它程序可以建立钩子与之关联,实现代码注入扩展。这样做是为了实现灵活的扩展性,wordpress能安装很强大的plugin正是因为它有hook。但hook被加入到整个加载流程,例如你安装一个plugin只为了某个页面实现一个小效果,但这个plugin仍然会在其它页面加载。如果你安装了100个plugin,那你打开一个页面也许会把这100个plugin都加载一遍,页面才会打开。
wordpress其实是BLOG
wordpress最初只是个blog,一个简单的blog,但使用的人多了,就有各式各样的要求。很多人把它看成是CMS,设法增加很多类型 ,又设法优化内容表现能力,所以开发者都不断用hook对blog强化再强化,最后blog已经相当臃肿,带来的后果就是慢。
wordpress很好用,但它已经旧了,虽然还在不断升级,但核心架构一直都没有变过。也由于它的核心没有变,所以对旧的plugin支持很好,最后越来越强大。但核心仍然是个硬伤,仍然有到头的一天。