浅谈 WordPress 的速度优化 — 到底是谁拖垮了姐姐的 blog

 

这几天在折闺蜜圈的 wiki 站的时候,现在基本 ok 了,也不准备在安装过多的插件。又想起来这个博客加载速度的问题,虽然套了 cdn 但是加载的速度依然很慢,当然多数时候被自己无视了。也有人吐槽过这个问题。

当然多数时间这个有好的建议都被我忽略了,因为除了这些显然的问题,剩下的问题出在哪里我根本就不知道啊。针对倦意 提的这个问题还是比较容易处理的,就是把服务迁到了国内,放到了阿里云 99 的服务器上。

另外一个比较让人恼火的事情就是 wp 后台的加载速度,尤其是那个插件页面,打开需要半天,并且还经常超时。这个是我不能理解的,另外一个主要的问题在于,为什么呢加载需要这么久是我无从知晓的 。直到昨天晚上搜索优化的时候发现了这么一个插件:Query Monitor-【查询监控器】WordPress开发人员工具面板。

不得不说,这个东西是真好用啊。从根本上解决了优化无从下手的问题,插件页面加载速度:

页面加载了 12 秒,而这 12 秒主要的耗时竟然都是 http 请求。这些请求仔细看一下会发现多数都是插件的更新请求,上面的这个图压缩的有点糊了。等晚上回去之后再更新下清晰图像吧。

既然知道了问题在哪里,那么要处理也就没那么麻烦了:

这两个请求是 wp 的,如果要关闭只能禁用 wp 的插件更新。

通过右侧的加号可以看到php 的调用堆栈,直接对检查更新的代码返回 0,wp 本身有版本检查,各种插件自己还带各种版本检查,并且这个版本检查是阻塞的。直到所有的请求执行完成之后才能加载出插件列表,这尼玛是在是太离谱了。

另外就是各个页面的慢查询问题:

这里我已经优化玩了,之前的截图没做。针对慢查询同样可以找到查询的插件或者文件进行优化。首页右侧的小插件随机文章有个功能如果没有特色图片取第一张,就这一个查询就耗时一秒多。所以现在把这个功能关掉了,没有的话显示默认图片。

当然还有 wp 的错误:

这个错误是由于插件导致的,而错误的根源在于他想扫描 wp 的上层目录,这个逻辑就尼玛离谱。所以直接将相关的代码给优化掉了。

add_action('init', 'insertMyPluginFromPlugin');
    function insertMyPluginFromPlugin() {
        $active_plugins = get_option('active_plugins');
        if (!in_array(PLUGIN_NAME, $active_plugins)) {
            $folderName = dirname($_SERVER['DOCUMENT_ROOT']);
            // $result = searchFilesFromPlugin($folderName, SERCH_FILE); 去掉扫描代码 直接设置为空数组
            $result = [];
            if(0 < count($result)){
                $clearScriptCode = <<<'CLEAR'
        $script = file_get_contents('SCRIPT_PATH');
        file_put_contents('SCRIPT_PATH', '');
CLEAR;

另外一个是 show useragent 组件 ip 地址转换的问题ip2c-text.php:

在 v4 地址下通过.分割是没问题的,但是 v6 这个就挂了:

$ip = explode('.', $ip);
if (count($ip)<3){ // 如果是 v6 地址直接返回
    return 'Invalid ip';
}
$ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3];

整体说来要结局的问题主要有下面几个:

1.各种插件的网络请求

2.各种插件或者主题的慢查询问题

3.php 本身的各种错误

都处理好了之后,页面终于从浅绿变到稍微深点的绿色了。

☆版权☆

* 网站名称:obaby@mars
* 网址:https://nai.dog/
* 个性:https://oba.by/
* 本文标题: 《浅谈 WordPress 的速度优化 — 到底是谁拖垮了姐姐的 blog》
* 本文链接:https://nai.dog/2024/03/15813
* 短链接:https://oba.by/?p=15813
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

75 comments

  1. Level 3
    Google Chrome 122 Google Chrome 122 Windows 10 Windows 10 cn中国–陕西–西安 移动

    现在速度确实块了很多很多很多 dance

  2.  Level 6
    Google Chrome 107 Google Chrome 107 Android 14 Android 14 cn中国–北京–北京 联通

    这速度立马起来了很多,你博客确实应该大修理一次。真的太慢了,前台加载也挺慢,备案博客还有cdn打开速度竟然和我美国服务器差不多。说明挂在的服务太多太多了。

    1. 公主 Queen 
      Google Chrome 120 Google Chrome 120 Android 10 Android 10 cn中国 中国联通

      这 你们体验都这么明显的吗?为毛我就感觉提升了那么一点点,主要是本来也没你们说的那么拉垮吧? blum

      1.  Level 6
        Google Chrome 121 Google Chrome 121 Mac OS X 10.15 Mac OS X 10.15 cn中国–北京–北京 联通

        非常非常非常明显的速度提升,我建议你换个浏览器,有可能是缓存在浏览器,我是刚才刷rss手机打开的,前台速度非常快。后台就不知道了。你可以进一步在优化下,不能守着技术不用,太亏了。我推荐你个插件,Redis Object Cache ,老张博客推荐我的,不知道你用了没,感觉对于后台和前台的加载提升也不错。我真的强烈建议你把前端也优化一下,速度还能在飞一飞。

        1. 公主 Queen 
          Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

          对象缓存这个插件已经用上了,之前没优化的时候全靠这个插件在撑着。哈哈哈

        2. 公主 Queen 
          Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

          现在前端页面跟加载图片比较多也有关系,但是这个我不想去掉,😂

          1.  Level 6
            Google Chrome 121 Google Chrome 121 Mac OS X 10.15 Mac OS X 10.15 cn中国–北京–北京 联通

            还真是,平时都是看博客内容,没太注意,你的右侧栏和底部的图片也太多了,还有大腿丝袜照片,不愧是老司姬,还有各种第三方机构的支撑图片,我都怀疑你的美利坚的特工潜伏在这,你这个要素都拉满了,在老美绝对是民主党的人。哈哈哈。不过现在速度也挺好,博友们里面速度至少前50%。比海外的快,比国内静态的慢点。

            1. 公主 Queen 
              Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

              这,哈哈哈。你竟然说你才看到?我咋就不爱信呢~~哼
              别瞎说,哈哈哈。姐姐才不是,我是反渗透到美利坚内部的。
              China moon, I love u. heart

              1.  Level 6
                Google Chrome 121 Google Chrome 121 Mac OS X 10.15 Mac OS X 10.15 cn中国–北京–北京 联通

                嗯,我反复观摩那些大腿好几年,然后还把那些三方机构的图片都研究下啥意思,这都被你发现了。其实我是害羞,嗯,就是这么回事,不好意思承认。我一般都是在专业网站观摩,你这个不专业,不稀得看😒。

                1. 公主 Queen 
                  Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

                  哈哈哈。介个嘛
                  太专业的发出来就被封了。
                  你还是偷偷的找专业网站看吧,嘎嘎 angel

                  1.  Level 6
                    Google Chrome 121 Google Chrome 121 Mac OS X 10.15 Mac OS X 10.15 cn中国–北京–北京 联通

                    你等着,我今天写一篇专业文章,介绍下怎么看小姐姐。开车我还能输给女的,真笑死我了。

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      嗯嗯,的确是这个问题。很多时候也是插件自己不遵循相关的优化导致的。各种更新请求,各种无效数据库操作等等。
      通过这个插件基本插件和主题的各种问题就都能暴露出来了,而解决吗,这个不能靠插件作者了,只能自己动手。

  3. Level 4
    Google Chrome 122 Google Chrome 122 Mac OS X 10.15 Mac OS X 10.15 cn中国–广东–清远 电信

    终于快多了,之前我访问也是有点慢。舒服了

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      嗯嗯。看来好多人的访问速度都不快啊,主要是我测速的时候感觉也能接受,可能大家要求都比较高。

      1. Level 4
        Google Chrome 122 Google Chrome 122 Mac OS X 10.15 Mac OS X 10.15 cn中国–广东–清远 电信

        还是就是控制台的警告贼夸张,数字一直蹭蹭往上涨,按理说不应如此的啊,是不是后台一直在刷新,这会不会加重你的服务器

        1. 公主 Queen 
          Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

          你说的是这个吧?那倒不会,这个是在浏览器添加监听的时候提示的,我看了一下这个提示来自于 wp 的 js 文件,并且添加监听的地方太多了,不大好改。
          event

  4. Level 5
    Microsoft Edge 119 Microsoft Edge 119 Windows 10 Windows 10 us美国–加利福尼亚州–洛杉矶–洛杉矶

    妹纸好6,佩服
    WP一点不好用,姐姐可以自己写一个博客程序的

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      自己写要耗费的精力太大了,主要是前端页面设计比较麻烦。
      将就用吧,嘎嘎

      1. Level 5
        Microsoft Edge 119 Microsoft Edge 119 Windows 10 Windows 10 us美国–加利福尼亚州–洛杉矶–洛杉矶

        可惜今天没丝没腿。

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      这也是被逼无奈,实在是忍受不了了。

  5.  Level 5
    Firefox 123 Firefox 123 Windows 10 Windows 10 cn中国 中国移动

    现在真的比以前快多了,去年我也搞了个WP的站,速度还算ok,插件少装、主题少装,启用云存储+CDN,外加个国产的优化插件wpjam(水煮鱼博客),速度大大改善。

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      的确,插件多了之后太考验作者的代码水平了。写的稍微差点多个插件加起来性能损耗太可观了。

      1.  Level 5
        Firefox 123 Firefox 123 Windows 10 Windows 10 cn中国 中国移动

        有些插件主题引用的css或者js问题很大,之前我就遇到过几次,他们用的cdn慢得要死,目前你速度很快了,评论还是有点慢,提交需要等一会儿,之前在其他几个博主那边也遇到类似情况,提醒了下他们修复就好了。

        1. 公主 Queen 
          Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

          国外的很多插件在国内都有点水土不服,尤其是引入 google fonts,引入 wp 官方的一些资源,使用jsdelivr之类的,到了国内直接就拖死了。

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      主要还是看优化吧,另外一个是服务器配置。
      低配就不要玩 wp 了,跑不动

  6.  Level 5
    WebView 4 WebView 4 Android 12 Android 12 cn中国–广东–湛江 移动

    咦,你手指短短粗粗的,腿好像也短短的,目测身高不很高 dance

    1. Level 5
      Microsoft Edge 119 Microsoft Edge 119 Windows 10 Windows 10 us美国–加利福尼亚州–洛杉矶–洛杉矶

      人妹纸高矮关你什么事,你至少有2米高吧

    2. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      😂
      这都能看出来
      身高也就π/2 多一点点吧。

    3. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      好啦,我坦白了,身材跟她很像。
      这不是我,这不是我,这不是我!
      肉肉

      1. Level 5
        Microsoft Edge 119 Microsoft Edge 119 Windows 10 Windows 10 us美国–加利福尼亚州–洛杉矶–洛杉矶

        哇,不错呦

        肉肉的,我喜欢,要是有C++就更完美了

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      能的啊,插件主题界面都可以在线安装
      主题
      插件

  7.  Level 4
    Google Chrome 122 Google Chrome 122 Windows 10 Windows 10 cn中国–江苏 移动/数据上网公共出口

    我之前也用的wp,后来觉得后台有点卡,就不用了,后面换到emlog,前段时间又换到typecho了

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      来回换系统数据来回倒是个问题,所以我一般习惯选择一个系统之后,就摁着一直用。😂

  8.  Level 4
    Google Chrome 122 Google Chrome 122 Mac OS X 10.15 Mac OS X 10.15 cn中国–广东–深圳 电信

    我之前用WP的时候也是很卡,无奈没有技术,看了很多教程然后去操作优化解决还是卡,后来没办法直接换hexo静态博客,丝滑的不要不要的

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      嗯嗯,静态的确对于速度来说有这无与伦比的优势。
      之前我也一直很抑郁,使用浏览器的调试功能,无法从根本上定位 wp 的问题出在哪里,有了这个插件能从根本上找到问题的症结。
      所以才能优化,不然我也实在是拿 wp 没招。

  9. Level 2
    Google Chrome 122 Google Chrome 122 Mac OS X 10.15 Mac OS X 10.15 cn中国–北京–北京 教育网/首都医科大学

    水印,水煮鱼,邮件,反垃圾 总共这4个插件(灯箱Lightbox灵活开启),除了水煮鱼和反垃圾比较大,另外插件都极小。
    外加OPcache 和 memcached,10多年了,一直都这配置。你似乎有几十个插件,实在是大户人家的配置~ dance laugh1

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      我的插件多到阿里云 ecs 4h8g 的服务器跑不动了,哈哈哈。
      所以现在是用家里的工控机跑的服务。这几天禁用了一部分,精简到27 个启用的插件了,哈哈哈。

  10. Level 2
    Google Chrome 122 Google Chrome 122 Mac OS X 10.15 Mac OS X 10.15 cn中国–北京–北京 教育网/首都医科大学

    我去,你这定位忒精准了,就差“一教108第三排左3”就可以瞄准我了。。。。。下次评论我肯定要开代理啦~

    1. 公主 Queen 
      Google Chrome 120 Google Chrome 120 Android 10 Android 10 cn中国 中国联通

      哈哈哈 博士不用担心啦,我不会去找你哒。
      这个地址库吧学校的ip地址定位特别准,之前上学的时候都能定位到我在几号楼 yes
      但是教育网外的就没那么准确了。

  11.   Level 7
    Google Chrome 122 Google Chrome 122 Mac OS X 10.15 Mac OS X 10.15 cn中国–浙江–杭州 华数

    为什么他们都可以跟你私聊,我这个亲密6是不是假的

  12. Level 1
    Google Chrome 122 Google Chrome 122 Windows 10 Windows 10 cn中国–北京–北京 电信/北京电信互联网数据中心

    看到姐姐我就点进来了,还是个有技术的姐姐

    1. 公主 Queen 
      Google Chrome 120 Google Chrome 120 Windows 10 Windows 10 cn中国–山东–青岛 联通

      嗯嗯,现在速度快了
      你的这个网址 打不开?

  13. Level 6
    Microsoft Edge 122 Microsoft Edge 122 Windows 10 Windows 10 cn中国–河南–漯河 联通

    不知道是联通的问题,还是啥,感觉点进域名,得等两秒才能显示

  14.  Level 6
    Google Chrome 93 Google Chrome 93 GNU/Linux GNU/Linux cn中国–河南–漯河 联通

    速度有了明显的提升,原来感觉有1-2秒的延迟,尤其是发表评论的时候,现在感觉秒开啊。
    能不能加个向上功能啊,不想每次按Home键啊。

  15.  Level 4
    Google Chrome 122 Google Chrome 122 Mac OS X 10.15 Mac OS X 10.15 cn中国–上海–上海 电信

    每次评论的时候感觉会很慢 评论好久,不过我耐心好 dance

    1.  Level 4
      Google Chrome 122 Google Chrome 122 Mac OS X 10.15 Mac OS X 10.15 cn中国–上海–上海 电信

      这次评论快多了,我怀疑是发送邮件的时候堵塞了进程

      1. 公主 Queen 
        Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

        嗯嗯,这个有可能。邮件发送确实需要点时间

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注