WordPress放太多插件和主题真的会影响网站速度

日期: 标签:WordPress插件故障排除经验
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我

PS:本文在很大程度上是个人感官臆测,网友李惟提出了更专业的观点,详情点击:李惟的专业分析

从09年开始接触WordPress,我就被灌输一种思想:WordPress安装太多插件会拖慢网站速度。刚开始我对这种说法是无条件支持的,所以我在露兜博客发表的第一篇WordPress教程:WordPress使用经验(一)独立的Description 和 Keywords,就是坚决不用插件的产物。渐渐地,我对WordPress有了深入的了解,也会写个插件和主题玩玩了,对于插件会拖慢网站速度的说法也产生了质疑,很多人给出的理由是插件会附加一些JS和CSS,增加前台页面载入时间,所以不管是什么功能,他们宁愿选择自写代码实现需要的功能。我就在想,如果没有在前端输出任何CSS和JS,那把代码写到插件中,和写到主题的functions.php中,不都是运行相同的PHP代码吗?何来的影响速度?写成插件还便于管理呢!

而昨晚的发现,完全打消了我的这种质疑。我在本地也搭建了一个PHP运行环境,并安装了一个WordPress用于代码测试,用了这么多年,有用没用也收集了很多插件和主题,统统放到 plugins 和 themes 目录下,插件都是处于禁用状态,当然主题只能启用一个。

不知道从什么时候开始,我就发现本地运行的WordPress就比我的露兜博客后台运行慢很多,后台打开任何一个页面起码要等个10秒8秒,这已经严重超越了我的耐性。于是,上网搜索各种后台优化方案,尝试了使用英文后台、禁用版本升级、关掉后台仪表盘的各种无用版块、禁用所有插件、更换主题、重新安装PHP运行环境......无果,该慢的还是一样慢,用Chrome的开发者工具测了一下,最慢的页面打开都要13.57秒:

themes

后台的外观页面打开慢点还能理解,毕竟安装的主题多,但是所有文章页和评论页也要5秒8秒,这就没法理解了。昨晚用本地的WordPress做测试,后台慢的实在是没法忍受了,在想什么办法都用过了,是不是插件和主题安装的太多了?插件就有56个,主题也有32个,想想都觉得多。于是,把 plugins 目录清空,themes目录只保留一个在用的主题。OMG!!!后台瞬间坐上火箭,不是秒开,而是毫秒开有没有?

edit2

虽然不清楚WordPress的插件和主题的运行机制,但是我想至少WordPress花在读取主题和插件信息的时间就不少,主题的信息是写在style.css中,如:

/*
Theme Name: Twenty Thirteen
Theme URI: http://wordpress.org/themes/twentythirteen
Author: the WordPress team
Author URI: http://wordpress.org/
Description: ...
Version: 1.1
*/

而插件的信息放在哪个文件中呢?只要插件作者高兴,插件目录下的任意一个php文件都是可以的,WordPress只能一个一个地去找,不花时间才怪!所以,不管你有没有启用主题或插件,只要你放到 plugins 和 themes 目录下,并且数量够多的话,你就会明显感觉到WordPress的后台变得极其缓慢。

综上,我的建议是,themes 目录就放你一个现在用的主题就行了,如果你喜欢收集主题的话,就放在本地玩玩吧;插件的话,能不用就不用,一次性的插件用完就删,不用的插件就不要放在服务器上了,测试就放在本地吧。

-- 完 --

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜即刻 https://www.ludou.org/too-many-plugins-and-themes-slow-down-wordpress.html
露兜
kaapass@outlook.com  QQ 825533758

业余编程爱好者。

49 条留言

点此留言
1 2 644
  1. 微商 微商

    我的也是,打开好慢,但是很多插件都舍不得丢

  2. 均可

    真的吗

  3. 未来世界网

    那些搞主题下载站的都几百个主题不知道啥感觉

  4. David

    我早就想吐槽wordpress了。说是架构优秀,扩展性强,这都是表面功夫,其实这背后埋下了满满的缺点。一初始化就来个一百多个全局变量,外加一千多个你可能一辈子也用不到的函数,和一堆一堆的apply_filters,结果发现根本用不着。

    真正需要用到这些功能的都是大型网站,而大型网站都有能力自己开发。

  5. 悠悠 悠悠

    我开了10多个插件,没啥多大变化

  6. 蜗牛博客 蜗牛博客

    而且插件有一个问题。
    现在不是知名的插件,我都不敢装了。

  7. 耗灬子

    我最近才开始学的,我下载的比较轻量级的主题它不会影响后台的反应速度,但有一个公司之前开发的一个主题一启动就后台立马爆炸(反应基本都在10″),但一旦切换为原来(轻量级的主题)后台的运行速度立马又会恢复之前的飞速模式,综上,我觉得主题的多寡并不会过多的影响后台反应的速度,而是某一个主题可能哪里编写有问题导致后天加载缓慢。
    以上都是我最近所学心得,可能并不正确,还望多多指教~

  8. 萧十二工作室

    @耗灬子 只要做一个静态化缓存和数据库缓存,啥事都没有

  9. 3434

    呃……合着最终的解决方法并没有提到什么合并css、js之类的,只是少装插件和主题……

1 2

发表留言