牛牛逼逼叉叉
菜单

wordpress程序加速优化集合

2016年06月28日,分类《wordpress》,作者:
博客捐助

第一步:wordpress数据库优化

大家都知道wordpress是php+mysql环境下的建站程序,那么在大数据的情况下程序运行的瓶颈就是数据查询。那么为了减小数据库的大小,最有效的方法就是删除冗余数据以及禁止wordpress自动保存文章草稿、文章修订等无用数据。仅需在当前wordpress主题的functions.php文件中加上以下代码即可禁用wordpress的自动保存功能。

//禁止wptexturize函数
remove_filter('the_content', 'wptexturize');
remove_action('pre_post_update', 'wp_save_post_revision' );
add_action( 'wp_print_scripts', 'disable_autosave' );
function disable_autosave() {
    wp_deregister_script('autosave');
}
当然还有一种方法,是修改wp-config.php文件,因为是修改系统文件所以推荐使用这种方法,但是代码还是贴出来一下。
define('AUTOSAVE_INTERVAL', 120 ); // 设置自动保存间隔,单位是秒,默认60 
define('WP_POST_REVISIONS', false ); // 禁用文章修订功能 
define('WP_POST_REVISIONS', 3); //

当然禁用了自动保存和修订版本后,wordpress还是会产生一定的冗余数据

wordpress数据库一键优化脚本,代码如下:

<?php
//wordpress数据库优化脚本 by v7v3.com
$hostname_blog = "localhost";//设定数据库主机,同wp-config.php
$database_blog = "wordpress";//设定数据库名,同wp-config.php
$username_blog = "root";//设定数据库用户名,同wp-config.php
$password_blog = "";//设定数据库密码,同wp-config.php
$blog = mysql_pconnect($hostname_blog, $username_blog, $password_blog) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_blog, $blog);
mysql_query('DELETE FROM wp_posts WHERE post_type = "revision"');
mysql_query('DELETE FROM wp_postmeta WHERE meta_key = "_edit_lock"');
mysql_query('DELETE FROM wp_postmeta WHERE meta_key = "_edit_last"');
mysql_query('DELETE FROM wp_commentmeta WHERE meta_key LIKE "%trash%"');
mysql_query('DELETE FROM wp_comments WHERE comment_approved = "trash"');
mysql_query('DELETE FROM wp_options WHERE option_name REGEXP "_transient_"');
mysql_query('DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_attached_file’');
mysql_query('DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_attachment_metadata’');
mysql_query("delete from wp_posts
where (post_status='auto-draft' or post_status='inherit')
and post_type='post'");
$tablelist = mysql_query("SHOW TABLES");
while($checklist = mysql_fetch_array($tablelist)) {
       $optimization=mysql_query("OPTIMIZE TABLE `$checklist[0]`");
}echo 'Done';
//ps记得修改数据库前缀~
//使用时将脚本上传至网站任意目录后并且通过浏览器访问即可一键优化wordprsss数据库。

将以上代码复制到记事本中然后保存为db_best.php文件,修改好相应数据库信息后上传至网站然后使用浏览器直接访问该脚本即可一键优化数据库,不 过由于一次性执行多个sql查询,所以该脚本访问时响应速度可能会比较长,优化成功后会显示Done。(PS:优化前记得备份数据库以防万一。)

第二步:wordpress前端优化。

1、CDN加速:

其实呢网站加载速度的最终瓶颈在于前端资源,那么做好前端优化网站的速度一定有大幅度的提升。

使用cdn加速静态文件后可以使网站的速度得到大幅度的提升。

2、去除冗余的html代码

做完了以上步骤,我们可以进一步的优化wordpress的前端代码达到深度优化的目的。大多数爱折腾 的童鞋一定会发现wordpress的头部通常会载入很多无关紧要的代码,但是这些代码在wordpress的头部文件中却找不到。其实呢这些代码都是通 过wp_head()这个函数加载进来的,那么怎么来删除这些代码呢?在functions.php文件中加入以下代码即可,代码如下:

remove_action( 'wp_head', 'wp_enqueue_scripts', 1 ); //Javascript的调用
remove_action( 'wp_head', 'feed_links', 2 ); //移除feed
remove_action( 'wp_head', 'feed_links_extra', 3 ); //移除feed
remove_action( 'wp_head', 'rsd_link' ); //移除离线编辑器开放接口
remove_action( 'wp_head', 'wlwmanifest_link' );  //移除离线编辑器开放接口
remove_action( 'wp_head', 'index_rel_link' );//去除本页唯一链接信息
remove_action('wp_head', 'parent_post_rel_link', 10, 0 );//清除前后文信息
remove_action('wp_head', 'start_post_rel_link', 10, 0 );//清除前后文信息
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
remove_action( 'wp_head', 'locale_stylesheet' );
remove_action('publish_future_post','check_and_publish_future_post',10, 1 );
remove_action( 'wp_head', 'noindex', 1 );
remove_action( 'wp_head', 'wp_print_styles', 8 );//载入css
remove_action( 'wp_head', 'wp_print_head_scripts', 9 );
remove_action( 'wp_head', 'wp_generator' ); //移除WordPress版本
remove_action( 'wp_head', 'rel_canonical' );
remove_action( 'wp_footer', 'wp_print_footer_scripts' );
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
remove_action( 'template_redirect', 'wp_shortlink_header', 11, 0 );
add_action('widgets_init', 'my_remove_recent_comments_style');
function my_remove_recent_comments_style() {
global $wp_widget_factory;
remove_action('wp_head', array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'] ,'recent_comments_style'));
}

最后再压缩下前端代码删除HTML上的不必要的空格、制表符、回车和新行等来进行最后的扫尾优化,当然直接在主题里剔除这些工作量太大,而且也降低了主题代码的可读性,以后也不便修改主题。

介绍一个wordpress的加速优化插件WP-HTML-Compression。大家都知道的网站的速度不仅仅是服务器问题,影响网站速度的因素还有 图片、JS、CSS等文件的加载,另外还有HTML上的不必要的空格、制表符、回车和新行等,也会影响网站速度。而WP-HTML- Compression这款插件的作用就是删除掉HTML 文件删除所有标准的评论和和白色空间,包括不必要的空格、制表符、回车和新行等,压缩你的 HTML 文件大小。如果有些主题上的部分代码你怕压缩删除后会出问题的话我们可以用以下代码来让插件不压缩此段代码。

<!--wp-html-compression no compression-->
请不要压缩这段文字哦
<!--wp-html-compression no compression-->

用<!–wp-html-compression no compression–>来包括住要压缩的内容就行了。说起来WP-HTML-Compression也是三无产品呢!呵呵,不过不是你们想想 中的那种三无,而是无选项无设置无调整,三无…只需启用,然后看效果。



发表评论

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

【上一篇】

使用wordpress自带ajax方法

【下一篇】

使用 OpCache 提升 PHP 性能