加速blog:减少和优化插件
尽量少用含javascript和css的插件
很多插件作者需要为blog的慢速度负责。插件作者随意地往'wp_head'里安插js和css,导致很多blog的head部分越来越臃肿。
所以,当你安装一个往你的blog上安插文件的插件时,先考虑一下是否真的需要它。往往我们有别的代替者。举个例子,为了显示格式化的程序代码,就一定需要安装cool code插件么?在这个系列中,我也会展示一些代码,但我不用cool code,一样有很好的效果。
确实想用含带javascipt和css的插件怎么办?
为了实现某些功能,插件必须要引入js和css文件。比如wp-polls,一个实现在blog上ajax投票和查看结果的插件。它肯定要用到javascript文件,这我们就无能为力了么?事实上不然,投票只会产生在特定的页面,也只有在这些页面,这些javascipt才是需要的。而wp-polls确实在每个页面上都引用了一遍,先看一看它是怎么在你的blog上插入javascript文件的:
<?php add_action('wp_head', 'poll_header'); function poll_header() { wp_register_script('wp-polls', '/wp-content/plugins/polls/polls-js.php', false, '2.20'); wp_print_scripts(array('sack', 'wp-polls')); echo '<link rel="stylesheet" href="'.get_option('siteurl').'/wp-content/plugins/polls/polls-css.css" type="text/css" media="screen" />'."\n"; // more here, omited } ?>
这段代码向你的blog的每个页面的header区域插入了三个文件,两个js文件/wp-includes/js/tw-sack.js,/wp-content/plugins/polls/polls-js.php和一个css文件/wp-content/plugins/polls/polls-css.css。为了让插件正常工作,这3个文件也不能少。但上面已经提到了,只有在页面上有投票项目的时候,这些才是需要的。所以改成下面,只有当页面有投票时,才会包含那3个文件。
<?php // delete add_action('wp_head', 'poll_header'); add the two lines below: $poll_js_loaded = false; // global variable to track if the script file have been loaded // change definition of function display_poll as below: function display_poll($poll_id){ global $poll_js_loaded; if (!$poll_js_loaded) poll_header(); $poll_js_loaded = true; return get_poll($poll_id, false); } ?>
更有甚者,直接将prototype嵌入自己的插件中,无语
这是个好主意...研究一下,整整我那个Highslide,嘻嘻
请问你显示代码使用什么插件啊?效果确实不错,能显示C#代码吗?
这个不是WordPress的插件实现的。我通过windows live writer写文章,它有一个非常好的syntex highlight插件。支持10多种语言,包括C#。
博主,如果不使用WLW,能不能实现?
CoolCode虽然好但确实影响速度。。
还有种方法,静态化你的blog,这样就不用太担心插件影响blog速度了。