提醒:本文最后更新于 2794 天前,文中所描述的信息可能已发生改变,请仔细核实。
首先是对wp_options表优化,使原本wp_options体积极速缩小(正常新装的WordPress中wp_options起码有120项是自身的)。我在做之前是400+项,我的 db.sql.gz备份大小是436kb,优化后,剩余168项,db.sql.gz的备份大小是:320kb,当然啦,db.sql.gz是存在其他表 的。能缩小100kb,也算是个不小的进步啦。 详细见:《优化清理WordPress数据库wp_options表》。
其次是修改wp-config.php,请看下面,已注上注释:
//定义wp站点,减少sql查询
define('WP_HOME', 'https://kn007.net');
define('WP_SITEURL', 'https://kn007.net');
/* -------- END ------- */
define('AUTOSAVE_INTERVAL', 120);//120秒保存一次
define('WP_POST_REVISIONS', 5);//保留5个最近修改
define('EMPTY_TRASH_DAYS', 7 );//7天后自动清空回收站
define('WP_HOME', 'https://kn007.net');
define('WP_SITEURL', 'https://kn007.net');
/* -------- END ------- */
define('AUTOSAVE_INTERVAL', 120);//120秒保存一次
define('WP_POST_REVISIONS', 5);//保留5个最近修改
define('EMPTY_TRASH_DAYS', 7 );//7天后自动清空回收站
接着是functions.php加入了两个函数:
//使WordPress在发表文章时,不去除空格。感谢TinyMCE Entities Patch的作者stringfold,下面的代码是从这个插件中提取出来的。
add_filter('tiny_mce_before_init', 'preserve_nbsp_chars');
function preserve_nbsp_chars($initArray) {
$initArray['entities'] = '160,nbsp,'.$initArray['entities'];
return $initArray;
}
//wp图片添加alt搜集属性
add_filter( 'the_content', 'image_alt');
function image_alt($c) {global $post;$title = $post->post_title;$s = array('/src="(.+?.(jpg|bmp|png|jepg|gif))"/i'=> 'src="$1" alt="'.$title.'"');
foreach($s as$p => $r){$c = preg_replace($p,$r,$c);}return$c;}
add_filter('tiny_mce_before_init', 'preserve_nbsp_chars');
function preserve_nbsp_chars($initArray) {
$initArray['entities'] = '160,nbsp,'.$initArray['entities'];
return $initArray;
}
//wp图片添加alt搜集属性
add_filter( 'the_content', 'image_alt');
function image_alt($c) {global $post;$title = $post->post_title;$s = array('/src="(.+?.(jpg|bmp|png|jepg|gif))"/i'=> 'src="$1" alt="'.$title.'"');
foreach($s as$p => $r){$c = preg_replace($p,$r,$c);}return$c;}
还有就是对functions.php的一些内置插件函数,如highslide,使它们在必要时加载,很简单,只是加了个判断:if(is_single()) ,让他们只在文章内响应请求。
大体就是这样,插件按需加载,正在想办法。。。WordPress就不能智能点嘛。。。
转载请注明转自:kn007的个人博客的《最近搞的几个wp优化摘要》
真是折腾无限啊
我的cPanel面板都n久木有登陆了,密码都不记得啦 碉堡啦
@唯一视听: 额,你果然碉堡了
很有用,在这儿先谢谢了~o(≧v≦)o~~好棒
@诸葛小觉: 多谢多谢
我是来学习的。。
@烂番茄网: 学习是好。。。但是要仔细看帖。
//仅允许百度PING
define('WP_ACCESSIBLE_HOSTS', 'ping.baidu.com');
//设置地址而不是服务器检查,这将减少服务器查询
define('WP_HOME', 'http://blog.ymanz.com');
define('WP_SITEURL', 'http://blog.ymanz.com');
//禁用Post-Revisioning
define('WP_POST_REVISIONS', false);
这是我今天才发现的用上的,最后一行感觉还是你的比较合理些,我换了去!
@明月登楼的博客: 我需要对外ping很多,所以没必要block后做access。
其他还行,看需求。
有帮助就行。