WordPress 优化
1、Header.php 精简
很多插件都是需要加载 js 和 css 的,而且默认就直接放到了 <?php wp_head(); ?> 函数里,这样做只是为了适合大众的主题,在个性化打造、精简自己的 WordPress 主题时,完全可以把主题目录里的 header.php 中的 <?php wp_head(); ?> 删除,而采用自己添加 js 和 css 。
(PS:删除 header.php 以后 All in One SEO 插件的 <meta> 关键词和描述工呢个将失去作用,可以自行 SEO)
由于 HTML 语言和大多数语言一样,采用的是自上而下的顺序,假如头部的 js 太大,那么访问者一开始就会花上几秒甚至十几秒钟的时间来载入你的 js 档,同样适用 css 。那么,怎么精简呢?
1).别去用花哨功能的插件
比如上文提到的 Lightbox 2,启动这个插件,默认就会加载四个 js ,分别是
/wp-includes/js/prototype.js(121KB)/wp-includes/js/scriptaculous/wp-scriptaculous.js(2.6KB)/wp-includes/js/scriptaculous/effects.js(38.1KB)/wp-content/plugins/lightbox-
2/lightbox.js(20.8KB)就为了这个华丽花哨的图片效果,就要加载近 200KB 的 js 档,值得么?访客愿意花上好几秒钟先把这四个 js 载入完毕再等待正文的出现么?所以我的做法是直接把 Lightbox 2 禁用,当然,假如你非得使用,那么,请把上述四个 js 檔放到 footer.php ,别忘了还有一个 css ,下文会提及。
2).把 js 放在 footer.php 而不是 header.php
除了必要的几个需要加载在头部的档(比如 css ),其余的实际上都可以放在底部,这样不但美观,而且 js 放在底部是不会影响整个网站的,在整个网页加载完毕以后照样完整显示效果,当然,这里必须注意次序问题,有些 js 的次序千万别颠倒,否则就没法使用
3).使用 Google Code 储存你的js
你的服务器带宽再怎么好,总比不上 Google 吧?所以,个人用户推荐把一些 js 文件直接放在 http://code.google.com/ 当中,比如,你很想使用 Lightbox 2,那么我已经帮你上传好这四个 js ,只要在 footer.php 的 </body> 前插入
<script type='text/javascript' src='http://showfom.googlecode.com/files/prototype.js?ver=1.6'></script>
<script type='text/javascript' src='http://showfom.googlecode.com/files/wp-scriptaculous.js?ver=1.8.0'></script>
<script type='text/javascript' src='http://showfom.googlecode.com/files/effects.js?ver=1.8.0'></script>
<script type='text/javascript' src='http://showfom.googlecode.com/files/lightbox.js?ver=1.8'></script>然后加载一个 css 效果,比如
<link rel="stylesheet" href="/wp-content/plugins/lightbox-2/Themes/Dark Grey/lightbox.css" media="screen" />然后启动 Lightbox 2 插件,记得把 header.php 里的 <?
php wp_head(); ?> 删除
4).合并你的 js 和 css
合并 css 很简单,你可以通过查看源代码,把一些 .css 结尾的文件内容全部复制到主题目录的 style.css ,当然还有一些直接输出 css 的插件,比如 WordPress Thread Comments ,把直接输出的 css 也一起复制到 style.css 中,尽量保持整个页面只加载一个 css ,不但提高了效率,而且还可以一起压缩 css ,何乐而不为?
合并 js 就有点麻烦 建立一个新的 all.js.php 档,内容是:
<?php
require_once('目录/wp-blog-header.php' ) ;
include ("/a.js" ) ;
include ("/b.js" ) ;
?>就是将 header.php 里面的那些 js 文件都 include 到 all.js.php ,然后在 header 里面包含 all.js.php 檔即可:
<script xsrc="/all.js.php" />5.使用 gzip 进一步压缩
这个就不做多少介绍,Nginx 默认配置就开通了 gzip ,假如是 Apache 的主机,可以通过修改 .htaccess 或 使用 Hyper Cache、WP Super Cache 等插件辅助使用 gzip 功能
当然,还可以直接通过精简代码压缩 css 和 js ,做到最大化精简.
2、Footer.php 的精简
和头部一样,通常大多数主题会在 footer.php 增加一个 <?php wp_footer(); ?> 以适应各种插件,比如 WordPress.com Stat 插件就是把统计代码直接加在 <?php wp_footer(); ?> 里。
但是这么做就会增加一次数据库查询,所以,我的做法就是直接删除 <?php wp_footer(); ?> 。
而且还可以参考上面的方法,把一些没必要开头就加载的 js 文件放在头部,放到 footer.php 是个很好的选择,而且,尽量把 footer.php 里没用的代码全部删除,当然不包括主题作者遗留的信息,
尊重版权就必须以超链接形式完整保留作者的网站。
3、HTML 代码的精简
在 Hyper Cache 插件里有一个 Optimize HTML 功能,能清空源代码中不需要的空格,谨慎使用,假如你和本站一样使用<pre></pre>代码标签,那么就别用了。
相关日志
WordPress中文标签tag无法显示的解决办法WordPress错误Fatal error: Maximum execution time of 30 seconds exceeded in
godaddy的windows主机运行WordPress报500错误:500 - Internal server error
wordpress清爽素雅主题
如何处理WordPress文章修订版本
随机文章
2011 年1月godaddy优惠码(持续更新中)wordpress清爽素雅主题
Google AdSense网站验证功能
地名人名的翻译问题
Godaddy域名注册续费转移优惠码汇总
Discuz7.2风格模板精仿discuz6经典蓝色
Godaddy的Deluxe - Windows主机续费成功
多文件上传支持IE和Firefox
$1.99成功注册一个yahoo域名
使用curl_init报错Fatal error: Call to undefined function curl_init