加速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);
}
?>
关于 »
  • 加速blog:序 这是一个介绍如何提速blog的系列文章,特别是基于WordPress的blog。通过这些方法,你我完全能做到一个飞速的blog,至少要比与你同服务器上的其它blog要...
  • 加速blog:服务器端的中转和缓存 前面已经提到了浏览器端的缓存,通过适当的Header可以建议和命令浏览器缓存页面内容比如javascript, css, 图片等。这里的服务器端的缓存又是什么意思...
  • 加速blog:HTTP Header 本文隶属加速blog系列 HTTP请求和相应Header 一个经典的HTTP连接是,读者通过浏览器(下称为浏览器端),向服务器(下称为服务器端)申请浏览某网页...
  • 加速blog:监测和优化WordPress数据库 在WordPress生成页面时,最消耗时间的便是数据库查询了。 监测WordPress的数据库查询 WordPress内置了数据库缓存系统,安装插件WordPress Cache Inspect,它会...
  • 加速blog:速度检测 本文隶属加速blog系列 既然我们要谈加速blog,第一重要的是给blog的速度一个量化的评价。 Firefox的fasterfox插件会在Firefox的右下角给出每个网页的载...
  • 加速blog:优化WordPress程序效率 这里本质上要谈的还是优化数据库的效率,不过是改写WordPress的代码使得降低数据库查询次数。 get_permalink函数 get_permalink函数非常好用,get_permalink($i...
  • 加速blog:选择合适的服务器 要想打造一个响应快速的blog,一个快速的服务器(虚拟主机空间)是必不可少的。其实这才是决定因素,因为这可能会导致速度在数量级上的差距(我...
  • 加速blog:设置浏览器缓存 在用户浏览blog的不同页面时,很多内容是重复的,比如相同的javascript,css,背景图片等。如果我们能够建议甚至强制浏览器在本地缓存这些文件,将...
  • 加速blog:分析页面内容 用FTP更新WordPress的可能有体会,如果是打包上传的话,速度很快,但如果解压后一个文件一个文件上传的话,可能就要好几分钟。 下载也是如此,不...
  • 加速blog:处理页面图片 作为文章的或者功能性的或者美学意义上的需求,现在blog越来越丰富多彩,图片也越来越多。 选择合适的图片尺寸 现在数码相机越来越好,动辄800...
7条留言 -> 跳到留言表格
  • At 2008.01.07 10:03, cosbeta said:

    更有甚者,直接将prototype嵌入自己的插件中,无语

    • At 2008.04.11 11:51, MO said:

      这是个好主意...研究一下,整整我那个Highslide,嘻嘻

      • At 2008.04.20 17:38, Charles said:

        请问你显示代码使用什么插件啊?效果确实不错,能显示C#代码吗?

        • At 2008.04.20 20:53, zhiqiang said:

          这个不是WordPress的插件实现的。我通过windows live writer写文章,它有一个非常好的syntex highlight插件。支持10多种语言,包括C#。

        • At 2008.05.13 11:02, 酋长 said:

          博主,如果不使用WLW,能不能实现?
          CoolCode虽然好但确实影响速度。。

        • At 2008.12.24 05:15, 观察博客运行速度与网速优化 said:

          [...] 使用object缓存你的wordpress 减少插件和优化插件(威客堂上有一系列的优化文章,很值得一看) [...]

          (Required)
          (Required, not published)

            B | I | U | D | 添加链接 | 插入引用 | 插入代码 | 插入表情 | | + | ?
          guest | 注册 | BBS | 管理 | English | 繁體 | https

          阅微堂

          zhiqiang's personal blog
          Loading...
          Loading...
          Loading...