喜欢折腾 WordPress 的朋友肯定会发现在 WordPress 的头部会载入一大堆的代码、 js 和 css 文件,这样会严重影响网站的载入速度,而且在这些载入的代码中还泄露了当前使用的 WordPress 的版本号,平时暴露了版本号号肯定没什么,但是当 WordPress 爆出 0day 的时候,黑客就可以通过 WordPress 头部暴露的版本号来快速的确认当前 WordPress 的版本从而进行攻击,所以移除 WordPress 的头部多余信息是非常重要的。那么如何来移除呢?很多朋友肯定直接打开 header.php 来除去这些多余代码,但是却找不到这些代码。那么这些代码到底在哪里呢?其实这些代码都是通过 wp_head() 这个钩子挂载进来了,如果直接去除掉这个钩子的会造成很多插件无法正常使用,所以我们要去除这些多余代码只能通过在 functions.php 文件中添加一些代码来禁止 wp_head() 钩子中载入我们所不需要的代码了。

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'));
}

以上大部分代码的作用都用注释标注出来了,需要保留那些,你们可以根据自己的要求来注释掉,好了,至此 WordPress 头部的瘦身减肥就完成了,网站速度是不是快了很多呢?