数据库也是影响 WordPress 运行速度重要的因素之一,频繁调用、查询数据库会拖累网站整体的加载速度。今天大挖结合自己的实践操作来
优化一些 WordPress 数据库不必要的查询次数。希望可以帮助到大家有效提升博客的速度。
先给大家分享一段可以在wordpress主题底部显示当前运行时 WordPress 数据库查询次数和内存使用情况的代码:
1 2 3 4 5 6 7 8 9 10 |
//显示数据库查询次数、查询时间及内存占用的代码 function performance( $visible = false ) { $stat = sprintf( '%d 次查询 用时 %.3f 秒, 耗费了 %.2fMB 内存', get_num_queries(), timer_stop( 0, 3 ), memory_get_peak_usage() / 1024 / 1024 ); echo $visible ? $stat : "<!-- {$stat} -->" ; } add_action( 'wp_footer', 'performance', 20 ); |
上面的代码,直接放到主题function.php里即可。
优化WordPress 数据库查询:首先需要在 WordPress 的wp-config.php里进行优化操作,具体配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 |
define('COOKIE_DOMAIN', 'http://www.wazhuti.com'); //设置地址而不是服务器检查,这将减少服务器查询 define('WP_HOME', 'http://www.wazhuti.com'); define('WP_SITEURL', 'http://www.wazhuti.com'); //优化文章修改历史:Post-Revisioning define('AUTOSAVE_INTERVAL', 120);// 修改WordPress 编辑器自动保存时间间隔为120秒保存一次 define('WP_POST_REVISIONS', 5);//仅保留保留5个最近修改,也可以减小此数字,但不能太低了 define('EMPTY_TRASH_DAYS', 7 );//7天后自动清空回收站,这个自己根据情况设定 define( 'CORE_UPGRADE_SKIP_NEW_BUNDLED', true );//更新时跳过 wp-content 目录,增加更新效率 //通过剔除对模板路径和样式表路径的数据库查询,这样可提高站点的性能。 define('TEMPLATEPATH', '/wp-content/themes/wa'); define('STYLESHEETPATH', '/wp-content/themes/wa'); |
如果你没有使用缓存插件,开启WP自带的缓存(Cache)功能,并设置缓存时间,是非常必要的事情。
1 2 3 |
define('WP_CACHE, true); // 打开 WordPress 自带的缓存功能 define('ENABLE_CACHE', true); // 缓存开关 define('CACHE_EXPIRATION_TIME', 3600); // 缓存时间间隔 |
注:3.0后版本要开始缓存在/wp-includes/default-constants.php中开启,切记哦!
wordpress程序自身会经常向wordpress.com的服务器发送请求传送数据,我们可以通过设置wp-config.php来屏蔽此类外部请求的发送,在wp-config.php添加如下代码:
1 2 |
//禁止WordPress程序发出对外请求 define('WP_HTTP_BLOCK_EXTERNAL', true); |
值得注意的是我们在加入以上代码后你的网站将无法对任何一个外部服务器发出请求,如果站长朋友们为了加速网站收录使用了ping功能,加上以上代码后ping功能将会失效。解决方法:我们可以设置对外请求白名单即可解决ping失效问题,代码如下:(以百度ping为例)
1 |
define('WP_ACCESSIBLE_HOSTS', 'ping.baidu.com');//仅允许 WordPress 向ping.baidu.com发送请求 |
通过 WordPress 的wp-config.php配置完后大家 可以用本文开头分享的代码在源代码里查看和对比一下是不是数据库查询次数和内存使用量有所改善。还有就是要养成提前备份的好习惯,否则后果自负了!