WordPress提速的思考和实践

类别:技术 日期:2019-09-03 评论:0

有很多人在使用WordPress搭建网站的时候,会觉得网站打开有慢,然后去网上人云亦云地吐槽它的臃肿和卡顿。

据我观察,很多人使用WordPress遇到卡顿和WordPress的代码架构层面没有任何关系,卡顿的来源多为插件和主题。

我最近也在思考优化提速方面的事情,有点心得记录如下。

1. 卸掉冗余插件

WordPress全开放的开发模式导致网络上有五花八门的各类插件,在大部分的情况下,这些参差不齐的插件往往是拖慢网站速度的罪魁祸首。

很多人在安装好WordPress后,喜欢安装各种插件来实现一些“个性化”的功能。

有些插件的第三方开发者只最求效果,基本上没有考虑代码对整个系统执行效率的影响,有些插件即便在卸载后还不能消除影响,有点类似于电脑系统中的垃圾软件拖慢电脑运行速度的感觉。

所以,在安装很多插件后,WordPress的速度被拖慢是再正常不过的事情了。

如果非要实现某个功能,最好能在自己在代码层面修改,自己控制代码质量,如果非要通过第三方插件来实现,那么请提高服务器的配置,鱼与熊掌不可兼得。

实际上,根据我这些年折腾WordPress的,99%的插件都是没有意义的,简简单单朴素的博客最好,一个博客最重要的是优质内容的输出,所以,卸掉那些没啥大用的插件吧。

2. 处理第三方资源

如果网站选用外国人制作的WordPress主题,一般会有主题内嵌的第三方资源加载的问题。

国外的开发人员喜欢实时加载Google字体来渲染网页,由于总所周知的原因,在国内的网络环境下是无法访问谷歌的服务,因此在打开网站的时候容易在此处卡顿。

网上有用插件形式禁用谷歌字体的,但是考虑到又要新增一个插件的负载,还是推荐在代码沉默修改,只要在主题的function.php文件中加入如下代码即可。

class Disable_Google_Fonts {
    public function __construct() {
    add_filter( 'gettext_with_context', array( $this, 'disable_open_sans' ), 888, 4 );
    }
    public function disable_open_sans( $translations, $text, $context, $domain ) {
    if ( 'Open Sans font: on or off' == $context && 'on' == $text ) {
            $translations = 'off';
        }
    return $translations;
    }
}
$disable_google_fonts = new Disable_Google_Fonts;

此外,有些主题还会引用一些第三方的js,css或是是字体文件,如果这些第三方网站访问不顺畅的话,也是会对网站的加载速度有影响,推荐将这类资源均下载到本地服务器上,然后在主题的header.php文件中修改相对路径引用。

3. 减少动态函数:

默认的WordPress是一个动态的网站,最优的解决方案是在文章生成后,通过插件将其生成静态的html网页供用户访问,缺点是得加装一个插件,这又是一个取舍考虑。

静态化的插件有收费的和免费的,一般可以先试试免费的WP_super_cache,如果满意的话可以一直使用。

如果和我一样有“洁癖”,不想加装插件,那么可以在模板层面将网站的资源尽量的静态化,减少数据库查询的操作,这对提升网页加载速度的也有提升。

比如模板文件中显示网站名称的地方,一般模板中都会用

<?php bloginfo(‘name’); ?>

这样一个php函数去动态实现,其实用这个的时候,自然就会涉及到php函数的执行和数据库查询的操作,一般来说,网站的名称等字段不会经常修改,那么在主题中直接用静态文本替换它,省去函数调用。

同理,一般在模板上还有不少地方都会用这样的方法去获取相关字段,在选定主题后,可以在主题php文件中将这些方法静态化。

当然,文章内容以及一些属性字段是必须要动态的不能修改。

其实,上面的三点都是在硬件不变的情况下的优化,如果可能的话,还是建议升级服务器硬件资源,如果追求访问的速度,最好还是国内备案后部署在国内的云厂家服务器上。

留言评论

天上的神明和星辰,人间的艺术与真纯,
我们所敬畏和景仰的,莫过于此。

推荐文章
软件作品
微信公号
  • 足球Plus微信公众号
最新留言
友情链接
推荐文章

天上的神明和星辰,人间的艺术与真纯,
我们所敬畏和景仰的,莫过于此。

软件作品
最新留言