问题原因
前段时间访问网站后台速度慢的离奇,甚至还会出现登录失败的情况,这几天总算折腾的差不多了
总结下来造成卡慢的原因主要有以下几个
- 后台使用了谷歌字体
- 自动加载gravatar头像
- 主题与插件的更新请求
- 仪表盘元素过多
- 安装了过多插件
- 主题代码过于臃肿
- 服务器负载过大
解决思路
前四种原因可以用一个QQWorld Speed for China插件一站解决,直接在内置市场搜索即可
安装完成后从WordPress左侧“设置”选项进入
也可在主题function.php中手动添加如下代码
/*wordpress后台禁用谷歌的字体api*/
class Uctheme_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 Uctheme_Disable_Google_Fonts;
/*谷歌字体移除*/
function remove_open_sans() {
wp_deregister_style( 'open-sans' );
wp_register_style( 'open-sans', false );
wp_enqueue_style('open-sans','');
}
add_action( 'init', 'remove_open_sans' );
/*gravata的头像转换为多说的图片缓存*/
function get_avatar_uctheme( $avatar ) {
$avatar = preg_replace( "/http:\/\/(www|\d).gravatar.com/" , "http://gravatar.duoshuo.com" , $avatar );
return $avatar ;
}
add_filter( 'get_avatar' , 'get_avatar_uctheme' );
-
如果安装了过多插件,可适当禁用并删除,目前已知Wordfence安全会显著拖慢访问速度,如果不需要其提供的安全防护建议禁用
-
如果网站用的是第三方主题,并且有过多冗余代码,也可能造成后台卡慢问题,建议做好动静态分离
-
如果服务器本身除了建站还有其他业务,造成内存占用过高,可能会间歇性造成访问慢甚至无法访问的问题,可给服务器配置适当的swap虚拟内存,可显著提升运行稳定性
优化思路
除了解决造成卡慢的问题,还有许多提升访问速度的办法,比如:
- 绕开仪表盘,登录后直接跳转至文章编辑页面,算是一种曲线救国策略,可在function中添加如下代码
/*登录后跳转到文章页面*/
function login_redirect_url( $redirect_url, $request, $user ){
return home_url('/wp-admin/edit.php');//留空会跳转至网站首页
}
add_filter( 'login_redirect', 'login_redirect_url', 10, 3 );
- 善用优化插件,比如Wp Super Cache(详细教程参考)和WPJAM Basic
- 为网站静态文件设置CDN加速