我的wordpress主题优化三之疯狂加速

这是我的wordpress主题优化教程的第三章。这一章主要讲一些如何使wordpress主题载入速度达到最快,部分观点适合有速度强迫症的人采纳。

从使用wordpress第一天开始,我就有个感觉:慢!后台慢,主题也慢,发个文章还是慢。不过我还是用了,当时大概只是想跟风。后来觉得wordpress其实挺不错的,不想再换成其他的了,于是就得考虑如何提高它的速度了。

wordpress基本加速一句话要点:

1,主题代码简洁,DOM结构规范

2,少用大图片,零星小图用CSS Sprites技术整合

3,大图片使用lazyload.js之类进行异步载入

4,不要使用JS对HTML进行渲染(否则巨卡)

5,对Gravatar头像图片进行本地缓存.方法

6,使用Wp-Super-Cache之类的缓存插件实现全站缓存(视文章多少而定)

7,尽量将主题元素静态化(方法见后)

wordpress主题中可静态化处理的地方(内容大部分引自这里):

  • 所有固定链接.比如导航条,页面链接,关于链接,留言板链接,这些都基本处于稳定状态,可以用固定的链接地址替换之
  • <?php language_attributes(); ?>该函数位于 header.php文件,这个函数是用于生成当前博客所使用的语言的,比如“lang=’zh-CN’”,用来告诉浏览器当前页面是基于中文的,意义不 大,所以为了速度删除它吧;
  • <?php bloginfo(’html_type’); ?> 该函数位于 header.php文件,可使用text/html替换;
  • <?php bloginfo(’charset’); ?> 该函数位于header.php 文件,是用来指定页面编码的,因为WordPress正常情况下使用的是UTF-8编码,所以这里可以使用UTF-8替换;
  • <?php bloginfo(’name’); ?> 该函数是用来生成博客标题的,可以说可 能遍布全主题,所以如果你明确你博客的标题而且不经常修改或是修改不怕麻烦的话,可使用固定的名称来替换这个函数;
  • <?php bloginfo(’description’); ?> 如果上一个博客标题的函 数一样,这个是用来生成显示博客副标题的,也可以使用静态的文字来替换,当然如果不需要的话也可以删除;
  • <meta name=”generator” content=”WordPress <?php bloginfo(’version’); ?>” /> <!– leave this for stats –> 该函数位于header.php文件(很多主题也没有这个函数), 记得去年,WordPress有一版除了漏洞,很多WordPress博客被黑了,原因就是很多人在自己的博客上暴露了当前使用的WordPress版 本。详细可以查看这里
  • <?php bloginfo(’stylesheet_url’); ?> 该函数位于 header.php文件,是用来描写主题样式表位置的,如果你知道主题样式的绝对地址的话,也可以使用绝对地址来替换,如果不知道绝对地址的话,请不要 改动这里;
  • <?php bloginfo(’rss2_url’); ?> 该函数位于一般会出现在 header.php、sidebar.php、footer.php三个文件里,是WordPress自带的RSS解释地址函数。出现在 header.php文件是用来给像Firefox这类的能在地址栏里检测是否有RSS输出显示图标的,但是现在的阅读器一般支持直接输入博客地址自动获 取RSS地址,以及很多博客都会通过第三方烧录RSS地址,所以这个函数也是可以删除的。但如果是你指定这个函数到订阅图标的,那就另当别论了;
  • <?php bloginfo(’pingback_url’); ?> 该函数位于 header.php文件,是用来生成pingback地址的,可以删除;
  • <?php bloginfo(’stylesheet_directory’); ?> 该函 数是用来生成样式文件所在的文件夹目录地址,一般出现在样式中,比如引用背景图片时的地址,这个函数也可以使用绝对地址来替换,当然前提是你知道绝对地 址;
  • <?php bloginfo(’comments_rss2_url’); ?> 该函数位一般出现在sidebar.php、footer.php两个文件里,是解释生成评论RSS地址的,如果不提供评 论的RSS订阅,那就可以删除这个函数;
  • 如果你在主题中使用了Widgets,并且你准备一直都使用Widgets而不使用主题自带的侧边栏内容的话,你可以在sidebar.php中 寻找位于 if ( !function_exists(’dynamic_sidebar’) || !dynamic_sidebar() ) : ?><?php endif; ?> 之间的代码,这些代码明显没什么价值了,可删除。

5 评论

发表评论

电子邮件地址不会被公开。