再谈 WordPress 的速度优化 — 优化插件真的是提速的吗?

这几天除了发版就是在看wp的相关问题,前几天dabenshi格子老师 评论说夜间模式的插件有问题。本来想写代码的,但是,又不想写了就直接继续安装插件来解决这个问题。插件安装启用之后发现一个问题,那就是速度又变慢了。

这就让人很疑惑,于是继续开启查询监控器排查问题。同样一通修改之后把插件的自动更新检测全部干掉,但是提升依然有限。没有恢复原来的水平,今天早上尝试把插件禁用了。竟然依然没有改善,于是不得不思考是不是另外插件导致的问题。

这几天除了夜间模式的插件,另外一个安装的插件就是WPOPT ,这个插件的“WPOPT-WordPress高级优化插件”。看其实来国人写的插件,按理说国内的插件针对国内用户的使用习惯的优化还是蛮不错的。

声明:

以下测试仅用于说明该插件对我的博客性能提升没有效果,不代表在其他博客上无效!

以下测试仅用于说明该插件对我的博客性能提升没有效果,不代表在其他博客上无效!

以下测试仅用于说明该插件对我的博客性能提升没有效果,不代表在其他博客上无效!

直接跑到itdog测速网跑了一下:

如果没记错的话,在上次进行优化的时候测速已经多数区域都是0.5s-1s区域,现在反而成了1s-3s居多,这就让人很疑惑了。

关闭wpopt插件重新测试:

这~~感觉反向优化了?当然,也可能是我的插件设置有问题,总之目前看来该插件对我的博客来说没有优化,反而成了负担。

测试视频:

期间禁用组件的时候还报错了,这个可能是系统问题。

另外,优化性能的时候发现另外一个问题,就是亲密度系统存在重复查询以及大量无效查询的情况。于是对待吗进行了进一步优化,针对管理员,也就是姐姐我的评论进行了过滤:通过email和url进行排除,这样可以至少减少1/3的数据查询量。

优化后代码:

//评论VIP标志
function get_author_class($comment_author_email,$comment_author_url) {
    global $wpdb;
    $is_add_link_badge = false;
    $adminEmail = 'root@obaby.org.cn';
    // $author_count = count($wpdb->get_results(
    //         "SELECT comment_ID as author_count FROM $wpdb->comments WHERE comment_author_email = '$comment_author_email' "));
    // 
    $author_count =0;
    if($comment_author_email!= 'root@obaby.org.cn') {
        $args = array(
            'author_email' => $comment_author_email,   // Use user_id.
        'count'   => true // Return only the count.
        );
        $author_count = get_comments( $args );
    }
    // echo $comments_count;
    if(email_exists($comment_author_email)&& $comment_author_email!=$adminEmail)echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/用户/已认证/CCFF33?icon=rss" alt="" height="16">&nbsp';
    $user = get_user_by('email',$comment_author_email);
    if($user!= false) {
        //      $user_url = $wp_user['user_email'];
        //echo $user;i
        //
        $comment_reg_author_url= $user->user_url;
        if(strpos($comment_reg_author_url,'h4ck.org.cn')==false) {
            $parsedUrl = parse_url($comment_reg_author_url);
            if (isset($parsedUrl['host'])) {
                $domainName = $parsedUrl['host'];
                $comment_author_url_qs = esc_sql('%'.$domainName.'%');
                $linkurls = $wpdb->get_results(
                                    "SELECT link_url FROM $wpdb->links WHERE link_url like '$comment_author_url_qs'");
                if(count($linkurls)>0) {
                    echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/友链/集美们/blue?icon=chrome" alt="" height="16">&nbsp';
                    $is_add_link_badge =true;
                }
            }
        }
    }
    if($comment_author_email ==$adminEmail) {
        echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/管理员/小妖精/ff91a4?icon=terminal" alt="公主" height="16">&nbsp';
        echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/角色/女王/red?icon=matrix" alt="Queen" height="16">&nbsp';
        $is_add_link_badge =true;
    }
    $parsedUrl = parse_url($comment_author_url);
    if (isset($parsedUrl['host'])&&$is_add_link_badge==false &&strpos($comment_author_url,'h4ck.org.cn')==false) {
        $domainName = $parsedUrl['host'];
        $comment_author_url_qs = esc_sql('%'.$domainName.'%');
        $linkurls = $wpdb->get_results(
                        "SELECT link_url FROM $wpdb->links WHERE link_url like '$comment_author_url_qs'");
        if(count($linkurls)>0) {
            echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/友链/集美们/blue?icon=chrome" alt="" height="16">&nbsp';
        }
    }
    if($comment_author_email!=$adminEmail) {
        if($author_count>=1 && $author_count<10)
                        echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 1/gray?icon=codebeat" alt="Level 1" height="16">'; else if($author_count>=10 && $author_count<20)
                        echo '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 2/cyan?icon=codebeat" alt="Level 2" height="16">'; else if($author_count>=20 && $author_count<50)
                        echo  '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 3/green?icon=codebeat" alt="Level 3" height="16">'; else if($author_count>=50 && $author_count<100)
                        echo  '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 4/yellow?icon=codebeat" alt="Level 4" height="16">'; else if($author_count>=100 && $author_count<200)
                        echo  '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 5/orange?icon=codebeat" alt="Level 5" height="16">'; else if($author_count>=200 && $author_count<500)
                        echo  '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 6/red?icon=codebeat" alt="Level 6" height="16">'; else if($author_count>=500 && $author_count<1000)
                        echo  '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 7/pink?icon=codebeat" alt="Level 7" height="16">'; else if($author_count>=1000 && $author_count<2000)
                        echo  '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 8/purple?icon=codebeat" alt="Level 8" height="16">'; else if($author_count>=2000)
                        echo  '<img decoding="async" loading="lazy" src="https://badgen.net/badge/亲密度/Level 9/purple?icon=codebeat" alt="Level 9" height="16">';
    }
}

wordpress插件太多了,所以在安装各种插件之后可以自己测试下具体的效果,是优化了性能,还是拖垮了性能。

当然,也可能是插件冲突或者其他问题,所以,对别人来说有用的好用的,不见得对自己来说就是好用的。适合自己的才是有用的。

☆版权☆

* 网站名称:obaby@mars
* 网址:https://h4ck.org.cn/
* 个性:https://oba.by/
* 本文标题: 《再谈 WordPress 的速度优化 — 优化插件真的是提速的吗?》
* 本文链接:https://image.h4ck.org.cn/2024/03/15874
* 短链接:https://oba.by/?p=15874
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

67 comments

    1. 公主 Queen 
      Google Chrome 120 Google Chrome 120 Windows 10 Windows 10 cn山东省青岛市 联通

      评论多的页面优化效果还是可以的,数据库查询次数降低了很多,并且重写了评论数获取方法,用的wp的api。不再是直查数据库了。

      1. Level 1
        MIUI Browser 18 MIUI Browser 18 Motorola Motorola cnAsia/Shanghai

        WPOPT这是果核剥壳的插件,我不知道你们有木有听过,但是在我印象里还是挺出名的,这我也用过,好像确实没什么大用,我用着还有bug,感觉必要的插件还是要有的,😂我现在无所谓了,只要我自己不感觉慢就行,缓存好,速度尚可就行,我比较在意的还是并发,也想请教下,这方面怎么优化

        1. 公主 Queen 
          Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn山东省烟台市芝罘区 联通

          这,高并发的话就全静态+cdn 吧,这样基本不怎么耗费服务器资源了。cdn 基本就把请求全部处理掉了。

  1. Level 5
    Google Chrome 122 Google Chrome 122 Windows 10 Windows 10 se瑞典 Oracle Corporation

    我换了cdn服务商之后发现rss无法被订阅了,到现在也没有想明白是哪里的问题。

    1. 公主 Queen 
      Google Chrome 120 Google Chrome 120 Windows 10 Windows 10 cn山东省青岛市 联通

      现在好了,能拉到数据了貌似。我说感觉你好多天没更新呢~~
      rss
      rss

    2. Level 1
      MIUI Browser 18 MIUI Browser 18 Motorola Motorola cnAsia/Shanghai

      哇塞,回复的好快呀,姐姐,不过貌似没有收个邮件通知,感觉可以考虑搞一个,wordpress也可以全静态嘛?听说没有后台渲染不利于seo,然后也考虑过hugo和hexo好像也确实这样,看了好多静态网站一点权重都没有~所以就放弃了,可是目前用wordpress,每天cpu都是爆满的,又很焦虑,毕竟也没啥大收入,升级也不太值得

      1. Level 1
        MIUI Browser 18 MIUI Browser 18 Motorola Motorola cnAsia/Shanghai

        也给你点建议,这个评论好像延迟不是一般的高,点击发表评论要等20s感觉,可以考虑优化了

        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山东省烟台市芝罘区 联通

        wp super cache 之类的不是可以把页面全部静态化吗?相当于所有的页面不需要查询数据库了,速度自然就快了,并且服务器负载也可以降低很多。
        我这小破站没几个人,全静态意义也不大。

        1. Level 1
          MIUI Browser 18 MIUI Browser 18 Motorola Motorola cn江苏省南京市 电信

          😂你这可不是小破站,评论好多呀,所以你可要好好优化下评论系统,哈哈,wp super cache这个我用过,后来换成rocket,我也不知道哪个好,主要rocket功能多一点,所以就用了,但是并发好像emm,也可能我服务器比较拉胯2核2g的,搞得我都有点想直接跟杜俊大佬学了,搞个物理服务器(4核8g),虽然没有公网,搞个cloudflared,反正都慢,不如省点圆子了

  2.  Level 4
    Firefox 123 Firefox 123 Windows 10 Windows 10 cnAsia/Shanghai

    WPOPT这个今天我才知道,安装了下看功能蛮多的,但如你所说好像效果不明显,我一直用的同类软件wpjam效果很明显

  3. Level 3
    Safari 17 Safari 17 Mac OS X 10.15 Mac OS X 10.15 cn广东省深圳市 电信

    插件质量是一方面。另一方面,得结合负载来看。没什么流量的网站没必要优化。

      1. Level 3
        Safari 17 Safari 17 Mac OS X 10.15 Mac OS X 10.15 cn广东省深圳市 电信

        抛开网络问题,打开速度就是cpu、内存、硬盘的压力撒。没必要优化的意思是,只要程序不是写的太烂,还不至于到达解释器和硬件的瓶颈。

        1. 公主 Queen 
          Google Chrome 120 Google Chrome 120 Android 10 Android 10 cnAsia/Shanghai

          工控机性能有限,并且现在阿里云ecs4h8g根本带不动,直接卡死。不优化cdn请求时间都超时。

  4. Level 3
    Safari 17 Safari 17 iPhone iOS 17.3.1 iPhone iOS 17.3.1 cn甘肃省兰州市 电信

    哈哈,我就用了两个缓存插件,一个前端一个后端,不知道有用没,反正测速没绿过

  5.  Level 5
    Google Chrome 107 Google Chrome 107 Android 14 Android 14 cn北京市 移动

    插件我也是,用了supercache和那个后端缓存,延迟加载图片,localfont,用完效果挺好的,速度感觉还行,尤其是前后端缓存,很明显提升。昨天又关了一批插件,插件对页面拖慢影响太大了。关几个打开页面都快了。

    1. 公主 Queen 
      Google Chrome 120 Google Chrome 120 Windows 10 Windows 10 cn山东省青岛市 联通

      之前没太注意插件的影响,主要是靠直观感受不容易发现是不是有问题。
      有了监控工具之后发现影响太大了,的确是少用插件才是最好的。

  6. Level 1
    Safari 17 Safari 17 iPhone iOS 17.3.1 iPhone iOS 17.3.1 cn上海市 联通

    只要不是卡到明显影响体验,我也就没在纠结优化的事情了。(主要还是不会)

  7.  Level 4
    Google Chrome 121 Google Chrome 121 Android 10 Android 10 cn江苏省盐城市 移动

    我之前用的emlog,现在换到了typecho,我感觉ty应该是比emlog快的,但实际测速下来发现,我的ty加载是比之前emlog慢的,搞不懂,也不想搞懂了,只要不是那种加载时间要很长的就行了

    1. 公主 Queen 
      Google Chrome 120 Google Chrome 120 Windows 10 Windows 10 cn山东省青岛市 联通

      静态博客加载问题主要可能还是引用的外部的css,js,字体之类导致的。可以看下是不是有的资源加载太慢

      1.  Level 4
        Google Chrome 122 Google Chrome 122 Windows 10 Windows 10 cn江苏省盐城市 移动

        typecho是动态的吧,css和js有外部的加速,但是我用的是本地的,我查了一下,应该是有个css里面引入了一个谷歌字体的服务,但是我删了之后,清除缓存,速度似乎也没多大区别,干脆不管了 beee

          1.  Level 4
            Google Chrome 122 Google Chrome 122 Windows 10 Windows 10 cn江苏省盐城市 移动

            嗯,是揽星,速度还行,就是感觉不如之前快。但是我发现你的顶部菜单除了集美们以外,其他菜单都提示“遇到了致命错误”,怎么了?

            1. 公主 Queen 
              Google Chrome 120 Google Chrome 120 Android 10 Android 10 cnAsia/Shanghai

              禁用了一个插件 page页面有自己写的代码 忘了改了 mail 现在应该好了

  8.  Level 4
    IBrowse r IBrowse r Android 12 Android 12 cn河南省漯河市 联通

    为什么这次我这里打开延迟很慢啊?真是一方空间养一方插件。wp-rocket用了吗?

  9. Level 4
    Google Chrome 122 Google Chrome 122 Mac OS X 10.15 Mac OS X 10.15 cn广东省清远市 电信

    现在就挺快的了,比之前好太多啦。数据这么大的老站点,现在的速度我觉得很好了。这也说明Wordpress还是非常优秀的,PHP YES。

    1. 公主 Queen 
      Google Chrome 120 Google Chrome 120 Windows 10 Windows 10 cn山东省青岛市 联通

      嗯嗯,目前看来速度确实好了很多。
      优化这个事情确实要提升一大截的话还是挺难的。

  10. Level 5
    Firefox 123 Firefox 123 Windows 10 Windows 10 cnAsia/Shanghai

    插件这个东西能尽量少用的少用。主题能尽量精简就精简。
    优化对我来说貌似一点用也 没有。

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

    感觉更慢了呢,首页也要慢2秒左右;
    这个URLhttps://h4ck.org.cn/2024/03/15874更慢,至少要9秒,有个emoji 的js拖了很多后腿;

    PS. 重庆 成都 江苏 电信1000M 专线光纤测试

  12. Level 3
    Microsoft Edge 122 Microsoft Edge 122 Windows 10 Windows 10 cn江苏省宿迁市 移动

    用了一些优化插件,的确可以提一点速度。但是,不能完全依赖于插件。

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

        应该是你播放器的吧,还有一堆这样的js

        1. 公主 Queen 
          Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 联通

          播放器是 b 站的,只能引入 b 站的播放器。

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 联通

      有的 js 是播放器引入的,这个没神马办法啊,用的 b 站的播放器,就得接受 b 站的 js。

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 联通

      嗯,理论上说加入的代码越多执行效率越慢。
      不过有的插件是为了屏蔽 js 谷歌字体,或者替换 gravatar 源之类的,这种还是有效果的。可以屏蔽掉无法加载的资源

  13. Level 1
    Microsoft Edge 122 Microsoft Edge 122 Windows 11 Windows 11 cn辽宁省沈阳市 联通

    其实一些缓存插件不好,会导致php出现一些问题,还有不会实时更新的问题。使用服务器端的对象缓存就很好,读取过一次就进行缓存,其他人访问时直接读取缓存下来的文件。如果有更新,还会自动覆盖缓存。

    最重要的是,不要使用一些国外的CDN链接,在中国加载很慢,以为白嫖其实负优化,那点几KB的文件还不如放本地。能浪费多少流量啊 unknw

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 联通

      嗯嗯,现在性能优化插件就剩下一个 object cache 了,别的都去掉了,的确会引入一些奇奇怪怪的问题。
      cdn 目前用的国内的,之所以用 cdn 是因为现在网站放家里了,需要一个工具把家里的网站映射出来哈哈哈。
      说的很对~~

  14.  Level 4
    Google Chrome 109 Google Chrome 109 Windows 10 Windows 10 cn广东省广州市 电信

    懒得费太多劲。一个cache插件就够了。

    我猜头图不是你

  15.  Level 4
    Google Chrome 109 Google Chrome 109 Windows 10 Windows 10 cn广东省广州市 电信

    懒得费太多劲。一个cache插件就够了。

    我猜头图不是你。

    第二次提交分割线——-

    为什么说我重复提交,我才一次。

    1. Level 4
      Google Chrome 109 Google Chrome 109 Windows 10 Windows 10 cn广东省广州市 电信

      不好意思。你删其中一条吧。我是真的只提交一次。他说我重复的,我以为不成功,才第二次的。

    2. 公主 Queen 
      Google Chrome 118 Google Chrome 118 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山东省济南市 联通

          我的也扛不住,哈哈哈。缓慢测速。快速测速我的都是红的,😂

  16. Level 2
    WebView 4 WebView 4 Android 14 Android 14 cnAsia/Shanghai

    装那么多插件干嘛,就简简单单一两个就好了,用个好点的服务器,嘿嘿

    1. 公主 Queen 
      Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 cn山东省青岛市 联通

      为了满足功能,又不想写代码就直接找插件了

发表回复

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