wordpress程序速度优化TIPS

wordpress程序因为大量应用PHP程序码的查询,于是在头文件header.php和页脚文件footer.php等里面作若干次查询,于是大量的动量加载,当然速度上面就相应拖慢了,当然也也是wordpress的生命,开源并自定义主题,你可以发挥想象作出你想要的效果,当然这一切要基于你对程序的熟悉,对代码这些要有相当了解。博客程序加载较慢,因素很多,比如选择的空间反应延迟,程序优化的不够,等等。
于是除了空间选择外,对程序本身的优化也相当重要,下面就例举一些方法,大家可以举一反三,声明,本身我自己对程序也是不很熟悉,但是基本的东西还是了解的。采取的方法有主题本身优化,CDN程序映像下载等手段。
首先空间假如延时严重,可以采用修改wordpress根目录下wp-config.php文件达到,比如前面我博客经常打开到一半左右出现“Fatal error: Maximum execution time of 30 seconds exceeded in……”这样的提示,于是可以这样:

在wp-config.php里面添加以下代码:
ini_set(‘max_execution_time’,’300′);
或者:
在程序最开头加set_time_limit语句,
< ?php set_time_limit(1000);  //单位秒 //以下是其他代码 ?>

再者对主题的优化:
我们可以适当的优化我们的主题,删除不必要的标签,静态化一些动态调用,不管收费主题还是免费主题,针对到每个人都肯定有需要修改的地方.
wordpress基本加速要点:
1.主题代码简洁,DOM结构规范;
2.少用大图片,零星小图用CSS Sprites技术整合;
3.大图片使用lazyload.js之类进行异步载入;
4.不要使用JS对HTML进行渲染(否则巨卡);
5.对Gravatar头像图片进行本地缓存.方法;
6.使用Wp-Super-Cache之类的缓存插件实现全站缓存(视文章多少而定);
7.尽量将主题元素静态化。
所有固定链接,比如导航条、页面链接、关于链接、留言板链接,这些都基本处于稳定状态,可以用固定的链接地址替换,wordpress主题中可静态化处理的地方见下所举例:
1、< ?php language_attributes(); ?>,该函数位于 header.php文件,这个函数是用于生成当前博客所使用的语言的,比如“lang=’zh-CN’”,用来告诉浏览器当前页面是基于中文的,意义不 大,所以为了速度删除它吧;
2、<?php bloginfo(’html_type’); ?> 该函数位于 header.php文件,可使用text/html替换;
3、<?php bloginfo(’charset’); ?> 该函数位于header.php 文件,是用来指定页面编码的,因为WordPress正常情况下使用的是UTF-8编码,所以这里可以使用UTF-8替换;
4、<?php bloginfo(’name’); ?> 该函数是用来生成博客标题的,可以说可 能遍布全主题,所以如果你明确你博客的标题而且不经常修改或是修改不怕麻烦的话,可使用固定的名称来替换这个函数;
5、<?php bloginfo(’description’); ?> 如果上一个博客标题的函 数一样,这个是用来生成显示博客副标题的,也可以使用静态的文字来替换,当然如果不需要的话也可以删除;
6、<meta name=”generator” content=”WordPress <?php bloginfo(’version’); ?>” /> <!– leave this for stats –> 该函数位于header.php文件(很多主题也没有这个函数), 记得去年,WordPress有一版除了漏洞,很多WordPress博客被黑了,原因就是很多人在自己的博客上暴露了当前使用的WordPress版 本。
7、<?php bloginfo(’stylesheet_url’); ?> 该函数位于 header.php文件,是用来描写主题样式表位置的,如果你知道主题样式的绝对地址的话,也可以使用绝对地址来替换,如果不知道绝对地址的话,请不要 改动这里;
8、<?php bloginfo(’rss2_url’); ?> 该函数位于一般会出现在 header.php、sidebar.php、footer.php三个文件里,是WordPress自带的RSS解释地址函数。出现在 header.php文件是用来给像Firefox这类的能在地址栏里检测是否有RSS输出显示图标的,但是现在的阅读器一般支持直接输入博客地址自动获 取RSS地址,以及很多博客都会通过第三方烧录RSS地址,所以这个函数也是可以删除的。但如果是你指定这个函数到订阅图标的,那就另当别论了;
9、<?php bloginfo(’pingback_url’); ?> 该函数位于 header.php文件,是用来生成pingback地址的,可以删除;
10、<?php bloginfo(’stylesheet_directory’); ?> 该函 数是用来生成样式文件所在的文件夹目录地址,一般出现在样式中,比如引用背景图片时的地址,这个函数也可以使用绝对地址来替换,当然前提是你知道绝对地 址;
11、<?php bloginfo(’comments_rss2_url’); ?> 该函数位一般出现在sidebar.php、footer.php两个文件里,是解释生成评论RSS地址的,如果不提供评 论的RSS订阅,那就可以删除这个函数;
12、如果你在主题中使用了Widgets,并且你准备一直都使用Widgets而不使用主题自带的侧边栏内容的话,你可以在sidebar.php中 寻找位于 if ( !function_exists(’dynamic_sidebar’) || !dynamic_sidebar() ) : ?>和<?php endif; ?> 之间的代码,这些代码明显没什么价值了,可删除。
13、自定义主题图片大小:
图片是WordPress主题的重要组成部分,但开发者们有时会忘了对主题图片进行优化。主题图片包括CSS背景图,模板logo,默认储存图片、图标等。优化图片可以节省带宽,提高页面响应时间。
很多朋友有用到站点小图标即自定义favicon显示,调用时给出绝对地址是一种方法。
自定义favicon,当你的主题没有自带favicon图标显示时,可以给自己的博客设计一个favicon。
简单地说,只要在主题的header.php里加入下面代码:<link rel=”icon” href=”favicon.ico” type=”image/x-icon” />
14、使用PHP的flush函数
在header后调用PHP flush函数,可以加速WordPress博客。在header.php文件的结束标签前,加上以下的代码行:
<?php flush(); ?>
可能hearder.php文件里面没有看到</html>的结束标记,那就将其加在代码最后一行就可以了。
这行代码强制web服务器在传输网页内容前先输出header内容,这样浏览器就有充足的时间加载网页的其他部分。
15、删除代码中显示WordPress版本号部分,首先,打开header.php文件,查找并删除以下内容:
<meta name=”generator” content=”WordPress <?php bloginfo(’version’); ?>” />
然后为了保证版本号不通过wp_head()显示,需要在functions.php文件里加上下面的代码:
<?php remove_action(‘wp_head’, ‘wp_generator’); ?>
16、隐藏登录错误提示
另一种保护主题安全的方法就是隐藏登录错误提示,不让某些人恶意尝试成功,更好保护站点。
可以在functions.php里加上下面的代码:
add_filter(‘login_errors’, create_function(‘$a’, “return null;”));
这个过滤器函数会删除WordPress错误提示,如果登录尝试出错,WordPress将不给出任何提示。
最后采用一些技术插件进行 缓存,比如W3 Total Cache、php_speed、Scripts Gzip,另外加上第三方镜像服务CDN技术,CDN全称Content Delivery Networks,即内容分发网络。其原理很简单,即用户访问时内容不是从原始服务器上获得的,而是从CDN智能解析的服务器上获取的,内容是缓存到CDN服务器上的。通常CDN服务商会有多个机房,而智能解析总是到访问最快的机房,所以通过CDN能显著地加快访问速度。另外还有一个好处是CDN加速可以减轻服务器的流量压力。
昨天注册了https://www.cloudflare.com 一个用户,将GD的DNS换过来后,弄了半天仍然没法镜像,这个以前没搞过,还是没有成功,是配套W3 Total Cache安装后注册的,最后统统卸载掉,有哪位用成功的可以分享下经验。
最后的总结是,插件这些只是手段、方法,治本的是空间本身要给力啊,所以选择一个好的空间商至关重要。

reeoo.com - web design inspiration

2条评论

  1. 痔疮药说道:

    一般使用国外空间WP后台操作都比较慢 这些速度优化的方法还是很有用的

    • 晓伍说道:

      @痔疮药:是呀,优化是必须的,无论国内国外,国外主机更得注意喽

发表评论

电子邮件地址不会被公开。 必填项已用*标注