WordPress
首先,先分享给大家一段可以在网页源代码底部显示当前运行时 WordPress 数据库查询次数和内存
//显示数据库查询次数、查询韶光及内存占用的代码

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里既可。不过,明月还是建议大家采取【如何方便的在更新主题时保留functions.php里的自定义】一文先容的方法将自己添加的代码独立于主题function.php之外,以防止主题更新、改换后自己添加的代码丢失和失落效。代码不会增加过多的主机包袱,仅仅是利用了 WordPress 的扩展机制的一个小技巧而已,以实现我们自定义代码以“插件”的形式独立出来。
上述代码明月建议大家都加上,这样在博客任意页面的“源代码”里都可以看到当前的数据库查询次数和内存利用情形,便于大家在优化时有个比拟。同时在利用一些“插件”的时候也可以用来不雅观察“插件”的内存占用和数据库调用情形。
要减少 WordPress 数据库查询次数,我们首先在 WordPress 的wp-config.php里进行一些基本的配置,这样就可以减少一些险些多余的、每次都须要查询数据库的次数,我只管即便都配上了中文注释,详细配置如下:
define('COOKIE_DOMAIN', 'blog.ymanz.com');
//设置地址而不是做事器检讨,这将减少做事器查询
define('WP_HOME', 'http://blog.ymanz.com');
define('WP_SITEURL', 'http://blog.ymanz.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/begin');
define('STYLESHEETPATH', '/wp-content/themes/begin');
关于上述代码第一行指定cookies域小知识,由于很多缘故原由你须要给站点指定cookies域。比较常见的便是阻挡子域名上要求静态内容的cookies不必要的传输。这种情形下,你就可以利用此定义奉告WordPress只向非静态域发送cookies,这将会大大提高网站的性能。
如果你的主机支持指定PHP利用的内存,还可以根据主机配置情形加入下面任一行代码:
define('WP_MEMORY_LIMIT', '64M');
define('WP_MEMORY_LIMIT', '96M');
define('WP_MEMORY_LIMIT', '128M');
如过你没有利用缓存插件一类的可以开启WP自带的缓存(Cache)功能,并设置缓存韶光,是非常必要的事情。
define('WP_CACHE, true); // 打开 WordPress 自带的缓存功能
define('ENABLE_CACHE', true); // 缓存开关
define('CACHE_EXPIRATION_TIME', 3600); // 缓存韶光间隔
注:3.0后版本要开始缓存在/wp-includes/default-constants.php中开启,牢记哦!
对付WordPress比较熟的站长可能会创造自己的网站会常常要求向wordpress.com的做事器发送要求传送数据,虽然我相信,WordPress不会对我的小站有什么兴趣,不过这样一来wordpress的运行效率就降落了很多。所以为了避免这类外部要求的发送,我们可以通过设置wp-config.php来屏蔽此类外部要求的发送,在wp-config.php添加如下代码:
define('WP_HTTP_BLOCK_EXTERNAL', true); //禁止WordPress程序发出对外要求
值得把稳的是我们在加入以上代码后你的网站将无法对任何一个外部做事器发出要求,如果站长朋友们为了加速网站收录利用了ping功能,加上以上代码后ping功能将会失落效。办理方法:我们可以设置对外要求白名单即可办理ping失落效问题,代码如下:(以百度ping为例)
define('WP_ACCESSIBLE_HOSTS', 'ping.baidu.com');//仅许可 WordPress 向ping.baidu.com发送要求
这里明月要特殊强调的是,如果你的博客本身已经集成了类似“微博同步”、“新浪博客同步发布博文”、“微信机器人”等等一些功能的请一定要慎重利用这个“禁止WordPress程序发出对外要求”,一旦利用了,所有这些都会失落效的,明月目前没有利用这个的,特此强调一下哈!
至此,通过 WordPress 的wp-config.php配置优化和减少数据库查询次数也就这些了,配置完后大家 可以用本文开头分享的代码在源代码里查看和比拟一下是不是数据库查询次数和内存利用量有所改进。大家一定要根据自己的主机配置和 WordPress 配置灵巧的设定上述这些开关哦,还有最主要的一点,所有对wp-config.php的操作须要在纯文本编辑器里完成,完成后保存时一定要设定此文档的编码为UTF8,要不上传覆盖后会造成 WordPress “500缺点”的,还有便是要养成提前备份好wp-config.php文档的习气,否则后果自大了!