喜歡折騰 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 頭部的瘦身減肥就完成了,網站速度是不是快了很多呢?