解决WordPress加载缓慢的方法

自从老谷的服务在国内被悉数干掉以后,我的wordpress就无法打开了。起初以为是VPS在美国的原因,结果换到日本的VPS以后依然是缓慢。谷歌之遂发现是wordpress的一些php文件内引用了googleapis的字体和ajax的一些服务。解决方法为替换成360在国内的镜像。原版方法如下,原文在这里。测试结果很满意,加载速度大幅度提升。

Google Fonts 和 Google Ajax 服务器的作用

Google Fonts 是 Google 公司提供的字体库服务(fonts.googleapis.com),Google Ajax 是 Google 公司提供的前端开发用的 js 库服务(ajax.googleapis.com)。一般来说,使用 Google 公司提供的公共服务,可以有效减少网站流量,加快网站的访问速度。但由于我们的国情不同,这类服务一旦访问出现困难,依赖这些服务的网站打开反而会极其缓慢。

哪些文件调用了 Google Fonts 和 Google Ajax 的服务

  • WordPress 3.5 之前的版本中,核心程序和自带主题都没有调用 Google Fonts 和 Google Ajax 服务。
  • WordPress 3.5 ~ WordPress 3.7 各版本中(含类似 3.5.1 这样的小版本),核心程序文件 wp-includes/script-loader.php 和自带主题的函数文件 functions.php 文件调用了以上服务:
    1. wp-includes/script-loader.php
    2. wp-content/themes/twentytwelve/functions.php
    3. wp-content/themes/twentythirteen/functions.php
  • WordPress 3.8 各版本中(含类似 3.8.1 这样的小版本),除了核心程序文件 script-loader.php 文件和自带主题的函数文件 functions.php 文件外,WordPress 自带编辑器的样式文件也调用了 Google Fonts 服务:
    1. wp-includes/script-loader.php
    2. wp-includes/js/tinymce/themes/advanced/skins/wp_theme/dialog.css
    3. wp-content/themes/twentytwelve/functions.php
    4. wp-content/themes/twentythirteen/functions.php
    5. wp-content/themes/twentyfourteen/functions.php
  • WordPress 3.9 各版本中(含类似 3.9.1 这样的小版本),和 WordPress 3.8 版本一样,只是 WordPress 自带编辑器的样式文件更换了位置:
    1. wp-includes/script-loader.php
    2. wp-includes/js/tinymce/plugins/compat3x/css/dialog.css
    3. wp-content/themes/twentytwelve/functions.php
    4. wp-content/themes/twentythirteen/functions.php
    5. wp-content/themes/twentyfourteen/functions.php

举个例子,比如我的网站 mydomain.com 使用的是 WordPress 3.9.1 版本(最新版本总是增加安全),和自带的 Twenty Fourteen 主题;那么我只需要修改 WordPress 3.9 版本中的1、2、5这三项。不过万一哪天我想要使用另外两款主题呢?如果你不想以后麻烦的话,我们建议你将这个5个文件一次都修改掉。

将 Google Fonts 和 Google Ajax 替换为 360 的镜像库服务

360公司及时推出了 Google Fonts 和 Google Ajax 的镜像服务。虽然我们一向对这个公司缺乏好感,但毫无疑问这项服务做得非常及时。其实 Google Fonts 服务对中文字体意义不大;Google Ajax 在国内也有很多类似的服务,比如新浪也提供类似的库服务。但是 360 完全镜像了 Google 的这两项服务,做了一个很不错的营销。

我们还是以网站 mydomain.com 为例,我们来依次修改上面 WodPress 3.9 版本对应的5个文件:

  1. 使用 FTP 软件将 wp-includes/script-loader.php 文件下载到本地;同时,建议将服务器上 script-loader.php 文件改名为 script-loader.php.backup 作为备份,
  2. 使用你常用的文本编辑器,比如 EverEdit 编辑器,打开 script-loader.php 文件,将其中 googleapis.com 全部替换为 useso.com ,
    这样,fonts.googleapis.com 就变成了 fonts.useso.com , ajax.googleapis.com 就变成了 ajax.useso.com 。
  3. 保存对 script-loader.php 文件所做修改,然后上传到 wp-includes 目录下。
  4. 对于另外4个文件,重复以上动作,完成修改。

这样,我们就将 Google Fonts 字体库和 Google Ajax JS资源库全部换成了360网站提供的服务上了。现在重新打开你的网站,速度是不是快了很多?

关闭 WordPress 的自动升级服务

WordPress 3.7版本发布的时候,引入了一个小版本自动更新的功能。很显然,如果我们开启这项功能,当 WordPress 发布新的维护更新的时候(比如 WordPress 3.9.2),会自动覆盖掉我们所做的修改。这是我们不希望发生的事情。

你可以在 wp-config.php 文件中加入一行代码,来关闭自动更新功能,这行代码放在数据库信息后面即可:

1
define( 'AUTOMATIC_UPDATER_DISABLED', true );

修改 wp-config.php 文件的办法,跟上面我们介绍的修改 script-loader.php 方法一样。

如何检查和修改第三方 WordPress 主题中的代码

通过上面的办法,我们修改了 WordPress 的核心代码和自带主题,更换了其中调用的 fonts.googleapis.com 和 ajax.googleapis.com 的代码。

如果你使用的 WordPress 主题是第三方开发的,比如来自WordPress官方主题目录的主题等,需要你打开主题的每个文件检查一下,看看其中是否包含了以上代码。如果有使用到的话,也需要你做出同样的修改,换成 360网站卫士所提供的服务。

延伸阅读

逐一修改以上代码过于麻烦?不熟悉代码怎么修改?那么,你也可以使用我们的Disable Google Fonts Plus插件,只需要下载、安装、激活,不需要任何设置,轻松解决问题。